Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_5_7.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
349.7 Кб
Скачать

7.6. Пример структуры программы

program file_operation; {Программа для работы со списком сотрудников}

uses crt;

type

zap=record {Определение записи с полями «фамилия» - name, «тарифная ставка» - tarif}

name:string[15];

tarif:LongInt

end;

var

F1: file of zap;

s : zap; c : char;

procedure out_fil; {Процедура сохранения данных в файле}

var file_name : string;

begin

..... {Задание имени файла для сохранения}

assign(F1, file_name);

... {Открытие файла для записи и контроль ошибок при выполнении этой операции}

repeat

write(‘Введите фамилию или * (признак окончания ввода ‘);

readln(s.name);

if s.name <> ‘*’ then

begin

writeln(‘Введите тариф’);

readln(s.tarif);

write(F1,s)

end

until s.name = ‘*’;

close(F1)

end;

procedure IN_fil; {Процедура чтения данных из файла и вывода на экран}

var file_name : string;

begin

... {Задание имени файла для чтения}

assign(F1, file_name);

... {Открытие файла для чтения и контроль ошибок при

выполнении этой операции}

writeln(‘------ Список ... -------‘); {Заголовок списка}

repeat {Цикл чтения данных из файла и вывода на экран}

read(F1,s);

writeln(s.name, ‘ ‘,s.tarif)

until Eof(F1);

close(F1)

end;

begin { ---- Начало головной части программы ----}

repeat { Цикл сохранения данных. Если при каждом обращении к процедуре Out_fil задавать разные имена файлов, то этот

цикл позволит сохранить несколько списков; каждый список в своем файле}

clrscr;

Out_fil;

writeln(‘Закончить ввод списков ? (Y/N)’); readln;

until (c = ‘Y’) or (c=’y’);

repeat { Цикл чтения данных. Этот вариант позволяет просмотреть списки из разных файлов, имена которых задаются при каждом обращении к процедуре In_fil}

clrscr;

In_fil;

writeln(‘Закончить просмотр списков ? (Y/N)’); readln(с);

until (c = ‘Y’) or (c=’y’);

end. {Окончание программы}

7.7. Варианты заданий

Таблица 7.1

№ варианта

Тип данных

(табл. 7..2)

Задание имени файла

(табл. 7.3)

Сообщение об ошибках (табл. 7.4)

Последовательность операций над данными (табл. 7.5)

1

1

2

1

2

2

1

1

2

2

1

2

2

1

1

2

3

4

3

1

3

1

2

2

1

1

2

4

1

4

1

2

2

1

3

4

5

2

4

1

2

1

2

1

2

6

2

4

2

1

2

1

3

4

7

2

5

1

2

1

2

1

2

8

2

5

2

1

2

1

3

4

9

2

6

1

2

1

2

1

2

10

2

6

2

1

1

2

3

4

11

2

7

1

2

2

1

1

2

12

2

7

2

1

2

1

3

4

13

1

2

2

1

2

1

4

3

14

1

3

1

2

2

1

2

1

15

2

8

1

2

1

2

1

2

16

3

4

2

1

2

1

3

4

17

3

5

1

2

1

2

1

2

18

3

6

2

2

1

2

3

4

19

3

7

1

2

1

2

1

2

20

3

8

2

1

1

2

3

4

Таблица 7.2

№ варианта

Тип данных в файле

1

Текст

2

Вещественные числа

3

Целые числа

4

Записи со структурой табл. 7.6

5

Записи со структурой табл. 7.7

6

Записи со структурой табл. 7.8

7

Записи со структурой табл. 7.9

8

Записи со структурой табл. 7.10

Таблица 7.3 Таблица 7.4

№ варианта

Вариант задания имени файла

№ варианта

Вариант вывода сообщений об ошибках

1

Ввод с клавиатуры

1

Краткий

2

Строковая константа в программе

2

Расширенный

Таблица 7.5

№ варианта

Вариант цепочки операций над данными

1

Ввод с клавиатуры и запись в массив, запись из массива в файл, чтение из файла и вывод на экран

2

Ввод с клавиатуры и запись в файл, чтение из файла и вывод на экран, дополнение файла

3

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран

4

Ввод с клавиатуры и запись в массив, запись из массива в файл, дополнение файла, чтение из файла и вывод на экран

Структуры данных для программы (к табл. 7.2)

Таблица 7.6 Таблица 7.7

Товар

Сотрудник

Наименование

Цена

Количество

Фамилия

Должность

Оклад

Таблица 7.8 Таблица 7.9

Студент

Фирма

Фамилия

Экзаменационные оценки

Название

Курс акций

Математика

Информатика

покупка

продажа

Таблица 7.10

Автомобиль

Марка

Мощность

Максимальная скорость

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]