Процедуры Dec и Inc в Pascal.

При работе с целыми числами используются процедуры DEC и INC. Процедура Dec уменьшает число на определенное значение, а процедура Inc увеличивает число на определенное значение.

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Циклы и массивы

ЗАПИСИ. ТИП ДАННЫХ RECORD.

В описании данных и связей между ними используют понятия: запись логическая и запись физическая. Физическое описание данных определяет способ их хранения во внешней памяти ЭВМ. Логическое описание ...

Тип данных Char.

Тип CHAR (литерный, символьный). Этот тип задает конечное упорядоченное множество символов (литер), допускаемое в конкретной реализации языка.

Иногда в разделе описания типов Type может присутствовать не один тип записи, а несколько. Например, один из компонентов записи, такой как «дата выпуска автомобиля» можно превратить в запись и указать для нее свои компоненты, например, год выпуска, месяц выпуска и день выпуска.

 Использование нескольких типов записи в Паскале.


  1. program zapisi3;
  2. uses crt;
  3. type opisanie=record
  4. marka: string[45];
  5. color: string[8];
  6. probeg: real;
  7. end;
  8. data_vip=record
  9. god:integer;
  10. mes:byte;
  11. den:byte;
  12. end;
  13. var auto: opisanie;
  14. vipusk:data_vip;
  15. begin
  16. clrscr;
  17. writeln ('Введите описание автомобиля ');
  18. writeln ('Введите марку автомобиля');
  19. readln (auto.marka);
  20. writeln ('Введите цвет автомобиля');
  21. readln (auto.color);
  22. writeln ('Введите пробег автомобиля');
  23. readln(auto.probeg);
  24. writeln('Введите год, месяц и день выпуска ');
  25. writeln (‘Год’);
  26. readln(vipusk.god);
  27. writeln (‘Месяц’);
  28. readln(vipusk.mes);
  29. writeln (‘День’);
  30. readln(vipusk.den);
  31. writeln ('Все данные введены');
  32. writeln ;
  33. writeln (' Марка автомобиля: ', auto.marka);
  34. writeln(' Цвет автомобиля: ', auto.color);
  35. writeln(' Пробег автомобиля : ', auto.probeg:6:0);
  36. writeln(' Дата выпуска автомобиля: ', vipusk.god,' ' ,vipusk.mes,' ' ,vipusk.den);
  37. readln
  38. end.

Строка №3 - №7. Здесь указываем первый тип записи «opisanie».

Строка №8 - №12. Здесь указываем второй тип записи под названием «data_vip».

Соответственно для 2-х типов записи указываем 2 переменные. В строке №13 объявляем переменную «auto» и указываем для нее тип «opisanie». В строке №13 объявляем переменную «vipusk» и указываем для нее тип данных «data_vip».

Как и в предыдущих примерах, доступ к различным компонентам переменных осуществляется путем указания имени переменной и имени компонента.
Обратите внимание на строку №35. Здесь осуществляется вывод на экран значений 3-х переменных в одном операторе Writeln. Чтобы они не сливались друг с другом между ними ставится пробел.

zapisi v paskalj....zapisi v paskalj......

zapisi v paskalj.....

 


Дополнение к материалу.

В данной статье приведено не совсем удачное название для урока. Здесь описываются не вложенные записи, а использование нескольких записей в одной программе. Если Вам необходимо увидеть как выглядят вложенные записи, можете обратиться к комментариям к этому уроку, это достаточно удобные штучки.


Предыдущая статья : Записи (продолжение).

Оглавление : Уроки Паскаль. Записи.

Следующая статья : Оператор присоединения With . . Do.


Комментарии  

 
+2 # iva 29.12.2011 17:38
Но это же не вложенные записи, а просто две отдельные записи, зависимые лишь по замыслу автора программы.
А бывают ли записи действительно вложенными, как матрешка?
Ответить
 
 
+2 # Administrator 02.01.2012 16:41
Можно. Сначала вводится тип записи "data_vip", а затем в типе opisanie создается компонент, например, "vipusk" и для него указывается тип данных "data_vip". Доступ к полям производится таким образом. Например к полю "god" - auto.vipusk.god.
Фактически весь пример будет выглядеть так:
program zapisi3;
uses crt;
type data_vip=record
god:integer;
mes:byte;
den:byte;
end;
type opisanie=record
marka: string[45];
color: string[8];
probeg: real;
vipusk: data_vip;
end;
var auto: opisanie;
begin
clrscr;
writeln ('Введите описание автомобиля ');
writeln ('Введите марку автомобиля');
readln (auto.marka);
writeln ('Введите цвет автомобиля');
readln (auto.color);
writeln ('Введите пробег автомобиля');
readln(auto.probeg);
writeln('Введите год, месяц и день выпуска ');
writeln ('Год');
readln(auto.vipusk.god);
writeln ('Месяц');
readln(auto.vipusk.mes);
writeln ('День');
readln(auto.vipusk.den);
writeln ('Все данные введены');
writeln ;
writeln (' Марка автомобиля: ', auto.marka);
writeln(' Цвет автомобиля: ', auto.color);
writeln(' Пробег автомобиля : ', auto.probeg:6:0);
writeln(' Дата выпуска автомобиля: ', auto.vipusk.god ,' ' ,auto.vipusk.me s, ' ' ,auto.vipusk.den);
readln
end.
Ответить
 
 
+1 # Раиль 11.11.2016 22:11
var auto: opisanie;

Забыл ты идентификатор.
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЗаписи в ПаскальВложенные записи.