Работа 3.9 Упр.27 ГДЗ Семакин 10 класс (Информатика)
а) Получить названия телепередач, которые идут в указанный день в указанный промежуток времени.
б) Получить названия телепередач, которые идут в указанный день на указанном канале.
в) Получить информацию об указанном фильме. Если он отсутствует в телепрограмме, то вывести на экран сообщение «Такой передачи на данной неделе нет».
г) На каком канале и в какое время будет транслироваться развлекательная передача «Поле чудес»?
д) Выяснить, есть ли передача, транслирующаяся больше одного раза в одно и то же время. Если есть, то какая?
е) Получить названия телепередач, транслирующихся в указанное время на разных каналах.
ж) Получить название самой продолжительной передачи, которая идет в понедельник.
з) Получить информацию на каждый день недели о передаче, которая завершает эфир.
Для решения задачи удобно записать сведения о телепередачах в файл типа записи и затем выполнять поиск по нужному признаку.
В программе используется запись:
type tv = record
Day: string;
Time: real;
Canal: integer;
Vid: string;
Name: string;
end;
Сначала данные из текстового файла считываются в массив записей и одновременно переписываются в типизированный файл. Затем можно просматривать записи и выводить нужную информацию.
Идея решения для пунктов задания такая:
- а) выбрать передачи по дню недели и промежутку времени;
- б) выбрать передачи по дню недели и каналу;
- в) найти передачу по названию и вывести её данные, а если не найдена — сообщение о её отсутствии;
- г) найти передачу «Поле чудес» и вывести канал и время;
- д) проверить, есть ли разные передачи, идущие в одно и то же время;
- е) вывести передачи, которые идут в указанное время на разных каналах;
- ж) среди передач понедельника найти самую продолжительную;
- з) для каждого дня недели определить передачу, завершающую эфир.
Ниже приведён фрагмент программы, который реализует чтение и просмотр записей.
Procedure Tip_File;
begin
reset(a);
rewrite(z);
i:=0;
while not eof(z) do
begin
i:=i+1;
readln(a,b[i].Day);
readln(a,b[i].Time);
readln(a,b[i].Canal);
readln(a,b[i].Vid);
readln(a,b[i].Name);
write(z,b[i]);
end;
n:=i;
close(a);
close(z);
writeln(‘Ваши значения введены в тип файл!’);
end;begin
reset(z);
while not eof(z) do begin
read(z,s);
writeln(s.Day);
writeln(s.Time);
writeln(s.Canal);
writeln(s.Vid);
writeln(s.Name);
writeln;
end;
end.
Для выполнения пунктов а)–з) к этому фрагменту нужно добавить соответствующие условия отбора и поиск по массиву записей.
Ответ: решение строится на обработке массива записей о телепередачах и поиске по полям Day, Time, Canal, Vid, Name.