- •Var a: array[1..10] of ta;
- •Var c : record p1 : real; p2 : char; p3 : byte end;
- •Оператор присоединения (with)
- •6. Решение типовых задач
- •6.1 «Работа с записями»
- •Составить программу, выводящую на экран информацию о студентах (фамилия, дата рождения, возраст). Осуществить поиск по фамилии и вывести на экран количество совпадений.
- •«Работа с множествами»
- •7 Контрольные вопросы
- •Приложение а
6. Решение типовых задач
6.1 «Работа с записями»
Составить программу, выводящую на экран информацию о студентах (фамилия, дата рождения, возраст). Осуществить поиск по фамилии и вывести на экран количество совпадений.
program list15;
const n=3;
type gr=record
fio:string[20];
dr:string[10];
age:byte;
end;
var
a:array[1..n] of gr;
l,i:integer;
m:string[20];
begin
{Ввод данных}
i:=0; l:=0;
repeat
i:=i+1;
writeln('Введите данные ',i,' сотрудника');
writeln('Введите фамилию');
readln(a[i].fio);
writeln('Введите дату рождения');
readln(a[i].dr);
writeln('Введите возраст');
readln(a[i].age);
until i=n;
{Вывод данных}
for i:=1 to n do
begin
writeln('********************************');
writeln('Фамилия ',a[i].fio);
writeln('Дата рождения ',a[i].dr);
writeln('Возраст ',a[i].age);
writeln('********************************');
end;
{Поиск фамилии в списке}
writeln('Введите фамилию для поиска');
readln(m);
for i:=1 to n do
begin
if a[i].fio=m then
begin
l:=l+1;
writeln('********************************');
writeln('Фамилия ',a[i].fio);
writeln('Дата рождения ',a[i].dr);
writeln('Возраст ',a[i].age);
writeln('********************************');
end;
end;
writeln('Фамилия ',m,' встречается ',l,' раз ');
readln
end.
«Работа с множествами»
1. Описать множество М(1..50). Сделать его пустым. Вводя целые числа с клавиатуры, заполнить множество 10 элементами.
ProgramInpu_Mno;
Varm:setof1..50;
X,i:integer;
Begin
M:=[];
Fori:=1to10do
Begin
Write(‘Введите ’,I,’ –й элемент множества: ‘);
Readln(x);
If(xinm)then{Если введенное число входит в множество М}
Begin
Writeln(x,’Помещен во множество 1..50’);
M:=M+[x];
End;
End;
Writeln;
End.
2. Создать программу с контролем ввода данных, обеспечив ввод фамилии, имени и отчества только на русском языке.
ProgramFoi_Rus;
Uses crt;
Var Litera: set of char;
N:string;
Ch: char;
Rus: Boolean;
Begin
Litera:=[‘ ’,’A’,..,’п’,’р’,..,’я’];
Write(‘Введите фамилию, имя, отчество’);
Repeat{Считать всю строку N}
Repeat{Считать один символ, входящий в множество Litera}
Ch:=ReadKey;{Считать в Ch код нажатой клавиши}
If ch<>#13 then
Begin
Rus:=ch in Litera;
If Rus then
Begin
N:=N+Ch;{Приклеить введенный символ к N}
Write(Ch);{Напечатать введенный символ в строке ввода}
End
Else{Код нажатой клавиши не входит в множество Litera}
Begin
Writeln(‘Переключитесь в русский регистр’);
Write(‘и введите Ваше имя ’);
End;
End;
UntilRus;{Завершить ввод очередного символа на русском языке}
UntilCh=#13;{Завершить ввод строки N, т.к. нажата клавиша Enter}
Writeln;
Writeln(‘Здравствуйте, ’,N);
End.