Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая по программированию(ГОТОВАЯ).doc
Скачиваний:
2
Добавлен:
21.12.2018
Размер:
1.64 Mб
Скачать

Министерство образования и науки РФ

Пензенский государственный университет

Факультет инновационных технологий обучения

Дисциплина «Информационные технологии»

ПОЯСНИМТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОЙ РАБОТЕ НА ТЕМУ:

«Решение задач на языке программирования Pascal»

Выполнил студент группы: 11ЦПАУ1 .

Проверил преподаватель:

Чистова Г.К.

2011г

Реферат

Состоит из 51 листа. Титульного листа, содержания, который

содержит темы: массивы, операторы, структура программы, процедуры

и функции, примеров решения задач, список литературы, в котором описан

материал, используемый мной и заключение моей курсовой работы.

СОДЕРЖАНИЕ

Введение…………………………………………………………………………………………………………4

1Структура программы ………………………………………………………………………………….8

1.1 Раздел меток………………………………………………………………………………………..10

1.2 Раздел констант……………………………………………………………………………………10

1.3 Раздел типов………………………………………………………………………………………..12

1.4 Раздел переменных…………………………………………. …………………………………13

1.5 Раздел процедур и функций ……………………………………………………………….14

1.6 Раздел действий…………………………………………………………………………………..15

1.7 Примеры решения задач ……………………………………………………………………16

2.Операторы ………………………………………………………………………………………………….20

2.1 Составной и пустой ……………………………………………………………………………….20

2.2 Операторы ветвлений……………………………………………………………………………21

2.3 Операторы повторений…………………………………………………………………………23

2.4 Примеры решений задач…….………………………………………………………………..27

3. Массивы………………………………………………………………………………………………………29

4. Процедуры и функции………………………………………………………………………………..31

4.1 Описание процедур……………………………………………………………………………….31

4.2 Описание функций………………………………………………………............................32

4.3 Примеры решения задач……………………………………………………………………….33

5. Практическая часть……………………………………………………………………………………..35

6. Заключение………………………………………………………………………………………………….50

7. Литература……………………………………………………………………………………………………51

Введение

Паскаль (англ. Pascal) — это язык программирования общего назначения. Один из наиболее известных языков программирования, широко применялся в промышленном программировании, обучении программированию в высшей школе, является базой для ряда других языков.

Язык назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Паскаль был создан Никлаусом Виртом в 1968-69 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные. Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию. Результат этой работы — язык Модула-2.

