- Главная
- Информатика
- Комбинированный тип данных (Record)

Содержание
- 2. Комбинированный тип данных (Record) При работе с массивами основное ограничение заключается в том, что каждый элемент
- 3. Примеры объявления типа данных Record Пример 1. Объявление записи в разделе Var Запись в записной книжке
- 4. Примеры объявления типа данных Record Пример 3. Type year=1583..3000; Month=1..12; Day=1..31; date= record dyear: year; dmonth:
- 5. Оператор With Обращения к полям записи могут быть громоздки, для упрощения работы с записями предназначен оператор
- 6. Решение задач Задача1: В классе 30 учеников. Введите фамилии и оценки по 8 предметам для каждого
- 7. Решение задач Задача1: В классе 30 учеников. Введите фамилии и оценки по 8 предметам для каждого
- 8. Решение задач Задача 3 В некотором вузе абитуриенты проходят предварительное тестирование, по результатам которого могут быть
- 9. Решение задач Задача 3 (продолжение условия) При этом , и разделены одним пробелом. Примеры входных строк:
- 10. begin Readln(N); {cчитано количество абитуриентов} for i:=1 to N do begin a[i].name:=‘’; repeat read(c); a[i].name:= a[i].name+c;
- 11. Задачи повышенной сложности На вход программы подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней
- 12. Решение Uses crt; var p:array[1..100] of record name:string; sum: integer; end; N,i,j,m:integer; c:char; begin readln(N); for
- 13. Задачи повышенной сложности На вход программы подаются сведения о багаже пассажиров некоторого поезда. В первой строке
- 15. Скачать презентацию
Слайд 2Комбинированный тип данных (Record)
При работе с массивами основное ограничение заключается в том,
Комбинированный тип данных (Record)
При работе с массивами основное ограничение заключается в том,

Запись – это составной тип данных, содержащий набор элементов разных типов. Составляющие запись элементы называются ее полями. В записи каждое поле имеет собственное имя. Чтобы описать запись, необходимо указать имя записи и имена объектов, составляющих запись и их типы.
Общий вид такой:
Type <имя записи> =
<поле 1>:<тип 1>;
<поле 2>:<тип 2>;
…
<поле n>:<тип n>
End;
Слайд 3Примеры объявления типа данных Record
Пример 1.
Объявление записи в разделе Var
Запись в
Примеры объявления типа данных Record
Пример 1.
Объявление записи в разделе Var
Запись в

Var
address: record
Famil:string[25];
Name: string[15];
City: string[20];
Street: string[40];
Home:integer;
Telephone:integer
End;
Пример 2.
Объявление записи в разделе Type
Запись в записной книжке
Type address=record
Famil:string[25];
Name: string[15];
City: string[20];
Street: string[40];
Home:integer;
Telephone:integer
End;
Var
friend: array[1..15] of address:
Слайд 4Примеры объявления типа данных Record
Пример 3.
Type year=1583..3000;
Month=1..12;
Day=1..31;
date= record
dyear: year;
dmonth:
Примеры объявления типа данных Record
Пример 3.
Type year=1583..3000;
Month=1..12;
Day=1..31;
date= record
dyear: year;
dmonth:

dday: Day;
End;
Var mas: array[1..15] of date;
Пример 4.
Type
date= record
year: 1900..2100;
month: 1..12;
day: 1..31;
End;
pupil= record
Famil, Name,Otch: string[25];
Birthday: date;
Class: 1..11;
End;
Var spisok: array[1..1000] of pupil:
Слайд 5Оператор With
Обращения к полям записи могут быть громоздки, для упрощения работы с
Оператор With
Обращения к полям записи могут быть громоздки, для упрощения работы с

With <Имя записи>do<оператор>;
Один раз указав переменную типа запись в операторе With, можно работать с именами полей как с обычными переменными, т.е. без указания переменной типа запись
For i:=1 to 15 do
Begin
Writeln(‘Введите фамилию’);
Readln(friend[i]. famil);
Writeln(‘Введите имя’);
Readln(friend[i]. Name);
….
Clrscr
End;
For i:=1 to 15 do
With friend[i] do
Begin
Writeln(‘Введите фамилию’);
Readln(famil);
Writeln(‘Введите имя’);
Readln(Name);
….
Clrscr
End;
Слайд 6Решение задач
Задача1: В классе 30 учеников. Введите фамилии и оценки по 8
Решение задач
Задача1: В классе 30 учеников. Введите фамилии и оценки по 8

Uses crt;
Type sved = record
Famil:string[25];
P1,p2,p3,p4,p5,p6,p7,p8:1..5;
Ocsr:real
End;
Var
Spisok:array[1..30] of sved;
Z:sved; I,n:integer; Champ:real;
Begin
For i:=1 to 30 do
With spisok[i] do Begin
Writeln(‘Введите фамилию ученика’);
Readln(famil);
Writeln(‘Введите оценки по 8 предметам’);
Readln(P1,p2,p3,p4,p5,p6,p7,p8);
Clrscr
End;
Описание и ввод данных: фамилии и оценок по 8 предметам
продолжение
Слайд 7Решение задач
Задача1: В классе 30 учеников. Введите фамилии и оценки по 8
Решение задач
Задача1: В классе 30 учеников. Введите фамилии и оценки по 8

For i:=1 to 30 do
With spisok[i] do
Begin
Ocsr:=( P1+p2+p3+p4+p5+p6+p7+p8)/8;
End;
Champ:=0;
For i:=1 to 30 do
If spisok[i]. Ocsr>= Champ then Champ:= spisok[i]. Ocsr;
For i:=1 to 30 do
If spisok[i]. Ocsr= Champ then
With spisok[i] do
Writeln(Famil:30,’---‘,ocsr:8:2);
Readln;
End.
Подсчет среднего балла каждого ученика, поиск максимального (Champ) и вывод на печать
Задача 2. 10 абитуриентов поступают на факультет информатики. Введите фамилии и оценки по 3 экзаменам (математика, информатика, физика) для каждого абитуриента, найдите средний балл и выведите на печать фамилии абитуриентов, имеющих средний балл, больший или равный четырем.
Слайд 8Решение задач
Задача 3 В некотором вузе абитуриенты проходят предварительное тестирование, по результатам
Решение задач
Задача 3 В некотором вузе абитуриенты проходят предварительное тестирование, по результатам

В первой строке вводится количество абитуриентов, принимавших участие в тестировании, N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя> <Баллы>,
Здесь <Фамилия> - строка, состоящая не более чем из 20 символов;
<Имя> - строка, состоящая не более чем из 15 символов;
<Баллы> - строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным при тестировании по каждому из трех предметов.
продолжение
Слайд 9Решение задач
Задача 3 (продолжение условия)
При этом <Фамилия> <Имя> , <Имя> и
Решение задач
Задача 3 (продолжение условия)
При этом <Фамилия> <Имя> , <Имя> и

Примеры входных строк:
Петренко Наталья 58 66 38
Антипов Сергей 99 50 72
Напишите программу, которая будет выводить на экран фамилии и имена абитуриентов, допущенных к сдаче экзаменов в первом потоке. При этом фамилии и имена абитуриентов можно выводить в произвольном порядке.
Var a: array[1..300] of record
name: string;
sum: integer;
end;
C:char; i,j,N,s,m:integer;
Описание переменных
Слайд 10begin
Readln(N); {cчитано количество абитуриентов}
for i:=1 to N do
begin
a[i].name:=‘’;
repeat
read(c);
a[i].name:= a[i].name+c;
until c=‘ ‘;
begin
Readln(N); {cчитано количество абитуриентов}
for i:=1 to N do
begin
a[i].name:=‘’;
repeat
read(c);
a[i].name:= a[i].name+c;
until c=‘ ‘;
![begin Readln(N); {cчитано количество абитуриентов} for i:=1 to N do begin a[i].name:=‘’;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1148710/slide-9.jpg)
Repeat
read(c);
a[i].name:= a[i].name+c;
until c=‘ ‘; {считано имя}
a[i].sum:=0;
for j:=1 to 3 do
begin
read(m);
if m>= 30 then a[i].sum:= a[i].sum+1;
end;
end;
for i:=1 to N do
if a[i].sum=3 then writeln(a[i].name);
readln;
end.
РЕШЕНИЕ
абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из трех предметов выводятся на печать.
Слайд 11Задачи повышенной сложности
На вход программы подаются сведения о сдаче экзаменов учениками
Задачи повышенной сложности
На вход программы подаются сведения о сдаче экзаменов учениками

