
- •«Паскаль»
- •Этапы полготовки и решения задач на компьютере.
- •Алгоритм. Основные свойства. Способы представления алгоритмов
- •Язык программирования Паскаль. Структура языка. Алфавит языка. Классификация данных и операторов.
- •Встроенные процедуры и функции языка Паскаль. Структура программы на языке Паскаль.
- •Var «список- объявлений переменных»
- •Сложные типы данных
- •Var а,в : mn ; { Переменные типа: mn }
- •Обработка данных
- •Организация обработки данных
- •Ввод-вывод данных. Основные виды работ с файлами любых типов. Основные понятия. Классификация файлов
- •Модульное программирование
- •Связанные структуры
- •Очередь
- •Объектно-ориентированное программирование
- •Инкапсуляция (Определение объекта)
- •Наследование и переопределение. Принцип конструирования программ
- •Полиморфизм
Язык программирования Паскаль. Структура языка. Алфавит языка. Классификация данных и операторов.
Паскаль - один из наиболее перспективных языков программирования. Он разработан в 1971 г. математиком Никлаусом Виртом, профессором Института информатики Швейцарской высшей политехнической школы в Цюрихе. Язык получил наименование в честь знаменитого математика и философа Блеза Паскаля (1623-1662), который одним из первых изобрел в 1641 г. калькулятор (суммирующую машину).
Алгоритмический язык как система правил для описания процесса обработки данных, включает алфавит, из символов которого формируются слова, выражения и операторы (предложения).
Алфавит - это набор допустимых символов языка. Слова (идентификаторы, константы) формируются из символов по определенным правилам.
Выражения - это группы слов, имеющих определенный смысл.
Операторы - это предложения для описания некоторого действия в процессе обработки данных. Из операторов формируются программы.
Структура языка Паскаль следующая:
Все конструкции языка формируются из символов его алфавита по определенным в языке правилам. Алфавит языка Паскаль включает буквы от А до Z (большого) и от a до z (малого), цифры (от 0 до 9) и специальные символы: арифметические операции (+, -, и т.д.), логические операции (NOT, AND, OR, XOR), операции отношения (<,>,=, и т.д.), различный ограничители и разделители.
В текстах программ допускаются комментарии и пробелы.
Комментарий - это текст, поясняющий программу и не влияющий на процесс ее выполнения. Комментарии ограничиваются символами {} или *и*.
Комментарий можно вставить между двумя рядом стоящими идентификаторами, числами, специальными символами или перед первым оператором программы.
Цель комментариев - пояснить объекты и действия программы.
Пробелы в программе могут повысить наглядность программы.
Пробелов может быть произвольное количество, но не менее одного пробела должно быть между идентификаторами, константами, зарезервированными (ключевыми) словами и специальными символами.
Нельзя использовать пробелы внутри чисел и идентификаторов, в том числе зарезервированных (ключевых) слов.
Данные - это формализованное представление информации.
Данные могут быть в виде констант и переменных.
Константы - это конкретные значения данных.
Переменные - это данные, которые в процессе выполнения программы могут принимать различные значения.
Классификация проблемных (пользовательских) данных Паскаля, может включать в себя несколько типов.
Под проблемными данными будем понимать данные с обрабатываемой информацией пользователя.
Их типы могут быть стандартными и определенными пользователем.
Стандартные типы данных (вещественные и ординальные, или порядковые) используются для определения переменных соответствующего стандартного типа и для описания простых (перечисляемых и диапазонных) и сложных типов данных, определенных программистом.
Встроенные процедуры и функции языка Паскаль. Структура программы на языке Паскаль.
В языке Паскаль можно использовать как подпрограммы (процедуры и функции), разработанные программистом, так и встроенные (стандартные) подпрограммы, расположенные в его модулях (библиотеках).
Паскаль содержит 8 стандартных модулей, в том числе: System, Crt, Dos, Graph, Overlay. Для использования их процедур и функций надо после оператора PROGRAM записать оператор
Uses «список имен используемых модулей».
Например:
Program KR ;
Uses Crt, Graph;
Подключение модуля System производится по умолчанию, без указания его имени в списке Uses. В модуле System располагаются наиболее часто используемые процедуры и функции языка. Основные группы процедур и функций модуля System:
процедуры управления выполнением программы;
функции преобразования типов;
процедуры и функции для переменных ординального типа;
математические функции;
процедуры и функции для работы со строками;
процедуры и функции управления динамической памятью;
процедуры ввода-вывода и работы с файлами и каталогами.
Процедуры и функции модуля Crt предназначены для работы с экраном: его очистки, управления положением курсора на экране, управления клавиатурой, определения цветов фона и символов, управления звуком и окнами экрана.
Процедуры и функции модуля Graph предоставляют пользователю графические возможности языка. Процедуры и функции модуля Overlay позволяют организацию работы с программами оверлейной структуры.
Процедуры и функции модуля DOS предназначены для обслуживания прерываний, проверки состояния диска, обработки файлов, управления процессами и операционной средой.
Программа на языке Паскаль состоит из заголовка программы и блока (тела программы). Заголовок программы или подпрограммы - это один из операторов:
PROGRAM - для программы;
PROCEDURE - для Процедуры;
FUNCTION - для функции.
Процедуры и функции могут иметь ряд уровней вложенности, т. е. могут быть вложены в другие процедуры или функции. Форма оператора заголовка программы:
PROGRAM «имя-программы»;
Пример структуры программы:
P
rogram
PR;
- Заголовок программы
О
бъявления
типов, констант, меток и переменных;
Procedure А;...Begin...End; Процедуры и
Function В;...Begin...End; функции программы Блок
Программы
Begin ...
Операторы программы PR;
End.
Блок программы и подпрограммы на языке Паскаль состоит из двух частей:
1)декларативной - описания (объявления) данных программы и текстов под программ (разделы описаний);
2)выполнимой - описания действий, которые надо выполнить над данными (раздел операторов).
Блок включает все, кроме заголовка программы или подпрограммы. В общем случае блок может состоять из шести разделов различных типов. Все они, кроме раздела операторов, необязательны. Каждый раздел описаний начинается ключевым словом:
LABEL - для определения меток программы;
CONST - для определения констант;
TYPE - для определения типов данных;
VAR - для определения переменных;
PROCEDURE и FUNCTION - для определения процедур и функций;
BEGIN, END – соответственно определяют начало и конец раздела операторов программы. Данное сочетание операторов называется операторные (программные) скобки.
Оператор PROGRAM должен быть первым в программе, раздел операторов программы - последним. А между ними может быть сколько угодно разделов описаний в любом порядке. Типы и константы могут использоваться в последующих описаниях типов и переменных и подпрограмм.
Последовательность разделов описания объектов (LABEL, CONST, TYPE, VAR и др.) программы может быть произвольной. В случае необходимости типы разделов могут повторяться.
Все, что используется в программе: константы, переменные, метки, - должно быть объявлено явно. Каждый объект программы должен быть описан и только один раз для данной области действия.
Объекты программы имеют областью их действия блок, в котором они объявлены, и все вложенные в него блоки, процедуры и функции, в которых они не переобъявлены. Поэтому одни и те же идентификаторы можно использовать в различных подпрограммах (процедурах и функциях) программы в разных смыслах.
Идентификаторы в Паскале - это ключевые слова, имена констант, переменных, типов, процедур, функций, модулей, программ, полей в записях и меток. Идентификаторы могут иметь произвольную длину, но используются в программе только первые 63 символа идентификатора.
Формируется идентификатор в виде последовательности латинских букв, цифр и символа подчеркивания, начиная с буквы.
В идентификаторах большие и маленькие буквы тождественны, т. е. NAME, Name и name - один и тот же идентификатор.
Ключевые слова - это идентификаторы, которые имеют фиксированное назначение и не могут быть идентификаторами проблемных данных пользователя.
Слово |
Значение |
Слово |
Значение |
Слово |
Значение |
AND |
И |
FUNCTION |
ФУНКЦИЯ |
REPEAT |
ПОВТОРИТЬ |
ARRAY |
МАССИВ |
GOTO |
ПЕРЕЙТИ |
SET |
МНОЖЕСТВО |
BEGIN |
НАЧАЛО |
IF |
ЕСЛИ |
SHL |
СДВИГ ВЛЕВО |
BOOLEAN |
БУЛЕВ |
IMPLEMENTATION |
РЕАЛИЗАЦИЯ |
SHR |
СДВИГ ВПРАВО |
CASE |
ВАРИАНТ |
IN |
В |
STRING |
СТРОКА |
CONST |
КОНСТАНТА |
INTERFACE |
ИНТЕРФЕЙС |
THEN |
то |
DIV |
ДЕЛЕНИЕ |
INTERRUPT |
ПРЕРЫВАНИЕ |
TO |
ДО |
DO |
ВЫПОЛНИТЬ |
LABEL |
МЕТКА |
TRUE |
ИСТИННО |
DOWNTO |
ШАГ-1 |
MOD |
ОСТАТОК |
TYPE |
тип |
ELSE |
ИНАЧЕ |
NOT |
HE |
UNIT |
МОДУЛЬ |
END |
КОНЕЦ |
OF |
ИЗ |
UNTIL |
ПОКА |
EXTERNAL |
ВНЕШНИЙ |
OR |
ИЛИ |
USES |
ИСПОЛЬЗОВАТЬ |
FALSE |
ЛОЖНО |
PACKED |
УПАКОВАН |
VAR • |
ПЕРЕМЕННАЯ |
FILE |
ФАЙЛ |
PROCEDURE |
ПРОЦЕДУРА |
WHILE |
ПОКА |
FOR |
ДЛЯ |
PROGRAM |
ПРОГРАММА |
WITH |
ПРИСОЕДИНИТЬ |
FORWARD |
ВПЕРЕД |
RECORD |
ЗАПИСЬ |
XOR |
ИСКЛЮЧ. ИЛИ |
Любой оператор в программе может быть помечен меткой. Метка ставится перед оператором и отделяется от него двоеточием.
Метки. Константы. Определение типов данных и переменных.
Метка в Паскале - это идентификатор или целое без знака. Каждая метка, используемая в программе, должна быть описана в разделе описания меток.
Метка, описанная в разделе меток, обязательно должна быть перед оператором в теле программы. Метки, описанные в программе, процедуре или функции, локальны в ней. Область действия метки - блок.
Поэтому в разных блоках можно использовать одинаковые значения меток. Перед одним оператором может стоять несколько меток; в этом случае после каждой из них стоит двоеточие.
Форма определения меток:
LABEL «список меток»;
В выражениях на языке Паскаль можно использовать именованные и неименованные константы. Неименованные константы - это обычные константы, представленные в выражении своим значением.
Но если значение одной и той же константы используется в программе многократно, применяют именованные константы. Их имена и значения определяются в разделе описания констант. При их корректировке в программе должно быть одно исправление значения константы в разделе ее определения. Это позволяет сгруппировать в начале программы величины, зависящие от конкретной реализации языка или задачи.
Форма определения именованных констант:
CONST список-определений-констант
Форма определения каждой именованной константы списка:
«Имя константы» = выражение;
Определения новых (пользовательских) типов объединяются в раздел определения типов. Определение типа вводит имя типа. Оно используется для описания производных (пользовательских) простых и сложных (структурированных) типов данных. Стандартные типы определены по умолчанию. К ним относят: вещественные, целые, булевы (BOOLEAN), символьные (CHAR) и строки (String).
Форма определения типа:
TYPE «список определений типа»
Все переменные программы или подпрограммы объявляются в разделе определения переменных. В операторах программы можно использовать переменные, определенные в разделе переменных (var).
Переменная относится к типу, определенному ее объявлением, и может принимать значения, допустимые для этого типа. Определение переменных включает одно или более имен переменных и тип, к которому относится каждое из имен переменных.
Форма определения переменных: