Введение в программирование. Сортировка массива. Средства создания программ. Стандартные модули. Структурированные типы данных, страница 11

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;