Содержание
-
Комбинированный тип данных
ЗАПИСИ
-
Комбинированный тип данных - это структурированный тип, состоящий из фиксированного числа компонент (полей) разного типа. Комбинированный тип имеет еще и другое название – запись. Обычно запись содержит совокупность разнотипных атрибутов, относящихся к одному объекту. Например, анкетные сведения о студенте вуза могут представлены в виде информационной структуры. Анкета студента Ф.И.О. Пол Дата рождения Адрес Курс Группа Стипендия
-
Такая структура называется двухуровневым деревом. В Паскале эта информация может храниться в одной переменной типа Record (Запись). Задатьтип и описать соответствующую переменную можно следующим образом: Type Anketa1= Record Fio : String[50]; Pol : Char; Dat : String[16]; Adres : String[50]; Curs : 1 . . 5; Grup 1 . . 10; Stip : Real; End; VarStudent : Anketa1; К каждому элементу записи можно обратиться, используя составное имя, Которое имеет следующую структуру: . Например, Student . Fio; Student . Datи т.д.
-
Поля записи могут иметь любой тип. В частности сами могут быть записями. Анкета студента Ф.И.О. Пол Дата рождения Адрес Курс Группа Стипендия Год Месяц День Город Улица, дом квартира
-
Описание соответствующей записи будет выглядеть так: Type Anket2= Record Fio : String[50]; Pol : Char; Dat : Record God : Integer; Mes : String[10]; Den : 1 . . 31 End; Adres : Record Gorod : String[20] UlDomKv : String[30]; End; Curs : 1 . . 5; Grup 1 . . 10; Stip : Real; End; VarStudent : Anketa2;
-
В программе могут использоваться массивызаписей. Если на факультете 500 студентов , то все анкетные данные о них можно представить в массиве: Var Student : Array [1 . . 500] of Anketa1; В таком случае , например, год рождения 5-го в списке студента хранится в переменнойStudent[5].Dat.God.Любая обработка записей, в том числе ввод и вывод, производится поэлементно. Например, ввод сведений о 500 студентах можно организовать так:
-
Fori := 1 to 500 do With Student[ i ] do Begin Write (‘ Ф.И.О. : ’) ; Readln(FIO) ; Write (‘ Пол (м/ж) : ’) ; Readln(Pol) ; Write (‘ Дата рождения : ’) ; Readln (Dat) ; Write (‘ Адрес : ’) ; Readln(Adres) ; Write (‘ Курс : ’) ; Readln(Curs) ; Write (‘ Группа : ’) ; Readln(Grup) ; Write (‘ Стипендия (руб.) : ’) ; Readln(Stip) End;
-
В этом примере использован оператор присоединения, который имеет следующий вид: With do ; Он позволяет , один раз указав имя переменной типа запись после слова With, работать в пределах оператора с именами полей как с обычными переменными, т.е. не писать составных имен. Работа с файлами записей Пример. Сформировать файл FM.DAT , содержащий экзаменационную ведомость студенческой группы. Записи файла состоят из следующих элементов: фамилия, имя, отчество, номер зачетной книжки, оценка.
-
ProgramExamen; TypeStud = Record FIO: String[30]; Nz: String[6]; Mark: 2 . .5 End; VarFstud: File ofStud;{ Файл записей } S: Stud; { Переменная типа «Запись»} N,i: Byte; Begin Assing(Fstud, ‘FM.DAT’); Rewrite(Fstud); Write(‘ Количество студентов в группе? ’ ); Readln(N); Fori : = 1 to N do Begin Write ( i :1, ‘-й, Фамилия И. О. ‘); Readln (S.FIO); Write ( ‘ Номер зачетки‘); Readln(S.Nz); Write ( ‘Оценка‘); Readln(S.Mark); Write (Fstud, S); End; Writeln( ‘ Формирование файла закончено‘); Close(Fstud) End.
-
Имеется описание: Adres : Record Gorod : String[20]; Ulica:String; Dom,Kv : 1 .. 100; End; Используя оператор присваивания, присвоить переменной ADR значение «Москва, улица Арбат, д 1, кв. 5.» Пример
-
Упражнения Описать запись, содержащую сведения о рейсе самолета. Описать запись расписания уроков на неделю.
-
Домашнее задание
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Распечатать список учеников, имеющих средний балл выше среднего в классе.
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.