Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

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

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

Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это ...

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

Программирование данных.

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

ФАЙЛЫ ЗАПИСЕЙ

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

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

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