Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  Прочее  /  Презентация по теме "Тип данных - запись в языке Pascal"

Презентация по теме "Тип данных - запись в языке Pascal"

В презентации представлено описание типа "запись" и примеры работы с ним.
23.08.2023

Содержимое разработки

Тип данных – запись

Тип данных – запись

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

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

Общий формат:   Type имя_типа = record    : тип поля 1;    : тип поля 2;   …   End; где record – служебное слово, а  и  - правильные идентификаторы языка Паскаль.

Общий формат:

Type имя_типа = record

: тип поля 1;

: тип поля 2;

End;

где record – служебное слово, а и - правильные идентификаторы языка Паскаль.

Замечания: 1. При описании типа записи в блоке Type последняя ; перед словом end может быть опущена. 2. Уникальность имен полей требуется только внутри одной записи. Имена полей одной записи могут совпадать с именами полей в других записях. 3. Для присвоения полям конкретных значений используется оператор присваивания.

Замечания:

1. При описании типа записи в блоке Type последняя ; перед словом end может быть опущена.

2. Уникальность имен полей требуется только внутри одной записи. Имена полей одной записи могут совпадать с именами полей в других записях.

3. Для присвоения полям конкретных значений используется оператор присваивания.

Пример фрагмента программы описания записи Паскаля    Type anketa = record     fio: string[45];     pol: char;     dat_r: string[8];     adres: string[50];     curs: 1..5;     grupp: string[3];  end;

Пример фрагмента программы описания записи Паскаля

Type anketa = record    fio: string[45];    pol: char;    dat_r: string[8];    adres: string[50];    curs: 1..5;    grupp: string[3]; end;

Type anketa1 = record     fio: string[45];     pol: char;     dat_r: record      god: integer;      mes: string[10];      den: 1..31;   end;  adres: record      gorod: string[25];      ulica: string [20];      dom, kv: integer;  end;  curs: 1..5;     grupp: string[3];  end;

Type anketa1 = record    fio: string[45];    pol: char;    dat_r: record     god: integer;     mes: string[10];     den: 1..31; end; adres: record     gorod: string[25];     ulica: string [20];     dom, kv: integer; end; curs: 1..5;    grupp: string[3]; end;

var  student: anketa;  student1: anketa1;

var student: anketa; student1: anketa1;

. Например, чтобы обратиться к полю curs переменной student , необходимо указать следующее составное имя: student.curs := 3;

.

Например, чтобы обратиться к полю curs переменной student , необходимо указать следующее составное имя:

student.curs := 3;

Для того чтобы обратиться к полю god в записи student 1, необходимо записать уточняющий идентификатор, состоящий из трех имен: student1.dat_r.god := 1982;

Для того чтобы обратиться к полю god в записи student 1, необходимо записать уточняющий идентификатор, состоящий из трех имен:

student1.dat_r.god := 1982;

Задача Пусть нам необходимо заполнить сведения о студенте (Ф.И.О., дата рождения, адрес, курс и группа), а затем вывести эти сведения на экран.

Задача

Пусть нам необходимо заполнить сведения о студенте (Ф.И.О., дата рождения, адрес, курс и группа), а затем вывести эти сведения на экран.

program primer1;  type anketa = record     fio: string[45];     dat_r: string[8];     adres: string[50];     curs: 1..5;     grupp: string[3]  end;  var student: anketa;  begin     writeln (‘введите сведения о        студенте’);     {обратите внимание, ввод каждого поля осуществляется отдельно}     writeln (‘введите фамилию, имя и отчество’);     readln (student.fio);

program primer1; type anketa = record    fio: string[45];    dat_r: string[8];    adres: string[50];    curs: 1..5;    grupp: string[3] end; var student: anketa; begin    writeln (‘введите сведения о студенте’);    {обратите внимание, ввод каждого поля осуществляется отдельно}    writeln (‘введите фамилию, имя и отчество’);    readln (student.fio);

writeln (‘введите дату рождения’);     readln (student.dat_r);     writeln (‘введите адрес’);     readln(student.adres);     writeln (‘введите курс’);     readln(student.curs);     writeln (‘введите группу’);     readln (student.grupp);     writeln (‘ввод закончен’);     writeln ;     {обратите внимание, что вывод записи осуществляется по полям}     writeln (‘фамилия студента: ’, student . fio );     writeln(‘ дата рождения : ’, student.dat_r);     writeln(‘ адрес : ’, student.adres);     writeln(‘ курс : ’, student.curs);     writeln(‘ группа : ’, student.grupp);  end.

