
- •Лекция № 1 Тема: Основы алгоритмизации.
- •1.1 Алгоритм. Свойства алгоритма.
- •1.2 Алгоритмическая конструкция ветвления
- •1.3 Алгоритмическая конструкция цикла.
- •1.4 Этапы решения задач на эвм.
- •Лекция № 2 Тема: Введение в Turbo Pascal. Элементы языка.
- •2.1. История создания языка.
- •2.2. Алфавит tp 7.0.
- •2.3 Идентификаторы
- •2.4 Константы
- •2.5 Выражения
- •Лекция № 3 Тема: Структура программы
- •3 In s6 возвращает true;
- •2*2 In s1 возвращает false.
- •5.1 Условный оператор.
- •5.2 Операторы повторений
- •5.3 Операторы цикла.
- •5.5 Метки и операторы перехода.
- •Лекции №6 Тема: Процедуры и функции.
- •6.1 Локализация имен
- •6.2 Описание программы
- •6.3 Параметры
- •6.4 Рекурсия и опережающее описание
- •Лекция № 7 Тема: Типизированные константы.
- •7.1 Константы простых типов и типа String
- •7.2 Константы - массивы
- •7.3 Константы - записи
- •7.4 Константы - множества
- •7.5 Константы - указатели
- •Лекция № 8 Тема: Файлы
- •8.1 Доступ к файлам
- •8.2 Имена файлов
- •8.3 Инициализация файла
- •8.4 Текстовые файлы
- •Лекция № 9 Тема: Модуль.
- •9.1 Структура модулей
- •9.2 Заголовок модуля и связь модулей друг с другом
- •9.3 Интерфейсная часть
- •9.4 Исполняема часть
- •9.5 Инициирующая часть
- •9.6 Стандартные модули
- •Лекция № 10 Тема: Стандартный модуль crt
- •10.1 Программирование клавиатуры
- •10.2 Текстовый вывод на экран
Лекция № 7 Тема: Типизированные константы.
План:
7.1 Константы простых типов и типа String.
7.2 Константы - массивы.
7.3 Константы – записи.
В Турбо Паскале допускается использование типизированных констант. Они задаются в разделе объявления констант следующим образом:
<идентификатор> : <тип> = <значение>
Здесь <идентификатор> - идентификатор константы;
<тип> - тип константы;
<значение> - значение константы.
Типизированным константам можно присваивать другие значения в ходе выполнения программы, поэтому фактически они представляют собой переменные с начальными значениями. Типизированная константа приобретает указанное в ее объявлении значение, т.е. инициируется, лишь один раз: к моменту начала работы программы. При повторном входе в блок (процедуру или функцию), в котором она объявлена, инициация типизированной константы не производится и она сохраняет то значение, которое имела к моменту выхода из блока.
Типизированные константы могут быть любого типа, кроме файлов. Нельзя также объявить типизированную константу-запись, если хотя бы одно из ее полей является полем файлового типа.
Поскольку типизированная константа фактически не отличается от переменной, ее нельзя использовать в качестве значения при объявлении других констант или границ типа-диапазона.
7.1 Константы простых типов и типа String
Объявление таких констант обычно не вызывает трудностей, так как в качестве их значения используются нетипизированные константы или их идентификаторы. Примеры объявлений:
type
colors = (white, red, black);
7.2 Константы - массивы
В качестве начального значения типизированной константы-массива используется список констант, отделенных друг от друга запятыми; список заключается в круглые скобки, например:
type
colors:=(white,red,black);
const
ColStr:array[colors] of String[5]=('white','red','blaсk');
7.3 Константы - записи
Определение константы-записи имеет следующий вид:
<идентификатор> : <тип> = (<сп.знач.полей>)
Здесь <идентификатор> - идентификатор константы;
<тип> - тип записи;
<сп.знач.полей> - список значений полей.
Список значений полей представляет собой список из последовательностей вида: имя поля, двоеточие и константа. Элементы списка отделяются друг от друга двоеточиями, например:
type
point=record
х,у:Real
end;
vect=array[0..1] of point;
month=(Jan,Feb,Mar,Apr,May,Jun,Jly,Aug,Sep,Oct,Nov,Dec);
date=record
d:1..31;
m:month;
у:1900..1999
end;
const
origon:point=(x :0; у : -1) ;
line:vector=((x:-3.1; у: 1.5) , (x: 5.9; у: 3.0)) ;
SomeDay:date=(d : 16; m : Mar; у : 1989);
7.4 Константы - множества
Значение типизированной константы-множества задается в виде правильного конструктора множества, например:
type
days=set of 1..31;
digc=set of '0'..'9';
error=set of 1..24;
const
WorkDays:days=[1..5,8..12,15..19,22..26,29,30];
EvenDigits:digc = ['0','2','4','6','8'];
ErrorFlag:error= [];