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

Презентация:



Advertisements
Похожие презентации
Записи Структурированный тип. Type =record end; Запись – структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. Поля.
Advertisements

Записи Структурированный тип. Type =record end; Запись – структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. Поля.
Тема: Комбинированный тип данных. Цель:. Комбинированный тип данных – это структурированный тип, состоящий из фиксированного числа компонент разного типа.
© М.Е.Макарова
Записи Определение и правила записи. Определение: Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или.
Программирование на языке Паскаль ЗАПИСИ в Паскале (RECORD)
Записи 1.Повторение структуры данных МАССИВ 2.Определение структуры данных ЗАПИСЬ 3.Описание типа данных ЗАПИСЬ в Pascal 4.Решение задачи с использованием.
© М.Е.Макарова
© М.Е.Макарова
Раздел 3. Множества и записи Тема 2: Тип запись. Операторы над записями 1 Магистрант: Хаитов Икром Джураевич.
Структуры (записи) Программирование на языке Паскаль.
Комбинированный тип данных (Record) Решение задач Вербицкая Ольга Владимировна, Заозерная школа 16.
1 Записи 2 Запись – это тип данных, который может включать в себя несколько полей – элементов разных типов (в том числе и другие структуры). Свойства:
Шутилина Л.А., A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
Тема урока Тема урока Массивы. Массив – это именованный набор с фиксированным количеством однотипных данных. В массивы объединены результаты экспериментов,
Массивы
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
Массивы Заполнение и вывод на экран. ОПРЕДЕЛЕНИЕ Массив – это набор однородных данных (чисел, символов, слов), имеющий имя и последовательную нумерацию.
1 Пример: Для каждого из 25 учеников класса известны фамилия и оценки (в баллах) по пяти дисциплинам. Требуется вычислить среднюю оценку каждого ученика.
Двумерный массив Учитель информатики МБОУ «Марковская СОШ» Репникова С.А.
Транксрипт:

Записи Комбинированный тип

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

Комбинированный тип данных. Записи. Описание типа данных Type = record : ; … : ; Var : ;

Пример. Type Car = record Number : integer; Marka : string[20]; FIO : string[40]; Address : string[60]; end; Var M, V : Car;

Обращение к значению поля 1 способ: по составному имени Обращение к значению поля осуществляется с помощью идентификатора переменной и идентификатора поля, разделённых точкой. Такая комбинация называется составным именем. Например, чтобы получить доступ к полям записи Car, надо записать: M.Number, M.Marka, M.FIO, M.Address

Составные имена можно использовать в операторах ввода-вывода: Read (M.Number, M.Marka, M.FIO, M.Address); Write (M.Number:4, M.Marka:7, M.FIO:12, M.Address:25); Допускается применение оператора присваивания и к записям в целом, если они имеют один и тот же тип. Например, V := M;

Составное имя поля можно использовать везде, где допустимо применение типа поля. Для присваивания полям значений используется оператор присваивания: M.Number:= 1678; M.Marka := ГАЗ – 24; M.FIO := Демьяшкин В.А.; M.Adress := ул.Пушкина ;

Оператор присоединения With do ; Оператор присоединения упрощает доступ к полям записи. Например вместо M. Number:= 1678; M. FIO := Демьяшкин В.А.; M. Adress := ул.Пушкина ; можно использовать With М do begin Number:= 1678; FIO := Демьяшкин В.А.; Adress := ул.Пушкина ; end;

Обращение к значению поля 2 способ: Использование оператора присоединения: With do ; Пример. With M do begin Number := 2347; Marka := ГАЗ – 24; FIO := Петров О.Б.; Address := ул.Златоустовская, ; End; Оператор With обычно используют в тех случаях когда необходимо произвести несколько действий подряд с полями записи.

Паскаль допускает вложение записей друг в друга (т.е. Поле в записи может быть в свою очередь тоже записью). Соответственно оператор with тоже может быть вложенным: with rv1 do with rv2 do with rvn do … Уровень вложения не должен превышать 9.

В ряде задач удобно пользоваться массивами из записей. Их можно описать следующим образом: Type Car = record Number : integer; Marka : string[20]; FIO : string[40]; Address : string[60]; end; Var z : array of Car; Перемещаясь по массиву, необходимо указывать индекс элемента массива, синтаксически это выглядит так: z[i].FIO; z[i].mark

Массив типа запись 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.

Поля записи также могут быть массивами. Например, в таблице хранятся фамилии студентов и оценки по 10 предметам. Мы можем ввести массив оценок для каждого студента, а для всей таблицы массив записей. Для того, чтобы выйти на конкретного студента мы должны указать индекс массива записей, а для того, чтобы выйти на его оценку по конкретному предмету, мы должны указать индекс массива оценок. Для указания индексов должны быть разные переменные. Пример: мы работаем со второй строкой таблицы и с пятым предметом. Следует записать так: Z[2].ozenka[5]. В общем виде: z[i].ozenka [j] Индекс записи Индекс массива предметов

Примеры на обращение к элементам записи Опишите запись с именем типа Post, содержащую информацию в почтовой базе данных о подписчиках на газеты и журналы: ФИО (тип string); Адрес (тип string); 10 строк с названиями газет и журналов. Переменную, определяющую запись, назовите G. Одномерный массив записей назовите BD.

Uses Crt; TYPE Post = record Fio: string[70]; Adress: string[150]; Nazv: array[1..10] of string[40]; VAR G: Post ; BD: array[1..5] of Post ; i, j :integer; … G.Fio:=Иванов Иван Иванович; G.adress:=Москва, ул.Лесная,67 кв.124; G.Nazv[1]:=Спорт; … For i:=1 to 5 do Begin With BD [i] do Begin ReadLn(Fio); ReadLn(Adress); For j:=1 to 10 do Readln(Nazv [j]); End; End;

В записной книжке записаны фамилии и номера телефонов нескольких человек. Определить, есть ли в записной книжке человек с заданной фамилией. И если есть, то вывести его номер телефона. program zap_87_47; uses crt; type zap=record tel:string; fam:string; end; mass=array[1..4] of zap; var i:integer; a:mass; b:string; begin clrscr; writeln ('Введите номер телефона '); readln (b); writeln ( 'Введите фамилии и телефоны'); for i:=1 to 4 do readln (a[i].fam,a[i].tel ); for i:=1 to 4 do if a[i].tel = b then begin Writeln (a[i].fam );end; end.

Задачи. 3. Известны данные о стоимости каждой из 15 моделей автомобилей и об их типе (легковой, грузовой). Найти среднюю стоимость легковых автомобилей. 4. * Дана информация об учениках класса: фамилия, имя, отчество, дата рождения(год, номер месяца и число). Определить, есть ли в классе ученики, у которых сегодня день рождения, и если да, то вывести имя и фамилию каждого.

Задачи. 5. В списке сотрудников фирмы (мужчин) заданы стаж их работы и семейное положение. Определить холостого работника с наименьшим стажем работы. 6. Дана информация о сотрудниках фирмы (фамилия, зарплата, пол). Определить фамилии мужчины и женщины, имеющих наибольшую зарплату.