Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Записи (record)




Записи (комбинированный тип) – одна из наиболее гибких и удобных структур данных, применяющихся при описании сложных объектов, которые характеризуются различными свойствами, а также при создании различных информационных систем.

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

Схема записи:

type <имя типа записи> = record

имя поля 1: тип;

…………………

имя типа N: тип

end;

Как и при описании массивов, можно совместить описание типа записи и соответствующих переменных.

Для доступа к полям используются составные имена, состоящие из имени переменной типа запись и имени поля, разделенных точкой. Например, M1.Marka – обращение к полю Marka. Поля могут получать значения с помощью оператора присваивания: M1.Marka:=’Волга 3110’; M1.Fio:=’Петров А.И.’;

Составные имена можно использовать в операторе ввода-вывода: writeln(M1.Marka); и т.д. Поля записи, в свою очередь, могут быть записями.

Для сокращения записей при использовании составных имен применяется оператор with. Его структура: with <имя записи> do <оператор>. В операторе можно использовать имена полей без имени переменной типа запись.

В Паскале разрешается использовать тип «запись» при описании других составных типов данных, например, можно построить массив записей.

Пример. Используя записи составить программу начисления стипендии

Предположим, что вводится список группы с оценками за экзамены. Графа «Балл» вычисляет суммарную оценку. Графа «Сумма» определяет размер стипендии по правилу: если нет троек и балл равен 12, то стипендия 600 рублей, если нет четверок, и балл равен 15, то стипендия 800 рублей. В других случаях сумма равна нулю.

ФИО Эк 1 Эк 2 Эк 3 Балл Сумма
  Иванов          

Program spisok;

type stud= record

fio: string[20];

ex1, ex2, ex3: 2..5;

bal: 6..15;

sum: real;

end;

var x: array[1..30] of stud;

i,k,m,n: integer;

y: 6..15; z: stud;

begin write (‘введи число студентов:’); readln (n);

for i:=1 to n with x[i] do

begin write (‘введи ФИО’, i,’-го студента:’);

readln (fio); write (‘введи три оценки:’);

readln (ex1,ex2,ex3);

end;

for i:=1 to n do with x[i] do

begin bal:=ex1+ex2+ex3;

if (ex1=2) or (ex1=3) or (ex2=2) or (ex2=3) or (ex3=2) or (ex3=3)

then sum:=0 else if bal<12 then sum:=0

else if bal<15 then sum:=600 else if bal=15 then sum:=800;

end;

{Можно перед распечаткой ведомости упорядочить записи по убыванию в графе «Балл»}

{ for k:=1 to n-1 do begin y:=x[k].bal; m:=k;

for i:=k+1 to n do if y<x[i].bal then begin y:=x[i].bal; m:=i end;

z:=x[k]; x[k]:=x[m]; x[m]:=z; end;}

writeln; writeln (‘Стипендиальная ведомость’);

for i:=1 to 64 do write (‘-‘); writeln;

write (‘N|ФИО|эк1|эк2|эк3|балл|сумма|’);

for i:=1 to 64 do write (‘-‘); writeln;

for i:=1 to n do with x[i] do

begin write (i:3, fio:20, ex1:4, ex2:4, ex3:4); writeln (bal:5, sum:9:2); end end.


Задания к работе 6




Поделиться с друзьями:


Дата добавления: 2015-06-04; Просмотров: 328; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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