Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uch_praktika_-_4_-_zapisii_mnozhestva.doc
Скачиваний:
5
Добавлен:
19.05.2015
Размер:
92.67 Кб
Скачать

6. Решение типовых задач

6.1 «Работа с записями»

  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. Описать множество М(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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]