русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

КОМБИНИРОВАННЫЙ ТИП – ЗАПИСИ


Дата добавления: 2014-11-27; просмотров: 574; Нарушение авторских прав


Запись - описание комбинированного типа, состоящее из нескольких полей, каждое из которых имеет свой тип. Структура записи аналогична таблице.

Записи состоят из фиксированного числа компонентов, называемых полями записи. В отличие от массива компоненты (поля) записи могут быть различного типа.

Структура данных типа записи

Структура объявления типа "запись" имеет следующий вид:

TYPE <ИмяТипа> = RECORD

<поле1>: <тип поля1>;

<поле2>: <тип поля2>;

. . .

<полеN>: <тип поляN>

end;

Если тип нескольких полей совпадает, то имена полей можно перечислить через запятую. <ИмяТипа> и поля являются правильными идентификаторами.

Например:

TYPE

DENROGD = RECORD

name: string; {фамилия или имя }

den, mes: byte; {день, месяц}

god: word {год}

end;

Определение константы – записи будет иметь вид

<идентификатоp>: <тип_записи > = (<список_значений_полей>);

Список значений полей представляет собой список из последователь­ностей вида: имя поля, двоеточие и константа. Поля должны указываться в той же последовательности, в какой они перечислены в объявлении типа. Например:

TYPE POINT = record

x, y: real;

end;

CONST

p: POINT = (x:1; y:1);

 

Объявление переменных производится в разделе VAR:

VAR a, b: DENROGD;

Доступ к каждой компоненте записи производится указанием состав­ного имени: имени переменной и затем через точку имени поля. Например:

a.name := ' MARINA';

a.god := 1991;

a.den := 23;

a.mes := 3;

Таким образом, в типе "запись" определена операция присваивания. Кроме того, как и в массиве, все значения переменных типа "запись" можно присваивать другим переменным того же типа: B := A; .

Над полями можно выполнять действия, разрешенные для базового типа:



b.god := а.god + 1; {на год старше}.

В качестве переменной может быть объявлен массив записей:

VAR s: array[1..20] of STUDENT;

Пример. Разработать программу формирования списка студентов с указанием дат рождения. Распечатать список в алфавитном порядке.

Program zapis;

Type {определение нового типа}

student = record {запись}

name: string[15];

den, mes: byte;

god: word

end;

Var

Z: ARRAY [1..20] OF student;

k, m, i, n: byte;

r: string[15]; {вспомогательная строка для перестановки}

BEGIN

writeln('ВВЕДИТЕ КОЛИЧЕСТВО СТУДЕНТОВ');

READln(n);

for i:=1 to n do

begin

writeLN('ВВЕДИТЕ имя ',i,' студента с прописной буквы');

readLN (z[i].name);

WRITELN('ВВЕДИТЕ день рождения');

readLN(z[i].den);

WRITELN('ВВЕДИТЕ месяц рождения');

readLN(z[i].mes);

WRITELN('ВВЕДИТЕ год рождения');

readLN(z[i].god);

end;

for I := n downto 2 do {********* Упорядочение списка *********]

begin {поиск "наибольшего" значения поля NAME}

m:=1;

for k:=2 to i do if z[k].name > z[m].name then m := k;

r := z[i].name; {перестановка записей}

z[i].name := z[m].name;

z[m].name := r

end; {**************************************}

writeln(' Упорядоченный список ');

for i:=1 to n do

begin

WRITE(z[i].name);

WRITELN(' Дата рождения:', z[i].den, '.' ,z[i].mes, '.', z[i].god);

end

END.



<== предыдущая лекция | следующая лекция ==>
Задание 2 | Обработка полей записей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.864 сек.