Дата 27.03.2020 г. Группа № 16.
ОДБ.13 Информатика и ИКТ.
Тема 3.8. Организация ввода-вывода с использованием файлов.
Занятие № 64-65. Текстовые файлы. Файлы с прямым и последовательным доступом. Файловая переменная и ее связь с именем файла
Цели: рассмотреть типы файлов и файловые переменные.
Ход урока
I. Организационный момент
II. Контрольная проверка знаний
III. Изучение нового материала
Видеоурок по данной теме можно просмотреть, перейдя по ссылке:
1. https://www.youtube.com/watch?time_continue=20&v=r1u5LVkgI_4&feature=emb_logo
Вводом/выводом называется обмен данными между оперативной памятью и любыми внешними устройствами, в том числе устройствами внешней памяти: магнитными и оптическими дисками, флеш-накопителями.
Информация на внешних носителях хранится в файлах. По форме хранения данных файлы бывают типизированными, нетипизированными и текстовыми. В типизированных и нетипизированных файлах данные различных типов хранятся в том же формате, что и в оперативной памяти. Следовательно, при чтении и записи в такие файлы данные копируются, не изменяя объема и формы своего представления. В текстовых файлах данные хранятся в символьном формате. Поэтому при вводе (чтении) чисел из текстового файла происходит преобразование их представления из символьной формы в форму их внутреннего представления (с фиксированной или плавающей запятой). А при выводе (записи) чисел в текстовый файл они преобразуются из внутренней формы в символьную.
|
|
Далее мы будем использовать только текстовые файлы.
Текстовые файлы
Текстовый файл — наиболее часто употребляемая разновидность файлов. Устройства ввода с клавиатуры и вывода на экран работают только с текстовыми файлами. Файлы, содержащие тексты программ на Паскале и других языках программирования, являются текстовыми. Различная документация, информация, передаваемая по каналам электронной связи, — всё это текстовые файлы.
Содержимое текстового файла представляет собой символьную последовательность, разделенную на строки. Каждая строка заканчивается специальным признаком EOLN {end of line — конец строки). Весь файл заканчивается признаком EOF {end of file — конец файла). Схематически это выглядит так:
Здесь S, обозначает i-й символ в строке. Каждый символ представлен во внутреннем коде (ASCII) и занимает 1 байт. Признак EOLN состоит из двух однобайтовых управляющих кодов: CR (код ASCII — 13) — возврат к началу строки и LF (код ASCII — 10) — перевод строки. При выводе содержимого текстового файла на экран или на печать признак EOLN обеспечивает визуальное разделение строк: переход к продолжению вывода с новой строки.
|
|
Текстовый файл можно создать или преобразовать с помощью текстового редактора. Его можно просмотреть на экране монитора или распечатать на принтере.
Ввод из текстового файла
Исходные данные могут быть заранее подготовлены в файле с помощью текстового редактора и сохранены на диске под определенным именем. Ввод исходных данных из файла производится автоматически, и при этом не происходит задержки выполнения программы, как при клавиатурном вводе.
Для организации ввода данных из текстового файла следует:
• объявить в программе переменную с типом Text (она называется файловой переменной);
• связать файловую переменную с файлом внешней памяти, содержащим исходные данные, с помощью оператора Assign;
• открыть файл для чтения с помощью процедуры Reset;
• осуществить чтение из файла с помощью операторов Read или ReadLn;
• закрыть файл с помощью оператора Close.
Пример 1. В текстовом файле с именем abc.txt хранятся пять чисел, разделенных на две строки:
2.5 3.1 4.0
0.7 1.5
В следующей программе организован ввод этих данных в вещественные переменные а, b, с, d, е.
Если файл хранится не в текущем каталоге, то в операторе Assign кроме имени файла надо указывать полный путь к нему. Имя файла можно задавать в строковой константе или переменной.
Для массивов большого размера удобно производить ввод значений из заранее подготовленного текстового файла с исходными данными.
Пример 2. Пусть в текстовом файле с именем matr.txt с помощью текстового редактора записана следующая числовая матрица размером 4x4:
В следующей программе производится ввод этой матрицы в двумерный массив М: