
- •Любой алгоритм, какой бы он сложный не был, содержит лишь три основных, или, иначе говоря, базовых структуры. Этими базовыми структурами являютия:
- •Любой алгоритм, какой бы он сложный не был, содержит лишь три основных, или, иначе говоря, базовых структуры. Этими базовыми структурами являютия:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Клавиши перемещения курсора:
- •Работа с блоками текста
- •Основные клавиши работы с Турбо-Паскалем:
- •Строковый тип данных
- •Описание констант
- •Операция присваивания
- •Приоритет операций
- •Оператор присваивания
- •Совместимость и преобразование типов
- •Элементарный ввод-вывод
- •Лекция 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
Строковый тип данных
Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис:
var s: string[n];
var s: string;
n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.
Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
Описание констант
Паскаль допускает использование именованных констант, которые определяются своим идентификатором в секции, начинающейся с ключевого слова Const. Именованная константа - это фиксированное значение, которому при объявлении константы в секции Const присваивается имя. Приведем пример объявления констант:
const Grav = 9.81; Eps = 1E-5; Titre = 'Resultat'; NMax = 100; |
Использование именованных констант повышает наглядность программы при многократном использовании фиксированных значений, делает более удобным изменение некоторых значений, например, размерности массивов. Дополнительно к обычным константам Турбо-Паскаль допускает использование типизированных констант. Типизированные константы описываются в разделе объявления констант вместе с обычными константами и получают при описании начальное значение. Аналогично переменным типизированные константы имеют тип и могут получать новые значения, например с помощью оператора присваивания. Фактически типизированная константа представляет собой переменную с начальным значением. Примеры объявлений типизированных констант простых типов:
const Min : integer = 32767; Max : integer = -32768; Days: 1..31 = 30; Ch : char = 'y'; |
Отметим, что типизированные константы инициализируются только один раз - в начале выполнения программы (блока). При повторном входе в блок, в котором она объявлена, константа сохраняет то значение, которое она имела к моменту выхода из блока.
Описание переменных
В программе на Паскале любая переменная должна быть объявлена в секции объявления переменных, причем определение переменной должно предшествовать ее использованию. Секция начинается с ключевого слова Var и содержит для каждой переменной ее имя и тип. Соответствие между именем переменной и ее типом остается неизменным внутри процедуры или функции, в которой она определена (подробнее об этом будет сказано в главе 3). Приведем пример описания переменных:
var A, B, C: real; I, N : integer; Ch : char; Flag : boolean; MasA : array[1..50] of real; |
Как следует из приведенного примера, переменные одного и того же типа могут объявляться списком, в котором имена переменных разделяются запятой. Каждая переменная должна упоминаться в описании не более одного раза. Это относится ко всем идентификаторам (константы, типы, метки, подпрограммы). Принятая форма объявления переменных является наглядной и позволяет легко отыскать синтаксические ошибки в идентификаторах уже на этапе компиляции. Кроме того необходимость описывать все переменные побуждает программиста не использовать лишние переменные.