Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователем1581mgtu.ru
1 Записи Структурированный тип
2 Type =record end; Запись – структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. Поля записи могут быть разнотипными. Тип поля – любой тип, кроме файлового. Чтобы можно было обращаться к различным полям записи, они именуются.
3 Пример Type zap=record mon:byte; t:real; end; Var A:zap; A mont
4 Составное имя При обращении к полю записи необходимо указать имя записи, затем точку, затем имя поля. В примере: A.mon:=4; a.t:=0.62E+01;
5 Задача. Определить значения переменных z, w, p, re после выполнения операторов: Type complex=record Re,im:real end; Point=record x,y:real;end; Var z,w:complex; p:point; re:real;... z.re:=0; z. im:=1; W:=z; Re:=2; z.re:=-1; w.im:= - w.im; p.x:=re; p.y:=2;...
6 Оператор присоединения With do ; Упрощает доступ к полям записи. Пример: вместо z.re:=0; z. im:=1; Можно использовать With z do begin re:=0; im:=1;end;
7 Массив типа запись Uses crt; Type Zap=record fam:string[20]; year:byte; sex:char end; Mss=array [1..5] of zap; Var A:mss; i:integer; begin clrscr; for i:=1 to 5 do begin readln(a[i].fam); readln(a[i].year); readln(a[i].sex); end; for i:=1 to 5 do begin writeln(a[i].fam,,a[i].year,,a[i].sex);end; Readln End.
8 Определить, что выполняет программа, написанная на следующем слайде.
9 program zap_87_47; uses crt; const month:array[1..12] of string[3]=('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'); type zap=record mon:byte; t:real; end; mass=array[1..12] of zap; var i:integer; a:mass; begin clrscr; for i:=1 to 12 do begin a[i].mon:=i; readln(a[i].t);end; for i:=1 to 12 do if a[i].t>7 then writeln((month[i]),' ',a[i].t); readln; end.
10 Задачи. 1. В записной книжке записаны фамилии и номера телефонов нескольких человек. Определить, есть ли в записной книжке человек с заданной фамилией. И если есть, то вывести его номер телефона. 2. Известны данные о количестве учащихся в каждом из 15 учебных заведений и о типе этого заведения (школа, колледж, училище). Найти общее число учащихся школ.
11 Задачи. 3. Известны данные о стоимости каждой из 15 моделей автомобилей и об их типе (легковой, грузовой). Найти среднюю стоимость легковых автомобилей. 4. Дана информация об учениках класса: фамилия, имя, отчество, дата рождения(год, номер месяца и число). Определить, есть ли в классе ученики, у которых сегодня день рождения, и если да, то вывести имя и фамилию каждого.
12 Задачи. 5. В списке сотрудников фирмы заданы стаж их работы и семейное положение. Определить холостого работника с наименьшим стажем работы. 6. Дана информация о сотрудниках фирмы (фамилия, зарплата, пол). Определить фамилии мужчины и женщины, имеющих наибольшую зарплату.
13 Сортировка одномерного массива типа запись. Задача. Известно количество очков, набранных каждой из 20 команд – участниц первенства по футболу. Ни одна пара команд не набрала одинакового количества очков. Вывести названия команд в порядке занятых ими мест в чемпионате.
14 Сортировка+поиск Задача. Дана информация о росте 15 юношей класса. Ни одна пара учеников не имеет одинакового роста. В начале учебного года в класс поступил новый ученик. Выполнить следующие действия: 1.Вывести фамилии всех учеников, рост которых меньше новенького; 2.Определить фамилию ученика, после которого надо записать фамилию новенького (по росту); 3.Определить фамилию ученика, рост которого меньше всего отличается от роста новенького; 4.Получить новый список, в котором фамилии учеников расположены в порядке убывания роста с учетом нового ученика.
15 В качестве поля записи может использоваться массив. Например: Type Zap=record a:byte; b:array[0..23] of shortint; c:array[1..10] of char End; Тогда составные имена имеют более сложный вид.
16 program zap_mas; uses crt; const n=10; type zap=record mon:byte; v:array[1..12] of byte; end; mass=array[1..n] of zap; var i,j:integer; a:mass; begin clrscr; for i:=1 to 2 do begin a[i].mon:=i; for j:=1 to 2 do begin write('a[',i,']','v[',j,']'); readln(a[i].v[j]);end; end; for i:=1 to 2 do for j:=1 to 2 do writeln(a[i].mon,' ',a[i].v[j]); readln; end.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.