русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 1672; Нарушение авторских прав


1. Описать файловую переменную.

2. Описать переменную того же типа.

3. Выполнить назначение (Assign).

4. Открыть файл для чтения (Reset).

5. В цикле читать из файла (Read).

6. Закрыть файл (Close).

Пример 5. Определить среднюю температуру для значений, хранящихся в файле Temp.dat.

Program Task2;

Var Ft: File Of Real;

T,St: Real; N: Integer;

Begin Assign(Ft,'Temp.dat');

Reset(Ft);

St:=0;

While Not Eof(Ft) Do

Begin

Read(Ft,T);

St:=St+T

End;

N:=FileSize(Ft);

St:=St/N;

WriteLn('Средняя температура зa',N:3,'суток равна',St:7:2,'гр-в');

Close(Ft)

End.

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

FileSize (<имя файловой переменной>);

Ее результат — целое число, равное текущей длине файла.

Замечание: согласно стандарту Паскаля в файл, открытый оператором Rewrite, можно только записывать информацию, а файл, открытый оператором Reset, можно использовать только для чтения. В Турбо Паскале допускается запись (Write) в файл, открытый для чтения (Reset). Это создает определенные удобства для модификации файлов.

Текстовые файлы. Текстовый файл — наиболее часто употребляемая разновидность файлов. Как уже отмечалось раньше, немагнитные внешние устройства (логические) работают только с текстовыми файлами. Файлы, содержащие тексты программ на Паскале и других языках программирования, являются текстовыми. Различная документация, информация, передаваемая по каналам электронной связи, — все это текстовые файлы.

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

Var <идентификатор>:tехt;

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

 

Каждая строка заканчивается специальным кодом — маркером конца строки (м.к.с.). Весь файл заканчивается маркером конца файла (м.к.ф.). Схематически это выглядит так:



 

Каждый символ представлен во внутреннем коде (ASCII) и занимает 1 байт. Текстовый файл отличается от символьного не только делением на строки. В текстовой файл можно записать и из него прочитать информацию любого типа. Если эта информация несимвольная, то в процессе чтения или записи происходит ее преобразование из символьной формы во внутреннюю и обратно.

Текстовый файл можно создать или преобразовать с помощью текстового редактора. Его можно просмотреть на экране дисплея или распечатать на принтере.

В программах на Паскале для работы с текстовыми файлами наряду с процедурами Read и Write употребляются процедуры ReadLn и WriteLn.

ReadLn(FV,<CПИСок ввода>)

Эта процедура читает строку из файла с именем FV, помещая прочитанное в переменные из списка ввода.

WriteLn(FV,<список вывода>)

Процедура записывает в файл FV значения из списка вывода, после чего выставляет маркер конца строки.

Для обнаружения конца строки в текстовом файле используется функция

Eoln(FV)

(End of line — конец строки). Это логическая функция, которая принимает значение true, если указатель файла достиг маркера конца строки и false — в противном случае.

Употребление операторов Read и ReadLn без указания имени файловой переменной обозначает чтение из стандартного файла Input (ввод с клавиатуры). Употребление операторов Write и WriteLn без имени файловой переменной обозначает запись в стандартный файл Output (вывод на экран). В таком варианте этими операторами мы уже многократно пользовались. Считается, что файлы INPUT и OUTPUT всегда открываются соответственно для чтения и записи при работе любой программы.

При вводе с клавиатуры маркер конца строки обнаруживается при нажатии на клавишу Enter.

Процедура ReadLn может использоваться без списка ввода. В этом случае происходит пропуск текущей строки в читаемом файле.

Употребление процедуры WriteLn без списка вывода обозначает вывод пустой строки (в файле выставляется маркер конца строки).

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

Пример 6. Пусть файл с именем Note.txt содержит некоторый текст. Требуется подсчитать количество строк в этом тексте.

Var Note: Text; К: Integer;

Begin Assign (Note,'Note.txt');

Reset(Note);

K:=0;

While Not Eof(Note) Do

Begin

ReadLn(Note); K:=K+1

End;

WriteLn ('Количество строк равно',К);

Close(Note)

End.

Используемый здесь оператор ReadLn (Note) «пролистывает» строки из текстового файла Note, не занося их в какую-либо переменную.

Пример 7. В текстовом файле Note.txt определить длину самой большой строки.

Var Note: Text;

Max,К: Integer; С: Char;

Begin

Assign(Note,'Note.txt');

Reset (Note);

Max:=0;

While Not Eof(Note) Do

Begin

K:=0;

While Not Eoln(Note) Do

Begin

Read(Note,C); K:=K+1

End;

If K>Max Then Max:=K;

ReadLn(Note)

End;

WriteLn('Наибольшая строка имеет', Max,'знаков');

Close(Note)

End.

Здесь каждая строчка прочитывается посимвольно, при этом в переменной к работает счетчик числа символов в строке. В переменной Мах отбирается наибольшее значение счетчика.



<== предыдущая лекция | следующая лекция ==>
Файлы. Файловые переменные | Комбинированный тип данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.365 сек.