Приступая к решению задач этого раздела, следует вспомнить, что:

  • в программе, которая выводит результаты в файл или читает исходные данные из файла, должна быть объявлена файловая переменная типа text;
    для доступа к конкретному файлу файловую переменную нужно связать с этим файлом (делается это при помощи инструкции assign);
  • для того, чтобы файл был доступен, его надо открыть (для ЧТеНИЯ С ПОМОЩЬЮ ИНСТРУКЦИИ reset, ДЛЯ заПИСИ — rewrite, для добавления — append);
  • при работе с файлами возможны ошибки, например, из-за того, что программа пытается открыть файл, которого нет, поэтому после каждой инструкции, которая может привести к возникновению ошибки, желательно, используя функцию iOResuit, проверять код завершения операции с файлом: чтобы программа могла контролировать результат выполнения операции с файлом, в ее текст надо поместить директиву
  • запись в файл выполняют инструкции write и writein, чтение — read и readin, причем в качестве первого параметра этих инструкций следует указывать файловую переменную;
  • по завершении работы с файлом его нужно обязательно закрыть инструкцией close;
  • файл, созданный программой, в которой тип файловой переменной объявлен как text, можно просмотреть при помощи редактора текста.

225. Написать программу, которая на сменном диске компьютера (А:) создает файл numbers.txt и записывает в него 5 введенных пользователем целых чисел. Просмотрите при помощи редактора текста, например, встроенного в Norton Commander, созданный файл. Убедитесь, что каждое число находится в отдельной строке.
226. Напишите программу, которая дописывает в файл a:\numbers.txt 5 введенных пользователем целых чисел. Убедитесь при помощи редактора текста, что в файле находятся 10 чисел.
227. Написать программу, которая выводит на экран содержимое файла a:\numbers.txt.
228. Написать программу, которая вычисляет среднее арифметическое чисел, находящихся в файле a:\numbers.txt.
229. Написать программу, которая позволяет просматривать текстовые файлы (выводит на экран содержимое файла), например, файлы исходных программ Turbo Pascal. Имя просматриваемого файла должно вводиться во время работы программы. Рекомендуемый вид экрана приведен ниже.

Просмотр текстового файла.
Введите полное имя файла и нажмите
—> c:\tp\pas\numb.pas

230. Написать программу, которая дописывает в файл phone.txt, находящийся на диске А:, фамилию и номер телефона, например, вашего товарища. Если файла на диске нет, то программа должна создать его. В файле каждый элемент данных (имя, фамилия, телефон) должен находиться в отдельной строке. Рекомендуемый вид экрана во время работы программы приведен ниже.

Добавление в телефонный справочник.
Фамилия —> Сидоров
Имя —> Вася
Телефон -> 234-84-37
Информация добавлена.
Для завершения работы нажмите .

231. Написать программу, используя которую можно за один сеанс работы добавить информацию о нескольких людях в файл a:\phone.txt.
232. Написать программу, которая позволяет найти нужные сведения в телефонном справочнике (a:\phone.txt). Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть одинаковые фамилии, то программа должна вывести список всех людей, имеющих эти фамилии. Рекомендуемый вид экрана во время работы программы приведен ниже.

Поиск в телефонном справочнике.
Введите фамилию и нажмите . Для завершения работы
с программой сразу после приглашения нажмите
—> Петров
В справочнике данных о Петров нет.
—> Иванов
Иванов Вася 578-12-45
Иванов Сергей 244-34-02

233. Напишите программу, которая объединяет возможности
программ Добавление в телефонный справочник И Поиск в телефонном справочнике. При запуске программы на экран должно выводиться меню:

*** Телефонный справочник ***
1. Добавление
2. Поиск
3. Завершение работы
Введите номер пункта меню и нажмите

Факультатив

234. Написать универсальную программу тестирования. Тест, последовательность вопросов и варианты ответов должны находиться в текстовом файле. Имя этого файла программа должна получать из командной строки ее запуска. Количество вопросов теста не ограничено. Однако предлагается ввести следующее ограничение: текст вопроса и альтернативных ответов не должен занимать более одной строки экрана.
Программа должна выставлять оценку по следующему правилу: ОТЛИЧНО — за правильные ответы на все вопросы, ХОРОШО — если испытуемый правильно ответил не менее, чем на 80% вопросов, УДОВЛЕТВОРИТЕЛЬНО — если правильных ответов более 60%, и ПЛОХО — если правильных ответов меньше 60%.
Ниже приведены рекомендуемая структура файла вопросов теста (Nj — количество альтернативных ответов к i-му вопросу, Kj — номер правильного ответа), пример файла теста и вид экрана во время работы программы (номера ответов, введенные пользователем, выделены полужирным шрифтом).

Вопрос1
N1 .M1 ;
Ответ
...

Ответ

Ответ
Вопрос2
N2.M2;
Ответ
...
Ответ
Вопросk
Nk.Mk;
Ответ
...
Ответ
Архитектор Исаакиевского собора
3 2
Доменико Трезини
Огюст Монферран
Карл Рос си
Архитектор Зимнего дворца
2 2
Франческо Бартоломео
Огюст Монферран
Невский проспект получил свое название
3 2
По имени реки, на которой стоит Санкт-Петербург.
По имени близко расположенного монастыря, Александро-Невской
лавры.
в память о знаменитом полководце — Александре Невском.
Сейчас Вам будет предложен тест.
К каждому вопросу дается несколько вариантов ответов.
Вы должны ввести номер правильного ответа
и нажать клавишу
Архитектор Исаакиевского собора:
1. Доменико Трезини
2. Огюст Монферран
3. Карл Росси -> 2
Архитектор Зимнего дворца:
1. Франческо Бартоломео
2. Карл Росси -> 2
Часть I. Задачи
67
Невский проспект получил свое название:
1. По имени реки, на которой стоит Санкт-Петербург.
2. По имени близко расположенного монастыря, Александро-Невской лавры.
З.в память о знаменитом полководце — Александре Невском.
Ваша оценка ОТЛИЧНО!
Для завершения работы программы нажмите

235. Напишите программу, которая по желанию пользователя выводит таблицу пересчета из дюймов в миллиметры на экран, принтер или в файл. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным.

*** Таблица пересчета из дюймов в миллиметры *** Результат выводить:
1 — на экран;
2 — на принтер;
3 — в файл.
Введите число от 1 до 3 и нажмите Ваш выбор -> 1

Дюймы Миллиметры
0.5     12.7
1.0    25.4
1.5    38.1
2.0    50.8
2.5    63.5
3.0    76.2
3.5    88.9
4.0    101.6
4.5    114.3
5.0    127.0