Урок #2.Входной и
выходной файл данных.
Глава #1 «Самая
простая олимпиадная задача»
*что нужно знать и что делать*
Дух соревнований, муки творчества и восторг победы над
машиной – это все олимпиада по информатике. Такие соревнования проводятся
постоянно и в школе, и в Интернете , образовательные и коммерческие. Цель их
выявить талантливых программистов , дать им дальнейшее образование, ведь
разработка программ самое трудная и высокооплачиваемая профессия.
Начнем с простой программы «Сумма двух чисел». Как ее дают
на олимпиадах?
Условие
задачи и требования к программе строго оговорены:
«Написать
программу нахождения суммы двух целых чисел a и b.Во входном файле INPUT.TXT через пробел записаны два числа a и b, причем -32000<= a,b<=32000.
Результат
вывести в выходной файл OUTPUT.TXT
Пример:
INPUT.TXT
2 3
OUTPUT.TXT
5
Такую задачу мы разобрали на первом уроке. Вводили с
экрана два числа и через ALT+F5 просматривали результат.
Почему же на олимпиадах данные записывают во входной и выходной файлы. Ответ:
чтобы быстрее и точно автоматически протестировать программу. Количество тестов
достигает нескольких десятков. Программа ,успешно преодолевшая все тесты,
получает максимальное количество баллов.
Вот в чем и разница серьезно проводимой
олимпиады на Республиканском и выше уровнем от школьной олимпиады. Там и жюри
построже и участники очень подготовленные, и количество их достигает несколько
десятков. Приз это диплом для поступления в хороший ВУЗ и ценный подарок, чаще
мощный самый современный компьютер.
Приступим к задаче…
Глава #2 «Работа
с входными и выходными файлами: от создания и запуска программы до просмотра
результатов
*зачем это нужно и как это делать*
Перед вами чистое синее поле окна редактора Паскаля и вы с
помощью клавиатуры и латинского алфавита заполнили ее текстом программы «Найти
сумму двух целых чисел»
uses crt;
var a, b:
integer ;
s: integer ;
begin
Clrscr ;
Writeln(‘введите два
числа через пробел ?’);
read
(a,b);
s:=a+b;
Write(‘s=’,s);
end.
И вас сразу выгнали с олимпиады. Почему? Нужно программу
переделать под работу с входными и выходными файлами!!!
F1 - HELP - «помощь»:
·
удаляются
операторы работы с экраном uses crt; и Clrscr ;
·
удаляются
строки подсказки ввода данных Writeln(‘введите два
числа через пробел ?’);
·
удаляются
строки подсказки вывода данных Write(‘s=’,s); просто Write(‘s);
·
после
begin сразу добавляется
модуль работы с входными и выходными данными
Получаем :
var a, b:
integer ;
s: integer ;
begin
assign(input,’input.txt’);
assign(output,’output.txt’);
reset(input);
rewrite(output);
read
(a,b);
s:=a+b;
Write(‘s);
end.
Практическое задание: создадим
входной файл INPUT.TXT и проверим работу
программы
*если
постоянно нажимать F6 переключаются окна INPUT.TXT – входного файла, программы SUMMA.PAS и OUTPUT.TXT- выходного файла, который всегда
заново образуется при очередном запуске программы
*к
входному и выходному файлу можно обращаться и через CTRL+ ENTER, предварительно
подведя к ним курсор в модуле работы с файлами
*тестировать
программу удобнее изменив окна для просмотра и последовательно выполняя
Глава #3 «Вопросы для повторения
и ДЗ»
Вопросы для повторения:
1.
Как
записать модуль подключения работы с входными и выходными файлами?
2.
Как
создать новый файл INPUT.TXT?
3.
Какая
клавиша переключает окна?
4.
Как
создается выходной файл?
5.
Как
тестировать программу несколько раз?
Домашнее
задание:
Написать программу для вычисления «Суммы 4-ех целых чисел»
в режиме работы с входными и выходными файлами и ответить на вопросы письменно.