Числовая информация – перевод из десятичной системы











![Описать переменную address и массив spisok[1. . 1000] состоящие из записей следующей структуры: Описать переменную address и массив spisok[1. . 1000] состоящие из записей следующей структуры:](https://present5.com/presentation/3/38480991_156015531.pdf-img/38480991_156015531.pdf-13.jpg)
![Способ 1 Туре addr = record Fam: string[15]; {фамилия } Способ 1 Туре addr = record Fam: string[15]; {фамилия }](https://present5.com/presentation/3/38480991_156015531.pdf-img/38480991_156015531.pdf-14.jpg)
![Способ 2 Var address: record Fam: string[15]; Способ 2 Var address: record Fam: string[15];](https://present5.com/presentation/3/38480991_156015531.pdf-img/38480991_156015531.pdf-15.jpg)








![Type rec=record marka: string[10]; kol: byte; cena: integer; Type rec=record marka: string[10]; kol: byte; cena: integer;](https://present5.com/presentation/3/38480991_156015531.pdf-img/38480991_156015531.pdf-26.jpg)
![{поиск записи с максимальной ценой} max: =avto[1]. cena; Imax: =1; for i: {поиск записи с максимальной ценой} max: =avto[1]. cena; Imax: =1; for i:](https://present5.com/presentation/3/38480991_156015531.pdf-img/38480991_156015531.pdf-27.jpg)



![{формирование массива записей о студентах} for i: =1 to 3 do with a[i] do {формирование массива записей о студентах} for i: =1 to 3 do with a[i] do](https://present5.com/presentation/3/38480991_156015531.pdf-img/38480991_156015531.pdf-31.jpg)

записи.ppt
- Количество слайдов: 29
Числовая информация – перевод из десятичной системы счисления в двоичную
Текстовая – кодовые таблицы символов
Графическая: y. Растровое кодирование; y. Векторное кодирование Исходное изображение Результат масштабирования
Запись
Поле
Типы данных Скалярные Структурированные Указатели Целочисленные Массивы Вещественыые Строки Символьный Записи Логический Множества Файлы
Номер ФИО Оценки Number Family Ball 1 Иванов И. И. 5896 2 Сидоров С. С. 4258 3 Петрова П. П. 8688 Rec. Number Rec. Family Rec. Ball
Запись ( англ. Record ) — это структура данных, состоящая из фиксированного числа компонент, называемых полями записи. Поле 1 Поле 2 … Поле n-1 Поле n Запись 1 Имена полей должны быть уникальными в пределах той записи, где они объявлены. Тип поля в записи – может быть любым кроме файлового: • скалярные (целый, дробный, логический, символьный); • строки; • множества; • массивы; • записи.
• Фиксированная запись – запись со строго определенной структурой полей. • Запись с вариантами – тип данных содержащий произвольное число вариантов структуры, имеет фиксированную и вариантную часть.
Способ 1 Туре <имя типа> =record <идентификатор поля 1>: <тип поля 1>; … <идентификатор поля N>: <тип поля N> end; Var <идентификатор>: <имя типа>;
Способ 2 Var <идентификатор>: record <идентификатор поля 1>: <тип поля 1>; … <идентификатор поля N>: <тип поля N> end;
Описать переменную address и массив spisok[1. . 1000] состоящие из записей следующей структуры: • фамилия • имя • название улицы • номер дома • номер квартиры.
Способ 1 Туре addr = record Fam: string[15]; {фамилия } Name: string[10]; {имя} street: string[25]; {название улицы} nhome: integer; {номер дома} Nflat: integer { квартиры} end; Var Address: addr; Spisok: array[1. . 1000] of addr;
Способ 2 Var address: record Fam: string[15]; Name: string[10]; Street: string[25]; nhome: integer; nflat: integer end; В этом способе объявить массив невозможно!!
Описать тип Newaddress состоящий из следующих полей: • почтовый индекс; • город или область, район, населенный пункт; • улица; • номер дома ; • номер квартиры.
Для обращения к записи целиком - используют имя записи. 1) Считать из файла: read(f, spisok[i]); read(f, adress); где f – имя файловой переменной. 2) Присвоить значение: adress: =spisok[i]; spisok[i]: =adress;
Для обращения к отдельным полям записи - используют составное имя. 1) Присвоить значение address. fam: =‘Иванов‘; address. name: =‘Петр‘ address. nhome: =15; или A[50]. fam: =‘Иванов‘; A[5]. name: =‘Петр‘; A[i]. nhome: =15; • Считать с клавиатуры readln(address. fam); read(A[i]. nflat);
3. Действия допустимые для типа полей записи S: =address. fam+’ ‘+address. name; ‘Иванов Петр’ … S: =A[3]. fam +’ ‘+ A[3]. name; … If a[2]. nflat>a[3]. nflat then writeln(a[2]. fam); …
Оператор используется в тех случаях когда необходимо произвести несколько действий подряд с полями записи, для упрощенного доступа к ним. with <идентификатор записи> do begin (оператор 1); … (оператор N) end;
Вывести сведения из массива записей spisok можно следующим образом: for i: = 1 to 100 do begin write(A[i]. fam); write(A[i]. name); write(A[i]. nflat); write(A[i]. street); write(A[i]. nhome); Writeln; end;
Вывести сведения из массива записей spisok можно следующим образом: for i: = 1 to 100 do With A[i] do begin write(fam); write(name); write(nflat); write(street); write(nhome); Writeln; end;
1. Реализуйте базу данных салона подержанных автомобилей в виде массива из 10 записей, каждая запись состоит из полей, представленных в таблице. 2. Определите самый дорогой автомобиль и выведите информацию о нем Марка автомобиля Количество Цена Pegout 406 2 12000 BMW X 5 4 45000 Renault Laguna 3 15000 Opel Corsa 5 7000
Type rec=record marka: string[10]; kol: byte; cena: integer; end; Var avto: array[1. . 10] of rec; {массив записей} i: byte; max: integer; {максимальная цена} imax: byte; Begin {создание массива записей} writeln('vvedite informaciu ob avto'); for i: =1 to 10 do with avto[i] do begin write('marka='); readln(marka); write('kol='); readln(kol); write('cena='); readln(cena); end;
{поиск записи с максимальной ценой} max: =avto[1]. cena; Imax: =1; for i: =2 to 10 do with avto[i] do begin if max
• Создать базу данных «Студенты» . В базе данных храниться информация о фамилии, имени, отчестве каждого студента и его успеваемости по 3 -м семестрам. 1. За каждый семестр храниться информация о количестве сдаваемых экзаменов за семестр и средний балл за семестр. 2. Необходимо заполнить базу данных для 3 -х студентов и вывести информацию по каждому студенту на экран.
запись Student sem sb 1 запись Rez F -ФАМИЛИЯ 2 I - ИМЯ 3 О -ОТЧЕСТВО M[1. . 3], массив из 3 -х записей Таким образом база данных будет состоять из 3 -х записей Student, содержащей следующие поля: • фамилия (F), • имя (I), • отчество (О), • успеваемость (М) – тип данных запись состоящая из полей: • (sem), количество дисциплин, по которым сдавались экзамены в семестре; • (sb), средний балл по результатам сдачи экзаменов.
Type rez=record sem: integer; {количество учебных предметов} sb: real {средний балл за семестр} end; MAS = array[1. . 3] of rez; {массив успеваемости каждого учащегося} student=record F: string [15]; {фамилия} N: string[15]; {имя} О: string [15]; {отчество} M: MAS {массив успеваемости для 10 семестров} end; Var A: array[1. . 3] of student; {массив сведений о студентах} i, j: byte; {индексы для элементов массива А и массива М соответственно}
{формирование массива записей о студентах} for i: =1 to 3 do with a[i] do begin write(' input family ', i, ' '); readln(f); write(' input name ', i, ' '); readln(n); write(' input otchestvo ', i, ' '); readln(o); writeln; {формирования массива успеваемости по каждому студенту} for j: =1 to 3 do begin write(' input sem ', j, ' '); readln (m[j]. sem); write(' input sb ', j, ' '); readln (m[j]. sb); writeln; end;
{вывод массива на экран} writeln; writeln('----------------'); for i: =1 to 3 do with a[i] do begin write(f: 15); write(N: 8); write(o: 10); writeln; for j: =1 to 3 do begin writeln(‘семестр ', j); write(m[j]. sem: 4); write(' ', m[j]. sb: 4: 2); writeln; end; writeln; end.

