Скачиваний:
88
Добавлен:
02.05.2014
Размер:
393.5 Кб
Скачать

Примеры решения задач с использованием файлов

Типизированный файл

Задание

Создать файл, содержащий 50 случайных целых чисел в диапазоне [10..30], вывести числа на экран в обратном порядке.

Программа

Program FileTest1; const

N=50; var

F: file of integer; { объявление файла с целыми числами } i: integer;

m: integer; begin

Assign(F,'test1.dat'); {связать файловую переменную с файлом}

ReWrite(F);

 

{ открыть файл

для записи }

for i:=1 to N do

begin

случайное число }

m := Random(30-10+1)+10; { получить

Write(F, m);

{ записать

число в файл }

end;

{ закрыть файл }

 

Close(F);

чтения }

ReSet(F);

{ открыть тот же файл для

for i:=50 downto

1 do begin

файла }

Seek(F,i-1); {

установить указатель

Read(F,m);

{

считать число из файла }

Write(m:4); {

вывести число на экран }

end;

{ закрыть файл }

 

Close(F);

 

WriteLn;

 

 

 

end.

Результат выполнения программы:

Текстовый файл

Задание

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

Программа

Program FileTest2; Type

{ объявление массива для подсчета символов } RateArray = array ['A'..'Z'] of integer;

var

FT: Text; { объявление файловой переменной текстового типа } ch: char;

N,i: integer; s: String;

rate: RateArray; begin

{начальная инициализация счетчика символов } for ch:='A' to 'Z' do

rate[ch] := 0;

{операции с файлом }

Assign(FT,'test.txt'); {связать

файловую переменную с файлом}

ReSet(FT);

{

открыть файл для чтения

}

while not EOF(FT)

do begin { пока не конец файла

}

ReadLn(FT,s); {

считать строку из файла

}

{

(с переходом на новую строку) }

N := Length(s);

{ взять длину

строки }

строки }

for i:=1 to N do begin

{ цикл

по всем символам

ch := UpCase(s[i]);

{перевести символ в верхний регистр}

if ch in ['A'..'Z'] then { если символ–английская буква } rate[ch] := rate[ch]+1;{увеличить счетчик соотв.символа}

end;

end;

Close(FT); { закрыть файл } for ch:='A' to 'Z' do

Write(ch,': ',rate[ch]:2,' '); {вывести частоты символов} WriteLn;

end.

Исходные данные для тестирования программы talk to me softly

there's something in your eyes don't hang your head in sorrow and please don't cry

i know how you feel inside I've i've been there before somethin's changin' inside you and don't you know

Результат выполнения программы

Соседние файлы в папке Методичка - Borland Pascal 7.0