
- •Конспект лекций по информатике
- •Организация данных в эвм и основы программирования
- •1. Основные понятия языка программирования паскаль
- •1.1. Структурное программирование
- •1.2. Основные символы языка
- •1.3. Элементы языка
- •1.4. Интегрированная среда turbo pascal
- •1.5. Структура программы в turbo pascal
- •1.6. Определение типов
- •1.7. Операторы в программе
- •1.7.1. Операторные скобки
- •1.7.2. Операторы ввода
- •1.7.3. Оператор присваивания
- •1.7.4. Условный оператор
- •1.7.5. Пример простой программы
- •1.7.6. Оперетор безусловного перехода
- •1.8. Организация циклов
- •1.8.1. Использование операторов условного и безусловного перехода
- •1.8.2. Цикл с параметром
- •1.8.3. Цикл с предусловием - цикл while
- •1.8.4. Цикл с постусловием - цикл repeat
- •1.9. Оператор выбора варианта
- •1.10. Расположение операторов в программе
- •1.11. Концепция типов данных
- •2. Стандартные простые типы
- •2.1 Целый тип
- •2.1.1. Операции над данными целого типа:
- •2.2. Действительный тип
- •2.2.1. Операции над данными действительного типа:
- •2.3. Логический тип
- •Var p, q, r : Boolean;
- •2.3.1. Алгебра логики в Паскале
- •2.3.2. Законы алгебры логики в Паскале
- •2.4. Символьный тип
- •2.4.1. Символьные строковые константы
- •3. Нестандартные простые типы (определяемые пользователем)
- •3.1. Перечисляемый тип
- •3.2. Ограниченный тип (диапазон, интервал)
- •4. Процедуры и функции
- •4.1. Описание процедур
- •4.2. Стандартные процедуры
- •4.3. Описание функций
- •4.4. Стандартные функции
- •4.5. Итерация и рекурсия
- •4.6. Побочный эффект рекурсии
- •4.7. Предварительное описание (ссылки вперед)
- •5. Регулярные типы
- •5.1. Одномерный массив, или переменные с индексами
- •Алгоритмы сортировки массивов
- •1. Метод пузырька (метод обменной сортировки с выбором)
- •2. Сортировка выбором
- •3. Метод Шелла
- •4. Метод Хoopа
- •5.2. Многомерные массивы
- •5.3. Упакованные массивы
- •5.4. Строки
- •6. Множественные типы
- •6.1. Свойства множеств
- •6.2. Операции над множествами
- •7. Комбинированные типы
- •7.1. Описание записей и действия с ними
- •7.2. Оператор присоединения.
- •7.3. Записи с вариантами
- •8. Типизированная константа
- •8.1. Простая типизированная константа
- •8.2. Структурированная (сложная) типизированная константа
- •8.2.1. Типизированная константа массива
- •8.2.2. Типизированная константа записи
- •8.2.3. Типизированная константа множества.
- •9. Преобразование типов
- •9.1. Неявные преобразования типов
- •9.2. Использование стандартных функций для преобразования
- •9.3. Явные преобразования типов
- •9.5. Совместимость типов
- •10. Файловые типы
- •10.1. Определение файлового типа
- •10.2. Структура файла
- •10.3. Имя файла
- •10.4. Описание файлового типа
- •10.5. Файловая переменная
- •10.6. Операции над файлами
- •10.7. Типизированные файлы
- •10.8. Текстовые файлы
- •10.9. Нетипизированные файлы
- •10.10. Стандартные файлы inpuTиOutput
9.5. Совместимость типов
Паскаль – это типизированный язык. В нем соблюдается концепция типов, в соответствии с которой все применяемые в языке операции определены только над операндами совместимых типов.
Два типа считаются совместимыми, если:
оба они есть один и тот же тип,
оба они действительные,
оба они целые,
один тип есть тип – диапазон второго типа,
оба они являются типами – диапазонами одного и того же базового типа,
оба они являются множествами, составленными из элементов одного и того же базового типа,
оба они являются упакованными строками (определены предшествующим словом Packed) одинаковой максимальной длины,
один тип есть тип – строка, а другой тип – строка, упакованная строка или символ,
один тип есть любой указатель, а другой – не типизированный указатель,
оба они есть процедурные типы с одинаковым типом результатом (для типа - функции), одинаковым количеством параметров и одинаковым типом взаимно соответствующих параметров.
10. Файловые типы
Мы до сих пор рассматривали задачи, в которых во время выполнения программы данные поступают с клавиатуры, а результаты выводятся на экран дисплея. Поэтому ни исходные данные, ни результаты не сохраняются. Всякий раз при выполнении одной и той же программы, особенно во время её отладки, приходится заново вводить исходные данные.
Нельзя обычными программными средствами формировать значения структур данных и сохранять их для последующего использования в других программах. Естественно, необходимо формировать такие структуры данных, которые позволили бы:
- формировать большие массивы данных,
- своевременно их корректировать,
- транспортировать их в другие программы
Именно с этой целью в языке программирования Паскаль предусмотрен структурированный тип данных, называемый файлом. Чтобы сохранить исходные данные и результаты, надо оформить их в видефайлов, которые хранятся на диске точно так же, как и программа.
10.1. Определение файлового типа
Как правило, в файлах размещаются данные для длительного хранения, а также для обработки их различными программами. Вообще под файломпонимается любой набор данных:
исходные данные;
программа;
результаты;
любые тексты
Файлв операционной системе представляет собой последовательность элементов одного типа, расположенныхна внешнемуровне.
Различают три основных вида файлов:
- последовательные;
- прямого доступа
- индексированные (файлы с ключами).
В двух последних типах данных поиск необходимых данных может осуществляться по адресам данных.
Турбо-Паскаль работает с последовательными файлами.
Последовательностиво многих случаях служат самыми простыми структурами. Специалисты часто пользуются термином«последовательный файл»для описания последовательностей.
В Паскале словом файлназывают структуры, состоящие из последовательности компонент, относящихся к одному типу. Особый класс файлов составляюттекстовые файлы, представляющие собой последовательности строк символов переменной длины, составляющие основу для общения человека и компьютерной системы.
Файл состоит из компонент одного и того же типа. В любой момент времени непосредственно доступна (для чтения и записи) только одна компонента, другие становятся доступными по мере продвижения по файлу. Таким образом, чтобы прочитать элемент файла, необходимо просмотреть все элементы, стоящие до него. Такие файлы называются файлами последовательного доступа или последовательными файлами. Длинна файла не фиксируется и может меняться в процессе выполнения программы.
Файловый тип в Паскале - это единственный тип значений, посредством которого данные, обрабатываемые программой, могут быть получены извне, а результаты переданы во внешний мир.