
- •Любой алгоритм, какой бы он сложный не был, содержит лишь три основных, или, иначе говоря, базовых структуры. Этими базовыми структурами являютия:
- •Любой алгоритм, какой бы он сложный не был, содержит лишь три основных, или, иначе говоря, базовых структуры. Этими базовыми структурами являютия:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Строковый тип данных
- •Описание констант
- •Операция присваивания
- •Приоритет операций
- •Оператор присваивания
- •Совместимость и преобразование типов
- •Элементарный ввод-вывод
- •Лекция 5 Выражения
- •Математические операции
- •Логические операции
- •Операции отношения
- •Приоритет операций
- •Основные математические функции
- •Уменьшает значение числа X на y. Если число y не указано, то уменьшение происходит на 1. Циклы
- •Арифметические циклы
- •Итерационные циклы с предусловием
- •Итерационные циклы с постусловием
- •Операторы завершения цикла
- •Операторы ветвления и цикла Условный оператор if
- •Оператор множественного выбора Case
- •Операторы цикла
- •Операторы ветвления и цикла
- •Условный оператор if
- •Оператор множественного выбора Case
- •Операторы цикла
- •Лекция 7. Подпрограммы: процедуры и функции
- •Пример 27
- •Обмен данными
- •4.2. Множества
- •4.2.1. Объявление типа множества
- •4.2.2. Операции над множествами
- •4.2.3. Пример использования множества
- •Пример 33
- •4.3. Строки
- •4.3.1. Объявление типа String
- •4.3.2. Операции над строковыми переменными
- •4.3.3. Встроенные процедуры и функции обработки строк
- •Пример 34
- •4.1. Матрица
- •4.1.1. Ввод-вывод элементов матрицы
- •4.1.2. Определение индексов элементов матрицы
- •Записи Объявление типа записи
- •Вложенные записи
- •Массивы записей
- •Пример обработки массива записей
- •Определение и особенности файлов
- •Доступ к компонентам файла
- •Текстовый файл
- •Чтение из текстового файла
- •Запись в текстовый файл
- •Файлы в Тубо Паскаль
- •Файловые процедуры и функции
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Графика Турбо Паскаля
- •Записи Объявление типа записи
- •Вложенные записи
- •Массивы записей
- •Пример обработки массива записей
- •Статические и динамические памяти переменные
- •Объявление указателей
- •Выделение и освобождение динамической памяти
- •Операции с указателем
- •Пример 41
- •Связанные списки
- •Понятие бинарные деревья. Операции над бинарными деревьями
- •Применение бинарных деревьев
- •Сравнение рекурсии и итерации
- •Пример 51
- •Реализация объектно-ориентированного подхода в турбо-паскале
- •Алгоритмическая и объектная декомпозиция
- •Объектный тип в Турбо-Паскале
- •Способы наследования и переопределения
- •Виртуальные методы
- •Модуль c r t
- •Модуль g r a p h
Текстовый файл
Текстовый файл в программе объявляется через файловую переменную стандартным типом Text и представляет собой последовательность символьных строк переменной длины, разделенных специальным символом "конец строки". В конце текстового файла размещается специальный признак "конец файла". Эти признаки проверяются соответствующими логическими функциями:
Eoln( var F: text ): boolean, - возвращает значение TRUE, если достигнут конец строки текстового файла, связанного с файловой переменной F;
Eof( var F: text ): boolean, - возвращает значение TRUE, если достигнут конец текстового файла, связанного с файловой переменной F.
Для доступа к элементам текстового файла применяются операции чтения (Read, Readln) и операции записи (Write , Writeln). Отметим, что в Паскале существует возможность не только вводить в файл и выводить из файла символы, но также реализовывать операции с константами. Перед началом работы с текстовым файлом в программе необходимо вызвать процедуру Assign , которая установит связь между файловой переменной и конкретным дисковым файлом. После чего соответствующие процедуры (Reset или Rewrite) открывают файл для чтения или записи.
Чтение из текстового файла
Текстовый файл содержит символьную информацию. Поэтому при чтении из текстового файла отдельных символов можно использовать процедуру
Read( < имя файловой переменной >, < список ввода > );
Переменные в списке ввода должны иметь тип Char. Процедура Readln работает так же, как и для ввода информации с клавиатуры, т.е. после ввода всех переменных, указанных в списке, непрочитанные данные в текущей строке игнорируются и последующее чтение осуществляется с новой строки. Эта процедура может использоваться без списка ввода для перехода к первому символу следующей строки:
Readln( < имя файловой переменной > );
Очевидно, что действие процедуры
Readln( < имя файловой переменной >, < список ввода >);
эквивалентно действию двух процедур:
Read( < имя файловой переменной >, < список ввода >); Readln( < имя файловой переменной > );
Чтения констант из текстового файла осуществляется также процедурами:
Read( < имя файловой переменной >, < список ввода >);
Readln( < имя файловой переменной >, < список ввода >);
Список ввода может содержать переменные целого и вещественного типа. В этом случае значения переменных в файле отделяются символами-разделителями, в качестве которых используются: символы пробела, табуляции или конца строки. При вводе очередной числовой переменной пропускаются символы-разделители и выделяется подстрока, являющаяся символьным представлением числовой константы соответствующего типа. Эта подстрока преобразуется в числовое значение и присваивается переменной. Если в списке ввода указана переменная типа Char, то при вводе ей присваивается очередной символ. Этим символом может быть и символ-разделитель. Чтение констант из текстового файла поясним на примере. Пусть текстовый файл 'file1.txt' содержит следующую последовательность символов:
49 A 56 3.5
Тогда в результате выполнения следующего фрагмента:
. . . var F: text; I, J: integer; C1, C2: char; R: real; . . . assign(F, 'file1.txt'); reset(F); read(F, I, C1, C2, J, R); . . .
переменные получат следующие значения:
I = 49, C1 = ' ', C2 = 'A', J = 56, R = 3.5.
Напомним, что стандартный файл INPUT является текстовым. При его использовании можно опускать имя файловой переменной в процедурах Read, Readln и в функциях Eoln, Eof.