writeln (‘введите дату рождения’);    readln (student.dat_r);    writeln (‘введите адрес’);    readln(student.adres);    writeln (‘введите курс’);    readln(student.curs);    writeln (‘введите группу’);    readln (student.grupp);    writeln (‘ввод закончен’);    writeln ;    {обратите внимание, что вывод записи осуществляется по полям}    writeln (‘фамилия студента: ’, student . fio );    writeln(‘ дата рождения : ’, student.dat_r);    writeln(‘ адрес : ’, student.adres);    writeln(‘ курс : ’, student.curs);    writeln(‘ группа : ’, student.grupp); end.

А теперь слегка усложним задачу. Пусть нам необходимо иметь сведения о многих студентах, например, нашего факультета. Следовательно, необходимо организовать массив записей Паскаля. А затем из общего списка вывести фамилии студентов 2-го курса.

А теперь слегка усложним задачу. Пусть нам необходимо иметь сведения о многих студентах, например, нашего факультета. Следовательно, необходимо организовать массив записей Паскаля. А затем из общего списка вывести фамилии студентов 2-го курса.

program primer 2;  type anketa = record     fio: string[45];     dat_r: string[8];     adres: string[50];     curs: 1..5;     grupp: string[3]  end;  var student: array [1..100] of anketa;     i: integer;  begin     {последовательно вводим каждую запись}     for i := 1 to 100 do     begin

program primer 2; type anketa = record    fio: string[45];    dat_r: string[8];    adres: string[50];    curs: 1..5;    grupp: string[3] end; var student: array [1..100] of anketa;    i: integer; begin    {последовательно вводим каждую запись}    for i := 1 to 100 do    begin

writeln (‘введите сведения о’, i , ‘-м студенте’); writeln (‘введите фамилию, имя и отчество’);  readln (student[i].fio);  writeln (‘введите дату рождения’);  readln (student[i].dat_r);  writeln (‘введите адрес’);  readln(student[i].adres);  writeln (‘введите курс’);  readln(student[i].curs);  writeln (‘введите группу’);  readln (student[i].grupp);

writeln (‘введите сведения о’, i , ‘-м студенте’);

writeln (‘введите фамилию, имя и отчество’); readln (student[i].fio); writeln (‘введите дату рождения’); readln (student[i].dat_r); writeln (‘введите адрес’); readln(student[i].adres); writeln (‘введите курс’); readln(student[i].curs); writeln (‘введите группу’); readln (student[i].grupp);

end;     writeln (‘ввод закончен’);     writeln ;     {просматриваем массив записей и выбираем только студентов 2-го курса }     for i:=1 to 100 do        if student[i].curs = 2 then           writeln(‘ фамилия студента : ’, student[i].fio);  end.

end;    writeln (‘ввод закончен’);    writeln ;    {просматриваем массив записей и выбираем только студентов 2-го курса }    for i:=1 to 100 do       if student[i].curs = 2 then          writeln(‘ фамилия студента : ’, student[i].fio); end.

Оператор присоединения with Префикс – обязательная предшествующая часть составного идентификатора для имен полей в структуре типа запись Паскаля. with  do  ;

Оператор присоединения with

Префикс – обязательная предшествующая часть составного идентификатора для имен полей в структуре типа запись Паскаля.

with do

;

for i:=1 to 100 do     with student[i] do     begin        writeln (‘введите сведения о’, i , ‘-м студенте’);        writeln (‘введите фамилию, имя и отчество’);        readln (fio);        writeln (‘введите дату рождения’);        readln (dat_r);        writeln (‘введите адрес’);        readln(adres);        writeln (‘введите курс’);        readln(curs);        writeln (‘введите группу’);        readln (grupp);     end;

for i:=1 to 100 do    with student[i] do    begin       writeln (‘введите сведения о’, i , ‘-м студенте’);       writeln (‘введите фамилию, имя и отчество’);       readln (fio);       writeln (‘введите дату рождения’);       readln (dat_r);       writeln (‘введите адрес’);       readln(adres);       writeln (‘введите курс’);       readln(curs);       writeln (‘введите группу’);       readln (grupp);    end;

Домашнее задание: Пользователь вводит дату рождения. Написать программу, которая выдает пользователю день недели, в который он родился. Для даты рождения использовать запись.

Домашнее задание:

Пользователь вводит дату рождения. Написать программу, которая выдает пользователю день недели, в который он родился. Для даты рождения использовать запись.

-80%
Курсы повышения квалификации

Использование информационных технологий в процессе обучения в условиях реализации ФГОС

Продолжительность 72 часа
Документ: Удостоверение о повышении квалификации
4000 руб.
800 руб.
Подробнее
Скачать разработку
Сохранить у себя:
Презентация по теме "Тип данных - запись в языке Pascal" (81.5 KB)

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт