Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие ИТМО-ПАС.doc
Скачиваний:
6
Добавлен:
15.11.2019
Размер:
769.54 Кб
Скачать

Ввод данных

READ (B.GR):

READ(B.FIO);

Магнитный диск

N FIO GR

клавиатура

Фамилия

Год рожд

1

Петров

1986

TXT. DAN

B

WRITE (F1, N)

В ывод данных Магнитный диск

Writeln(B.N, B.FIO, B.GR);

Фамилия

Год рожд

1

Петров

1986

МОНИТОР

B

1 Петров 1986

READ (F1, B)

Для ввода и вывода данных используются следующие операторы:

f_zap – Вспомогательная файловая переменная.

B – Вспомогательная переменная типа записи (для ввода-вывода записей из файла).

Assign (fizap,'sp.doc'); – Логическое подключение файла,'spis.dok' на магнитном диске к вспомогательной файловой переменной fizap

Rewrite(f_zap) - Открытие файла на МД с именем 'spis.dok' через вспомогательную файловую переменную fizap для ввода данных.

Reset(f_zap) - Открытие файла на МД с именем 'spis.dok' через вспомогательную файловую переменную fizap для вывода данных.

write(f_zap,b);– запись данных из вспомогательной переменной типа записи b в файл 'spis.dok' на магнитном диске.

read(f_zap,b); - Чтение данных из файла 'sp.doc' на магнитном диске во вспомогательную переменную типа записи.

CLOSE (f_zap) – Закрытие файла.

Задача №15. Составить программу ввода списка студентов группы с указанием фамилии студента и года рождения в файл и вывода содержимого файла на экран дисплея.

Исходные данные:

------------------------------------------------------------

№ | Фамилия и инициалы | Год рождения

-----------------------------------------------------------

1 | Иванов С.А. | 1976

2 | Андреев П.И. | 1977

Программа решения задачи имеет вид:

Program Spis_gr; {заголовок программы}

Uses

Crt;

Type

zap=record { Описание структуры записи }

fio:STRING[10]; {поле фамилия на 10 символов}

gr:integer; {поле год рождения}

end;

Var

f_zap:file of zap; { файловая переменная }

b:zap; { переменная типа записи}

i,n:integer; {переменные для циклов }

Begin {начало операторной части программы}

Assign(f_zap,'sp.doc'); {подключение файловой переменной к файлу 'sp.doc’ }

Rewrite(f_zap); {открытие файла с именем 'sp.doc’ на запись}

Write('Введите кол-во студентов'); {вывод сообщения}

Readln(n); {ввод количества строк}

Write('Введите фам и год рожд студентов'); {вывод сообщения}

For i:=1 to n do {цикл для ввода данных}

begin

write('=>'); {вывод сообщения}

read(b.fio); {ввод фамилии}

readln(b.gr); {ввод года рождения}

write(f_zap,b); {сохранение записи в файле 'sp.doc' на магнитном диске}

end; {конец цикла}

Close(f_zap); {закрытие файла}

{ВЫВОД ИЗ ФАЙЛА}

I:=1; {установка значения счетчика на начало}

WRITELN; {указатель на начало новой строки}

WRITELN(' СПИСОК КУРСАНТОВ'); {вывод сообщения}

WRITELN('-------------------------------'); {вывод сообщения}

WRITELN(' № I ФАМИЛИЯ I ГОД РОЖДЕНИЯ'); {вывод сообщения}

WRITELN('-------------------------------'); {вывод сообщения}

Reset(f_zap); {открытие файла на чтение записи}

While not eof(f_zap) do {цикл для чтения записей из файла и вывода на экран}

begin

read(f_zap,b); { чтение записи с магнитного диска в переменную типа записи}

writeln(I:2,' I', b.fio:10,' I ',b.gr); {вывод полей записи на экран}

I:=I+1; {увеличение значения счетчика для вывода номера строки}

end; { конец цикла}

WRITELN('-------------------------------'); {вывод сообщения}

Writeln('конец '); {вывод сообщения}

End. {конец программы }