Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

Строки в Паскаль.

Тип данных String (строковый тип) используется в Паскаль для обработки текстов. Если в одну переменную типа Char можно записать лишь один символ, то в переменную типа String можно записать до 255 символов.

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

Алфавит языка Паскаль.

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

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

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

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

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