Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА и П.doc
Скачиваний:
23
Добавлен:
29.08.2019
Размер:
13.34 Mб
Скачать

Задание для самостоятельного решения:

  1. Дан файл F, элементами которого являются числа. Найти:

  1. Количество элементов в файле

  2. Наибольший из элементов. Если имеется несколько таких элементов, то посчитать их количество

  3. Среднее арифметическое элементов

  1. Даны файлы F и G, элементами которых являются символы. Записать в файл Н:

а) все элементы файлов F и G;

b) все латинские буквы из файла F.

  1. Даны два файла А и В. Элементами файла А являются целые числа, а файла В – символы. Вывести на экран все числа из первого файла, а рядом с ними – элементы из второго файла с соответствующими номерами. Если во втором файле нет элемента с данным номером, то вывести соответствующее сообщение.

Лабораторная работа №21.

Тема: «Разработка программ обработки созданных файлов».

Цель работы: Получение навыков в написании программ, осуществляющих обработку файлов с последовательным доступом, содержащих комбинированные типы данных.

ЗАДАНИЕ

Напишите программу, которая создает телефонный справочник. Телефоны, вводимые пользователем после запуска программы, записываются в типизированный файл nomera.

Решение:

Program phones;

type

zapis=record; {файл nomera состоит из элементов типа запись}

fam: string[20];

tel: string[6]

end;

var

out: file of zapis;

nam: zapis;

kon: char;

begin

Assign (out, ‘nomera’);

Rewrite (out);

repeat

write (‘Введите фамилию абонента’);

readln (nam.fam);

write (‘Введите номер телефона’);

readln (nam.tel);

write (out, nam);

{первая запись помещается в нулевой элемент файла nomera}

write (‘Будите продолжать? Y/N’);

readln (kon);

until kon<>’Y’;

{замена первой записи последней}

Seek (out, filesize (out)-1);

{ filesize (out) определяет общее количество записей}

read (out, nam);

{считывает последнюю запись во вспомогательную переменную nam}

Seek (out, 0);

Write (out, nam);

{вывод содержимого файла на экран}

reset (out);

{без закрытия файла не будут видны изменения, reset закроет файл, а потом откроет его заново}

while not Eof (out) do

begin

read (out, nam);

writeln (nam.fam, ‘-‘, nam.tel);

end;

close (out);

end.

Задания для самостоятельного решения:

1. Написать программу, которая создает файл с информацией об абитуриентах. В этом файле сведения хранятся в виде записи, содержащие следующие поля:

  • фамилия, имя и отчество;

  • год рождения;

  • средний бал в аттестате;

  • оценки вступительных экзаменов.

2. Написать программу, которая из внешнего файла, содержащего данные об абитуриентах, удаляет записи, соответствующие:

  • абитуриентам, получившим хотя бы одну неудовлетворительную (ниже 5) оценку;

  • абитуриентам, имеющий средний балл по экзаменам ниже 5,25.

Примечание: баллы считаются по десятибалльной системе.

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

Лабораторная работа №22. Тема: «Разработка программ обработки созданных файлов».

Цель работы:1. Ознакомиться с возможностью добавления информации в упорядоченный внешний файл.

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