9.ЗАПИСИ. Структура данных, состоящая из фиксиров-ого числа компонентов. Компоненты записи наз-ся полями Стр-ра объявления записи: type <имя>= RECORD
<список полей>;
END;
Имя типа - правильный идентификатор Паскаля. Список полей – список идентификаторов полей с указанием их типов.
RECORD и END – зарезервированные слова, обозначающие запись и конец. ПР.: type <DATR>= RECORD
DEN: byte;
MES: String [3];
GOD: Word;
END;
Допустимо к однотипным записям применять операции присваивания VAR A, B: DATR;
A: =B
К полям записи можно обрат-ся непосредственно A. DEN: =16
A. MES: =’MAP’;
A. COD: =2004; Чтобы упростить доступ к записям испол-ся оператор присоед-я With <переменная> do<оператор>; Пр: type M=record
Имя IMQ: string;
Фамил. FAM: string ;
№ курса. NUM: byte;
дата рожд. DATR: record;
DEN: byte;
MES: byte;
COD: word;
end;
END;
Файлы вложенные VAR A: M;
A. IMQ: =’Аня’
A. DATR. DEN: =21;
Паскаль разрешает использовать записи с вариантными полями
type Forma = record
NAME: string ;
case but of
0: (B: string [40]);
1: (A: string [20]
B: string [20]);
11.РЕКУРСИЯ
Процедуры и ф-ции могут вызывать сами себя. Такое св-во наз-ся рекурсивностью. Рекурсивные процедуры и функции имеют одну из форм прямую косвенную рекурсию. При прямой рекурсии процедура содержит опер-р вызова этой же процедуры. При косвенной рекурсии одна процедура вызывает др. которая либо сама, либо посредством др. процедур вызывает исходную процедуру; в случае косвенной рекурсии возникает проблема как и где описать вызываемую процедуру. По правилам Паскаля каждая вызываемая процедура д.б. описана до её вызова.
Но если процедура А вызывает процедуру В, а процедура В вызывает А, то получает-ся замкнутый круг. Для таких ситуаций принято след. Правило: одна из рекурсивных процедур описывается след-щим образом procedure P;
FORWARD:
МОДУЛЬ CRT. Представляют собой библиотеку процедурной функции, предназначенных для увеличения возможностей текстового ввода, вывода.
ПРОЦЕДУРЫ И ФУНКЦИИ |
НАЗНАЧЕНИЯ |
HIGHVIDEO |
устанавливает повышенную яркость символов |
NORMVIDEO |
устанавливает нормальную яркость символа |
LOWVIDEO |
пониженая яркость |
DELAY (X) |
пауза вводит задержку в милисекундах |
SOUND (X) |
устанавливает звук с указанной частотой |
NOSOUND |
отключает звук |
KEYPRESSED |
определяет, была ли нажата клавиша или есть ли символы в буфере |
READKEY |
читает значение нажатой клавиши |
TEXT COLOR (X) |
определяет цвет выводимого символа |
TEXT BACK GRAUND (N) |
определяет цвет фона |
CLEAR |
очистка экрана и устанавливает курсор вверх левый угол |
GOTOXY (X, Y) |
устанавливает курсор в заданное положение |
WINDOW (X1, Y1, X2, Y2) |
устанавливает окно с заданными параметрами |
ПРИМЕР:
1) Закрксить окно размером 20 на 20 в различные цвета, сопровождая окркску звуком.
Program D4;
USES CRT;
VAR x, y, I: byte;
Begin
text back ground (0); clrscr; x: = 5; y: = 2;
for I: = 1 to 15 do begin
window (x, y, x+20, y+20);
text back ground (I); clrscr;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.