Важным шагом в развитии языка является появление свободных реализаций языка Паскаль Free Pascal и GNU Pascal, которые не только вобрали в себя черты множества других диалектов языка, но и обеспечили чрезвычайно широкую переносимость написанных на нём программ (например GNU Pascal поддерживает более 20 различных платформ, под более чем 10 различными операционными системами, Free Pascal обеспечивает специальные режимы совместимости с различными распространёнными диалектами языка, такими как Turbo Pascal (полная совместимость), Delphi и другими. В настоящее время, начиная с Delphi 2003, создана реализация языка для платформы Net, хотя разработчики продолжают использовать Delphi более ранних версий. О коммерческих разработках на Free Pascal, GNU Pascal и TMT Pascal на данный момент известно мало. Кроме того, в Южном федеральном университете разрабатывается язык и система программирования PascalABC.NET, ориентированная на обучение современному программированию. Язык системы — это Object Pascal для платформы Microsoft .NET, который содержит все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения, обобщённые классы, сборку мусора, а также некоторые средства параллельного программирования.

Особенности языка Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком. Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров. Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык». Наиболее известной реализацией Паскаля, обеспечившая широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка. Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

После начала использования Паскаля в 1970 году и появления реализаций, расходящихся не только в дополнениях, но и в синтаксисе, был поднят вопрос о стандартизации языка. Стандарт языка был разработан Никлаусом Виртом в 1974 году совместно с Кетлин Йенсен (Kathleen Jensen). В дальнейшем, были приняты международный стандарт от ISO и американский от ANSI. На данный момент, выделяют три принципиально разных стандарта: Unextended Pascal (исходный), Extended Pascal (расширенный), Object-Oriented Extensions to Pascal (объектно-ориентированное расширение Паскаля).

Название

Вариант

Кем, где разработан

Год создания

Pascal Standard

Исходный

Н. Вирт, Кетлин Йенсен

1974

Pascal Standard

Исходный

ISO 7185:1983

ANSI/IEEE 770X3.97:1983

1982

Unextended Pascal

Исходный

ISO 7185:1990

1989

Extended Pascal

Расширенный

ANSI/IEEE 770X3.160:1989

1989

ISO/IEC 10206

1991

Object-Oriented

Extensions to Pasca

Объектно-ориентированное

расширение

ANSI/X3-TR-13:1994

1993

Одним из главных дополнительных свойств объектно-ориентированного расширения Extended Pascal стала модульность и средства, облегчающие раздельную компиляцию. Стандартизация языка была запаздывающей по отношению к реальному появлению в языке тех или иных возможностей. Коммерческие реализации расширяли стандартный Паскаль; так было сделано в UCSD Pascal, модификации Object Pascal фирмой Apple, Turbo Pascal от Borland (незначительно модифицированная версия Apple) и его ответвлений. Ни одна из распространённых коммерческих реализаций Паскаля не соответствует в точности ни одному из официальных стандартов языка.

Синтаксис и языковые конструкции

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алгол-68, созданного Никлаусом Виртом AlgolW и предложены Хоаром.

В современных диалектах (Free Pascal) доступны такие операции как перегрузка операторов и функций.

1. Структура программы на языке pascal

Программа состоит из необязательного заголовка и блока.

Блок может содержать в себе другие блоки. Блок состоит из двух частей: описательной и исполнительной. Первая часть может отсутствовать, без второй блок не имеет смысла. Блок, который не входит ни в какой другой блок, называется глобальным. Если глобальный блок содержит другие блоки, то они называются локальными. Глобальный блок — это основная программа, он должен присутствовать в любом случае. Локальные блоки — это процедуры и функции, их присутствие необязательно. Объекты программы (типы, переменные, константы и т. д.) тоже называются глобальными и локальными. Областью действия объектов является блок, в котором они описаны, и все вложенные в него блоки. Блочная структура обеспечивает структуризацию программ на уровне исходных текстов. В идеальном случае программа на языке Pascal состоит из процедур и функций, которые вызываются для выполнения из раздела операторов основной программы.

Исходя из этого можно записать структуру программы следующим образом:

Program ... ; { Заголовок программы }

Uses ... ; { Подключение модулей }

Label ... ; { Раздел объявления меток }

Const ... ; { Раздел объявления констант }

Type ... ; { Раздел объявления новых типов }

Var ... ; { Раздел объявления переменных }

Procedure ... ; { Описание своих процедур }

Function ... ; { Описание своих функций }

Begin { начало основной программы }

...;

{ Операторы }

...;

End.

Обязательной частью является лишь тело программы, которое начинается словом begin, а заканчивается словом end с точкой. Операторы в Паскале разделяются точкой запятой. Заголовок программы является хотя и необязательным, но желательным элементом и состоит из зарезервированного слова program и идентификатора - имени программы, за котором следует точка с запятой. Порядок объявлений и описаний не регламентируется.

ПРИМЕР : Простейшая программа.

program prim_1; { демонстрация структуры программы}

{эта программа не требует никаких объявлений и описаний}

begin

write('Привет! Вот мы и начали.') (* эта строка текста появится на экране *)

end.

1.1Раздел меток (label)

Раздел меток состоит из оператора label, за которым следуют перечисляемые через запятую метки, в конце всего раздела ставится точка с запятой: label l1, l2, l3;

Причём, все метки - идентификаторы, конкретных мест в разделе операций.

Расстановка меток.

Пример программы:

program project1;

label start;

var x,y:real;

c:char;

begin

start: write('x=',x); realdln(x);

y:=sin(x);

writeln('sin(',x:10:4,')=',y:10:4);

write('Continue? '); readln(c);

if (c='y') or (c='Y') then goto start;

end.

Метки нужны для оператора перехода. Рекомендуется избегать применения оператора перехода, а значит и не декларировать раздел меток.