Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
31.03.2015
Размер:
79.87 Кб
Скачать

{Один из к/ф, вышедший на экран в 1990 г.?}

program Search (fin, fout);

uses crt;

Var name:string [20];{ название к/ф}

year:1950..1999;{год выхода на экран}

fin, fout :text;{ имя файловой переменной}

p:char; {'y'/'n' - повторение теста}

numb:char; {номер файла с тестовыми данными}

begin

clrscr;

{Оболочка для тестирования}

repeat

Подготовка файлов

chdir('d:\LAB3');{установка директории с тестами}

{Инициализация выходного файла}

assign (fout, ‘res.txt’);

rewrite (fout);

writeln(fout, 'К/ф, вышедший на экран в 1990 г.:');

Writeln ('Введите номер файла: 1 или 2');

readln(numb);

{Инициализация входного файла}

assign ( fin,'film'+numb+'.txt');{сцепление имени и номера файла}

reset(fin);

{Решение задачи а)}

{Поиск первого к/ф, вышедшего на экран в 1990 г.}

repeat

{Ввод способом 1}

readln(fin,name,year);

until eof(fin) or (year=1990);

if eof(fin) then

writeln( fout, 'Такого нет')

else

writeln (fout, name);

close(fin); close(fout);

writeln ('Повторить? (y/n)');

p := readkey;

until (p='N') or (p='n');

end.

 _Тест 1 .  _ Тест 2

Мария 1988 Адам и Ева 1990

Прибытие поезда 1885 Уникум 1993

Солярис 1983 Цыган 1990

Сталкер 1984 Хлопотун 1992

Даки 1975

  1. Тестирование в режиме диалога с двумя файлами входных данных.

Создать файл с исходными данными, где не существует объекта с заданным значением

признака. Сохранить файл (например, в LAB3\film2.txt).

Пример.

Игла 1979

Уникум 1993

Сталкер 1974

film2.txt (fout)

Сделать изменения в программе, предусмотрев выбор нужного входного файла в режиме

диалога. Для того, чтобы не набирать полное имя файла, можно задать имена файлов, отличающиеся только номерами: film1.txt и film2.txt. Тогда, если numb – номер файла (типа char), то строка с именем файла получается путем сцепления символьных констант и символьной переменной: 'film'+numb+'.txt'. Теперь можно организовать диалог с запросом только номера файла, а полное имя получить в программе с помощью символьного выражения. Добавить в программу оболочку для тестирования и провести тестирование.

  1. Сдать задачу а) преподавателю. На экране монитора должны быть 4 окна: с програм -

мой, двумя входными файлами и файлом результатов. Выбор файла с входными данными должен вестись в диалоге с указанием номера этого файла.

  1. Сформулировать задачу б) и расширить спецификацию.

Пример. Задача b): “Найти год и название самого последнего фильма, вышедшего на

экран ”.

Расширить раздел Выходные данные, добавив в выходную форму печать новых резуль -

татов.

Изучить раздел 7.11 “Поиск экстремума в файле”. Записать метод нахождения объекта с максимальным (минимальным) значением признака в раздел Метод.

Добавить в программу фрагмент {Решение задачи б)}, реализующий поиск нужного объекта с максимальным или минимальным значением признака.

Замечание. Так как входной файл в программе будет читаться повторно, то не забыть закрыть его и установить в начальное положение (процедура reset).

Сдать задачу преподавателю по правилам п.8.

  1. Ознакомиться с разделом 8.3. Реализовать в программе ввод данных способом 2. Для

этого в программе определить строковую переменную, в которую будет считываться строка файла.

Например,

var stroka : string [80];

Используя процедуры для обработки строковых переменных (см. раздел 8.3), заменить

в программе способ 1 ввода данных на способ 2.

Пример.

{Ввод данных способом 2}

readln (strока);

{Выделение name и year из str}

  1. Отладить программу для составленных функциональных тестов и сдать работу

преподавателю, выполняя условия п.8.

Соседние файлы в папке Metod1_2010