Написать программу которая создает текстовый файл содержащий сведения о вашем друге

Модуль 17.4 (Работа с текстовыми файлами. Часть 2) курса «Поколение Python: курс для продвинутых» курс расскажет о:

  1. Запись данных в файл
  2. Файловые методы write() и writelines()

Публикуем решения на урок 17.4 Работа с текстовыми файлами. Часть 2

Текстовый файл words.txt содержит следующие строки:

Begin

End;

  1. Пример программы, которая сортирует строчки исходного текстового файла в обратном порядке и записывает их в новый файл под именем namesort.txt.

Nam:String;

SA:Array [0..100] of String[100];

I,N:Integer;

Begin

N:=0;

Write(‘введите имя файла для сортировки строк ’);

ReadLn(Nam);

Assign(Fil,Nam);

Reset(Fil);

While Not EOF(Fil) Do

Begin

ReadLn(Fil,SA[N]);

N:=N+1

End;

For I:=1 To N Do

WriteLn(SA[I-1]);

Close(Fil);

Assign(Fil,’namesort.txt’);

Rewrite(Fil);

For I:=N Downto 1 Do

17.4 Лог файл ️. «Поколение Python»: курс для продвинутых. Курс Stepik

WriteLn(Fil,SA[I-1]);

Close(Fil);

Работа с типизированными файлами

  1. Перепишем программу из примера №4, так что файлы будут копироваться побайтно.

var

f1, f2 : typefile;

c : byte;

begin

assign (f1, ‘C:boot2.ini’);

reset (f1);

assign (f2, ‘C:boot2.txt’);

rewrite (f2);

while not EOF (f1) do

begin

read (f1, c); write (f2, c)

end;

close (f1); close (f2)

  1. Написать программу, которая заносит в файл FILE123 вещественные числа (случайные), выводит файл на экран, определяет размер файла и выводит содержимое случайно выбранного элемента

В программе использованы новые функции и процедуры для прямого доступа при работе с типизированными файлами:

FileSize(VAR f): Longint — возвращает текущий размер файла в записях, т.е. размер файла в байтах можно получить, умножив эту величину на размер одной записи.

FilePos(VAR f): Longint — возвращает текущее значение файлового указателя. Файловый указатель хранит текущий адрес в файле, начиная с которого будет выполняться очередная операция ввода или вывода. При каждой операции ввода-вывода файловый указатель автоматически смещается на количество введенных или выведенных записей.

i,n : Byte;

r,x : Real;

BEGIN

Assign(f,’FILE123′);

Rewrite(f);

Randomize;

FOR i:=1 TO n DO

BEGIN

r:=Sqrt(i);

WRITE(f,r);

END;

Writeln;

Close(f);

Reset(f)

While not eof(f) do

Begin

Read(f,x);

Write(x:0:3, ‘ ‘);

…Writeln;

WRITELN(‘Размер файла=’,

FileSize(f));

i:=Random(n);

Seek(f,i);

READ(f,r);

WRITELN(‘Запись номер ‘,

FilePos(f), ‘ содержит ‘,r:0:3);

Close(f);

Работа с бинарными (нетипизированными) файлами

(покажем варианты двух предыдущих программ, но с использованием бинарных типов файлов)

ChatGPT создаст любое приложение за считанные секунды

  1. Вариант решения программы из примера №8 (укороченный)

В программе использованы новые специальные процедуры для открытия и чтения-записи при работе с бинарными файлами, т.к. чтение/запись выполняется блоками определенного размера:

Reset(VAR f : FILE; RecSize: Word);.

Rewrite(VAR f : FILE; RecSize: Word);.

Параметр RecSize — это длина записи в байтах. Ввод-вывод в бинарный файл можно осуществлять порциями, кратными длине записи. Если при открытии файла задать длину записи в 1 байт, то такой файл сможет содержать любые данные.

BlockRead(VAR f:FILE; VAR Buf; Count:Word);.

BlockWrite(VAR f:FILE; VAR Buf; Count:Word);

Здесь Buf — любая переменная, Count — количество вводимых или выводимых записей

i,n : Byte;

r : Real;

BEGIN

Assign(f,’FILE123′);

Rewrite(f, sizeof(real));

Randomize;

FOR i:=1 TO n DO

BEGIN

r:=Sqrt(i);

BlockWRITE(f,r);

END;

WRITELN(‘Размер файла=’,

FileSize(f));

i:=Random(n);

Seek(f,i);

BlockREAD(f,r);

WRITELN(‘Запись номер ‘,FilePos(f), ‘ содержит ‘,r:0:3);

Close(f);

f1, f2 : file;

X : array[1..64000] of byte;

r : word;

begin

assign (f1, ‘C:boot2.ini’);

reset (f1,1);

assign (f2, ‘C:boot2.bin’);

rewrite (f2,1);

repeat

blockread (f1,X,sizeof(X),r);

blockwrite (f2,X,r);

close (f1); close (f2)

Источник: egeikt.wordpress.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru