- •Синтаксис и языковые конструкции
- •1. Структура программы на языке pascal
- •1.1Раздел меток (label)
- •1.2 Раздел констант (const)
- •1.3 Раздел типов (type)
- •1.4 Раздел переменных (var)
- •1.5 Раздел процедур и функций
- •1.6 Раздел действий (операторов)
- •1.7 Примеры решения задач
- •2. Операторы
- •2.1 Составной и пустой операторы
- •2.2 Операторы ветвлений
- •2.3 Операторы повторений
- •2.4 Примеры решения задач
- •3. Массивы
- •4. Процедуры и функции
- •4.1 Описание процедур
- •4.2 Описание функций.
- •4.3 Примеры решения задач
- •5. Практическая часть
- •6. Заключение
- •7. Список литературы
Министерство образования и науки РФ
Пензенский государственный университет
Факультет инновационных технологий обучения
Дисциплина «Информационные технологии»
ПОЯСНИМТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ НА ТЕМУ:
«Решение задач на языке программирования 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.
Метки нужны для оператора перехода. Рекомендуется избегать применения оператора перехода, а значит и не декларировать раздел меток.