Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

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

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

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

Рекурсивные вычислительные процессы.

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

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Иногда в разделе описания типов 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.


Комментарии  

 
+3 # 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.
Ответить
 
 
0 # Раиль 11.11.2016 22:11
var auto: opisanie;

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

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

Защитный код
Обновить

   ГлавнаяПаскальЗаписи в ПаскальЗаписи в Паскаль (продолжение).