Запись в типизированный и текстовый файлы

Задача

Осуществить запись одинаковых данных в типизированные и текстовый файлы.
Сравнить размер файлов.

Решение

 

Описание переменных: 

file_r, file_i, file_t – переменные связываемые с файлами для хранения действительных чисел, целых чисел и текста соответственно;
n – количество записываемых чисел;
a – текущее число.

Алгоритм решения задачи: 

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

У пользователя запрашивается количество вводимых чисел.

В цикле for считывается очередное число и записывается в три разных файла.

В конце файлы закрываются.

Программа на языке Паскаль: 

 

var
    file_r: file of real;
    file_i: file of integer;
    file_t: text;
    i, n: integer;
    a: integer;
 
begin
    assign(file_r,'c:/rfile.txt');
    assign(file_i,'c:/ifile.txt');
    assign(file_t,'c:/tfile.txt');
 
    rewrite(file_r);
    rewrite(file_i);
    rewrite(file_t);
 
    write('n=');
    readln(n);
    for i:= 1 to n do begin
        write('a=');
        readln(a);
        write(file_r,a);
        write(file_i,a);
        write(file_t,a);
    end;
 
    close(file_r);
    close(file_i);
    close(file_t);
 
readln
end.

 

Примечания: 

Размер типизированного файла из вещественных чисел всегда будет равен произведению количества записываемых чисел (n) и размеру памяти, отводимого под тип real (скорее всего 8 байт). Например, если записать в файл 5 чисел, то он будет равен 40 байтам.

Файл из целых чисел при тех же данных будет равен 10 байтам, если под каждое данное типа integer отводится 2 байта.

Размер текстового файла напрямую зависит от того, сколько символов-цифр было введено и не зависит от количества записываемых чисел. Так, если было введено 5 одноразрядных чисел, то файл будет равен 5 байтам, если же присутствовали два двухразрядных и три одноразрядных, то размер файла увеличится до 7 байт и т.д. (Под каждый символ выделяется 1 байт).

 

Тема

Файлы

Уровень

Простые задачи