- •Программирование на языке Паскаль
- •Содержание
- •Введение. Структура программы. Типы данных
- •Структура программы в зыке Паскаль
- •Комментарии
- •Раздел описания переменных
- •Имена идентификаторов в языке Паскаль
- •Типы данных в языке Паскаль
- •Целые типы
- •Вещественные типы
- •Раздел описания констант
- •Оператор ввода
- •Составной оператор
- •Условный оператор
- •Выражения
- •Арифметические операции
- •Логические выражения
- •Логические операции
- •Приоритеты операций
- •Стандартные математические и арифметические функции
- •Структурированные операторы
- •Оператор выбораCase
- •Оператор циклаFor
- •Оператор циклаWhile
- •Inc(n); { Увеличение значения пременнойnна 1 }
- •Оператор циклаRepeat
- •Пользовательские порядковые и составные типы. Процедуры и функции
- •Раздел описания типов
- •Интервальный тип
- •Перечислимый тип
- •Тип массив
- •Строковый тип
- •Процедуры и функции для работы со строками
- •Типизированные константы
- •Процедуры и функции
- •Обращение к процедурам и функциям
- •Процедуры и функции. Процедурные типы. Тип указатель
- •МодификаторыVar иConst в описании формальных параметров
- •Локальность и область действия
- •Процедурные типы
- •Тип указатель
- •Нулевой указатель
- •Работа с текстовыми файлами. Тип запись. Алгоритмы сортировки
- •Файловые типы
- •Процедуры и функции для работы с текстовыми файлами
- •Стандартные текстовые файлы
- •Тип запись
- •Обращение к элементам записи
- •Алгоритмы сортировки
- •Алгоритмы сортировки
- •Алгоритмы сортировки сравнениями
- •Объектно-ориентированное программирование. Структура программного модуля
- •Тип данных «объект»
- •Тип данных «класс»
- •Классификация стилей программирования
- •Структура программного модуля
- •Основы визуального программирования
- •Элемент управления «Поле ввода»
- •Элемент управления «Кнопка»
- •Элемент «Метка»
- •Элемент «Группа переключателей»
- •0:ShowMessage('Выбран вариант 1');
- •Виды изображений
- •КлассTPicture
- •КлассTBitmap
- •ОператорWith
- •КлассTCanvas
- •Библиографический список
- •620002, Екатеринбург, Мира, 19
Оператор циклаWhile
Синтаксис
WHILE<Логическое выражение>DO<Оператор>
Принцип действия оператора можно сформулировать так: пока значение логического выражения истинно, выполнять оператор. Т.е. сначала происходит вычисление значения логического выражения. Если оно истинно, то выполняется оператор, и все повторяется сначала до тех пор, пока выражение не станет ложным.
Если выражение окажется ложным с самого начала, оператор не выполнится ни разу.
Пример
n:=1;
WHILE n<=10 DO
BEGIN
WriteLn('n=',n);
Inc(n);
END;
Результат выполнения
n=1
n=2
. . .
n=10
Функции Inc иDec определены для порядковых типов.
Синтаксис
Inc(<Порядковая переменная>[,<Целое число>])
Dec(<Порядковая переменная>[,<Целое число>])
Они выполняют соответственно увеличение и уменьшение значения переменной на 1 или на указанное число.
Пример
Inc(n); { Увеличение значения пременнойnна 1 }
Dec(n,5); { Уменьшениеnна 5 }
Оператор циклаRepeat
Синтаксис
REPEAT
<Список операторов>
UNTIL<Логическое выражение>
Список операторов в цикле REPEAT имеет такую же структуру, как и в составном оператореBEGIN END.
Действие оператора: выполнять список операторов до тех пор, пока логическое выражение не станет истинным. Сначала происходит выполнение списка операторов, затем выселяется значение логического выражения. Если оно ложно, все повторяется сначала до тех пор, пока выражение не станет истинным.
В отличие от оператора WHILE, циклREPEAT заканчивается, когда выражение становится истинным. Также, в отличие от оператораWHILE, здесь сначала выполняется список операторов, и только потом вычисляется значение логического выражения, поэтому независимо от того, каким будет логическое выражение, список операторов выполнится хотя бы один раз.
Пример
n:=1;
REPEAT
WriteLn('n=',n);
Inc(n);
UNTIL N>10
Результат выполнения
n=1
n=2
. . .
n=10
Пользовательские порядковые и составные типы. Процедуры и функции
Раздел описания типов
Синтаксис
TYPE
<Имя типа 1> = <Тип 1>;
∙ ∙ ∙
<Имя типа 2> = <Тип 2>;
<Имя типа N> = <Тип N>;
Раздел описания типов размещается в описательной части программы там же, где и разделы описания переменных и констант.
Интервальный тип
Синтаксис
<Начальное значение>..<Конечное значение>
Начальное и конечное значения могут быть любого порядкового типа. Переменные интервального типа могут принимать только значения, находящиеся в указанном интервале.
Пример
TYPE
Day_of_week = 1..7;
VAR
DOW:Day_of_week;
Letter:'A'..'Z';
∙ ∙ ∙
DOW:=8; { Ошибка }
Перечислимый тип
Синтаксис
(<Имя 1>, <Имя 2>, …, <Имя N>)
Всем именам из списка присваиваются значения задаваемого перечислимого типа. Переменные перечислимых типов далее могут принимать только значения из указанного списка.
Пример
TYPE
Color = (Red,Yellow,Green,Blue);
SubColor = Yellow..Blue;
VAR
C:Color;
Size:(Small,Middle,Big);
∙ ∙ ∙
DOW:=Green;
IF Size=Big THEN Writeln('Большой');
Как и для любого из порядковых типов, для перечислимых определенны функции Pred,Succ,Ord и т.д. Например,Pred(Yellow)=Red,Succ(Green)=Blue. Порядковые номера элементов перечислимых типов начинаются с 0, т.е.Ord(Small)=0,Ord(Middle)=1 и т.д.