Вычисление конечной суммы факториального ряда для массива значений
Оглавление
Работа
в Pascal
Теория
рядов
Постановка
задачи
Условные
обозначения принятые в программе
Исходный
текст программы
Результаты
выполнения программы
Список
литературы
Работа в Pascal
Язык назван в честь выдающегося французского
математика, физика, литератора и философа Блеза Паскаля, который создал первую
в мире механическую машину, складывающую два числа.
Язык Паскаль был создан Никлаусом Виртом в
1968-1969 годах после его участия в работе комитета разработки стандарта языка
Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный
язык, чтобы способствовать хорошему стилю программирования, использовать
структурное программирование и структурированные данные.
Особенностями языка являются строгая типизация и
наличие средств структурного (процедурного) программирования. Паскаль был одним
из первых таких языков. По мнению Н. Вирта, язык должен способствовать
дисциплинированию программирования, поэтому, наряду со строгой типизацией, в
Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам
синтаксис автор постарался сделать интуитивно понятным даже при первом
знакомстве с языком.
Тем не менее, первоначально язык имел ряд
ограничений: невозможность передачи функциям массивов переменной длины,
отсутствие нормальных средств работы с динамической памятью, ограниченная
библиотека ввода-вывода, отсутствие средств для подключения функций написанных
на других языках, отсутствие средств раздельной компиляции и т. п. Подробный
разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом
в статье «Почему Паскаль не является моим любимым языком программирования» (эта
статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок
Паскаля, избавленный от большинства его пороков, а также более развитые
диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте
1982 года, в частности, в языке появились открытые массивы, давшие возможность
использовать одни и те же процедуры для обработки одномерных массивов различных
размеров.
Необходимо заметить, что многие недостатки языка
не проявляются или даже становятся достоинствами при обучении программированию.
Кроме того, по сравнению с основным языком программирования в академической
среде 1970-х (которым был Фортран, обладавший гораздо более существенными
недостатками), Паскаль представлял собой значительный шаг вперёд. В начале
1980-х годов в СССР для обучения школьников основам информатики и
вычислительной техники академик А.П. Ершов разработал алголо-паскалеподобный
«учебный алгоритмический язык».
Наиболее известной реализацией Паскаля,
обеспечившей широкое распространение и развитие языка, является Turbo Pascal
фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии
5.5) и Windows и далее в Delphi, в которой были внедрены значительные
расширения языка.
Паскаль, в его первоначальном виде, представляет
собою чисто процедурный язык и включает в себя множество алголоподобных
структур и конструкций с зарезервированными словами наподобие if, then, else,
while, for, и т. д. Тем не менее, Паскаль также содержит большое количество
возможностей для структурирования информации и абстракций, которые отсутствуют
в изначальном Алголе-60, такие как определение типов, записи, указатели,
перечисления, и множества. Эти конструкции были частично унаследованы или
инспирированы от языков Симула-67, Алгол-68, созданного Никлаусом Виртом AlgolW
и предложены Хоаром.
Теория рядов
Теория рядов является важнейшей составной частью
математического анализа и находит как теоретические, так и многочисленные
практические приложения. Различают ряды числовые и функциональные.
Постановка задачи
Вычислить конечную сумму факториального ряда для
массива значений:
При
рascal ряд массив программа
Исходный текст программы
Programm Sum1;crt;n = 5;= array
[1..6] of real = (0.55, 0.833, 1.21, 1.8, 2.222, 2.45);i, j, k: integer;, a, s:
real;f (k:intejer):real;k=0 then f:=1;f:= k*f(k-1);znak (m:integer):integer;odd
(m) = true then znak: = -1znak:= 1;OCR (d: integer; x: real): real;: = znak (d)
* (exp(2*d)*ln(x) / (2*d*f(d));;;i: = 1 to 6 Do: = x1 [i];: = 0;j = 1 to n
Do(OCR ( j, x ): 6: 3 );: = S + OCR ( j, x );;( ‘ x = ’ , x: 6: 3 , ‘ s = ’ ,
s: 6: 3 );
End;;.
Результаты выполнения программы
,704
,301
,136
,960
,499 = 1,210 S = -9,789
,950
.449
.947
,396
,655= 2.222 S = -13,655
6,116
,042
,913
.448= 2,450 S = -15,448
Список литературы
1. Вирт
Н. Алгоритмы + структуры данных = программы. - М.: Мир
<http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D1%80_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)>,
1985. - С. 406.
. Вирт
Н., Йенсен К. Паскаль. Руководство для пользователя и описание языка. - М.:
Финансы и статистика <http://ru.wikipedia.org/w/index.php?title=%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D1%8B_%D0%B8_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0&action=edit&redlink=1>,
1982. - С. 151.
. <http://window.edu.ru/resource/176/47176/files/mstuca41.pdf>
. http://bookre.org/reader?file=816320