Смекни!
smekni.com

Паскаль язык профессионального программирования (стр. 2 из 2)

spisok[j].srball[j]:=spisok[mesto].srball[mesto];

spisok[mesto].srball[mesto]:=t;

q:=spisok[j].famil;

spisok[j].famil:=spisok[mesto].famil;

spisok[mesto].famil:=q;

with spisok[j] do writeln(famil:8,srball[j]:6:2);

End;

End.

III. Работа с файлами.

Цель задания:

1. Изучение файловых типов.

2. Получение практических навыков работы с файлами.

ФАЙЛ (от англ. file, основные значения), совокупность упорядоченных и взаимосвязанных записей, имеющая описание для идентификации отдельных записей.

Язык Турбо Паскаль предлагает три вида такого представления:

- типизированные файлы,

- текстовые файлы,

- нетипизированные файлы.

Типизированный файл – последовательность элементов одного типа.

Текстовый файл – файлы символьных данных. Текстовые файлы имеют тип text.

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

Для работы с файлами используются следующие функции:

- Assign – функция, ассоциирующая имя файла с некоторой переменной, с которой и идет последующая работа.

- Reset – функция, открывающая уже существующий файл для чтения из него.

- Rewrite – функция, создающая новый файл, или перезаписывающая старый.

- Readln – чтение из указанного файла строки с переходом на следующую строку.

- Writeln – запись в указанный файл строки с переходом на следующую строку.

Вообще, файл рассматривается не просто как несколько строк, а как запись (record), что значительно упрощает работу с файлами.

Поставленная задача:

Подготовить данные и организовать ввод данных в файл. Организовать чтение файла и вывод нужной информации.

Дан файл f, содержащий различные даты. Каждая дата – это число, месяц и год. Год с наименьшим номером.

Решение:

program spisok;

uses crt;

var f:text;

name,txt,s,a: string;

s1,min,y:integer;

begin

clrscr;

write('Введите имя файла для записи текста:');

readln(name);

writeln;

assign(f,name);

rewrite(f);

repeat

write('введитедату:');

readln(txt);

writeln(f,txt);

until txt='';

close (f);

writeln;

reset (f);

min:= 9999;

while not eof(f) do

Begin

readln (f,a);

s:=copy(a,7,4);

val(s,s1,y);

if (s1<min) and (s1<>0) then min:=s1;

end;

writeln('наименьший год:',min);

close (f);

end.