Файл: Основы программирования на языке Pascal ( Ссылочные типы в языке программирования Pascal. Создание ссылочных типов ).pdf
Добавлен: 01.04.2023
Просмотров: 96
Скачиваний: 1
– – – – –
121
122
123
124
– – – – –
211
212
213
– – – – –
100100100,
что составляет 1000000 строчек.
Пример: найти rez = f (х1) + f (х2 )+.. .+f (x6),
где
f(x) считать с точностью не менее e=0.01;
х1=0.1, затем xn=xn-l+0.2, пока х не станет равным 1.1.
Нам нужно вычислить rez. Поскольку это будет сумма, то вначале положим rez=0, затем вычислим f(х1) с нужной точностью и добавим к rez, и т.д., то есть:
Rez : = 0 ; x:=0.l;
for i:=l to 6 do
Begin Rez:=Rez+f(x);
x:=x+0.2;
end;
Теперь в данную программу нужно "вставить" вычисленные f(x) с необходимой точностью. Для этого найдем сумму, составляющую f(x) для n элементов, затем – для n+l элемента, сравним их по модулю и, когда разность между ними будет меньше Е, сумму для n+l элемента ряда примем за более точную и добавим к Rez. При вычислении f(x) количество членов ряда, которые нам придется суммировать, не известны, поэтому придется применять цикл типа repeat или while. Кроме того, в элементы ряда входит 2n! Факториал подсчитывается по схеме 1! = 1, 21 = 12; з! =123 и т.д., т.е. например, 8! = 12345678. Далее, при подсчете следующего значения ряда, можно величину 2n! найти по схеме: fak: = fak(n-l)n. Ряд у нас знакопеременный, т.е. меняется '+', '–' перед каждым членом ряда. Меняем знак с помощью схемы znak: = znak(-1). Если исходный знак = +l, то в ячейке znak будет храниться то +l, то -1.
С учетом сказанного выше f(x) с нужной точностью вычисляется:
fxpred: = 0; fxpos: =l, n: = 2; znak: = 1; fak: = 1;
while Abs(fxpos – fxpred) > = 0.01 do
Begin fxpred: = fxpos: znak: = znak(-1); fak: = fak(n-l)n;
fxpos: = fxpos+znakexp(nin (x))/fak;
n: = n+2;
end;
Соединив оба фрагмента программы и снабдив их описаниями, получим готовую программу:
Program Prim22;
Var n,fak,i,znak:longint;
rez,x,fxpred,fxpos:real;
BEGIN rez:=0; x:=0.1; writeln;
for i:= 1 to 6 do
Begin fxpred:=0; fxpos:=1; n:=2; znak:=1; fak:=1;
while abs(fxpos-fxpred)>=0.001 do
Begin znak:=znak*(-1); fak:=fak*(n-1)*n;
fxpred:=fxpos;
fxpos:=fxpos+znak*exp(n*ln(x))/fak; n:=n+2;
end; writeln('x=',x*180/pi,'(ја ¤) cos(x)=',fxpos);
x:=x+0.2; rez:=rez+fxpos; end;
writeln('rez=',rez);
readln; END.
Заключение
В курсовой работе рассмотрена тема «Создание ссылочных типов в языке программирования Паскаль». Информация по теме курсовой работы представлена в виде трех глав, которые в совокупности полностью раскрывают тему работы.
Первые две главы носят теоретический характер, раскрывают основные рассматриваемые понятия. Третья глава носит практический характер и представляет собой примеры решения конкретных задач в ЯП Pascal (текст программы, результат выполнения программы) с использованием ссылочных типов данных, выделением для их размещения памяти, а также ее освобождения при отсутствии потребности в данных переменных.
В ходе курсовой работы изучены ссылочные типы данных в ЯП Pascal и их использование при решении конкретных задач.
В ходе курсовой работы выполнены следующие задачи:
- ознакомление с ЯП Pascal;
- рассмотрение основных типов данных ЯП Pascal;
- приведены понятия «ссылочный тип данных», «указатель» в ЯП Pascal;
- рассмотрены основные процедуры и функции, используемые для создания ссылочных типов в ЯП Pascal;
- приведены примеры программ с использованием ссылочных типов данных на ЯП Pascal.
Таким образом, цели и задачи курсовой работы выполнены полностью.
Список используемых источников
- Боженова М.М., Москвина Л.А. Практическое программирование. Приемы создания программ на языке Паскаль. – М.: Высшая школа, 2017. – 367с.
- Демидов Д.В. Основы программирования в примерах на языке Паскаль. – М.: МИФИ, 2016. – 402с.
- Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач. Учебное пособие. – СПб.: Питер, 2018. – 311с.
- Культин Н. Turbo Pascal в задачах и примерах. – СПб.: БХВ-Петербург, 2016. – 256с.
- Меженный О.А. Turbo Pascal. Самоучитель. – СПб.: Вильямс, 2015. – 336с.
- Немнюгин С.А. Turbo Pascal. Учебник. – СПб.: Питер, 2017. – 496с.
- Павловская Т.А. Паскаль. Программирование на языке высокого уровня. – СПб.: Питер, 2017. – 320с.
- Попов В. Паскаль и Дельфи. Самоучитель. – СПб.: Питер, 2018. – 190с.
- Рапаков Г.Г., Ржецкая С.Ю. Программирование на языке Pascal. – СПб.: БХВ-Петербург, 2017. – 249с.
- Семакин И.Г., Шестаков А.П. Основы программирования. – М.: Высшая школа, 2018. – 293с.
- Фаронов В.В. Turbo Pascal. – СПб.: БХВ-Петербург, 2016. – 497с.
- Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – СПб.: Нолидж, 2016. – 576с.
- Фаронов В.В. Turbo Pascal 7.0. Практика программирования. Учебное пособие. – СПб.: Нолидж, 2017. – 452с.
- Федоренко Ю. Алгоритмы и программы на Turbo Pascal. Учебный курс. – СПб.: Питер, 2017. – 240с.
- Шелест В. Программирование. – СПб.: БХВ-Петербург, 2018. – 378с.
- Шпак Ю.А. – Turbo Pascal 7.0 на примерах. – СПб.: Питер, 2017. – 496с.
- Динамические списки. [Электронный ресурс]. URL: http://www.studfiles.ru/preview/5357642/page:14/ (Дата обращения 10.03.2020г.)
- Свободная энциклопедия ВикипедиЯ. [Электронный ресурс]. UPL: http://ru.wikipedia.org/wiki/ (Дата обращения 12.03.2020г.)
- Указатели в Паскале. Динамическая память на языке Паскаль. [Электронный ресурс]. URL: http://life-prog.ru/view_algoritmleng.php?id=122 (Дата обращения 13.03.2020г.)
- Учебник по Паскалю. [Электронный ресурс]. URL: http://www.studfiles.ru/preview/1825376/ (Дата обращения 05.03.2020г.)