<Фамилия><Имя><оценки>,
где <Фамилия> - строка, состоящая не более чем из 20 символов, <Имя> - строка, состоящая не более из 15 символов,
<оценки> - три целых числа, соответствующие оценкам по пятибалльной системе.
<Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом.
Пример входной строки:
Иванов Петр 4 2 4
Требуется написать программу, которая будет выводить на экран фамилии и имена неуспевающих учеников (имеющихся по результатам экзаменов хотя бы одну двойку), располагая их в порядке уменьшения числа двоек.
Слайд 12Решение
Uses crt;
var p:array[1..100] of record
name:string;
sum: integer;
end;
N,i,j,m:integer;
c:char;
begin
readln(N);
for i:=1 to
Решение
Uses crt;
var p:array[1..100] of record
name:string;
sum: integer;
end;
N,i,j,m:integer;
c:char;
begin
readln(N);
for i:=1 to
![Решение Uses crt; var p:array[1..100] of record name:string; sum: integer; end; N,i,j,m:integer;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1148710/slide-11.jpg)
begin
p[i].name:=‘’;
repeat
read(c);
p[i].name:= p[i].name+c;
until c:=‘ ‘; {считана фамилия}
Repeat
read(c);
p[i].name:= p[i].name+c;
until c:=‘ ‘; {считано имя}
p[i].sum:=0;
for i:=1 to 3 do
begin
read(m);
if m= 2 then
p[i].sum:=p[i].sum+1;
end; {подсчитано
количество двоек}
readln;
end;
For i:=1 to N do
If p[i].sum=3 then writeln(p[i].name);
{ вывод учащихся с 3 двойками}
For i:=1 to N do
If p[i].sum=2 then writeln(p[i].name);
{ вывод учащихся с 2 двойками}
For i:=1 to N do
If p[i].sum=1 then writeln(p[i].name);
{ вывод учащихся с 1 двойкой}
end.
Слайд 13Задачи повышенной сложности
На вход программы подаются сведения о багаже пассажиров некоторого
Задачи повышенной сложности
На вход программы подаются сведения о багаже пассажиров некоторого

Пример входной строки:
Емельянова Екатерина 4
Требуется написать программу, которая будет выводить на экран фамилии и имена пассажиров, имеющих более 2 вещей. Строки данных выводить на экран упорядоченными по фамилии.
Пример вывода:
Емельянова Екатерина 4
Сергеев Григорий 3
Якушев Антон 4
Использование текстового процессора. Поиск и замена текста
Программа предназначена для автоматической рассылки объявлений на электронные доски
Программирование циклических алгоритмов. Программирование циклов с заданным условием продолжения работы
Сервер CREATIV
Оператор div, mod в Pascal
Правила поведения в чатах
1- Инструменты ретуширования
Задания для шифрования
Элементы теории статистической обработки данных. Основные определения и понятия
Форматирование табличного документа
Физический уровень сети. Сетевой уровень
Базы данных как модель предметной области
Что такое гиперссылка и как она работает?
Презентация на тему Архивация данных
Архитектура ORACLE. Установление соединения по сети
Типы сетей
Программа Student’s athletic helper
Параллельное программирование. Программирование взаимодействующих процессов
Создание сайта для охранного агентства ФондСервис-Б
Сетевой фольклор
Вибір програмної та апаратної конфігурації суб’єкта господарської діяльності
История развития Windows
Программирование в среде RobotC. Вводное занятие
Инструменты Corel
Ветвящиеся и циклические алгоритмы
Образование в условиях Covid-19
Информационное моделирование. Модели объектов и их назначение. Разнообразие информационных моделей
Последовательный поиск элементов в массиве. Алгоритмизация и программирование