
- •Основные понятия языка программирования паскаль
- •Структурное программирование
- •Основные символы языка
- •Элементы языка
- •Интегрированная среда turbo pascal
- •Структура программы в turbo pascal
- •Определение типов
- •Операторы в программе
- •Операторные скобки
- •Операторы ввода
- •Оператор присваивания
- •Оператор условного перехода
- •Оперетор безусловного перехода
- •Организация циклов
- •Использование операторов условного и безусловного перехода
- •Цикл с параметром
- •Цикл с предусловием - цикл while
- •Цикл с постусловием - цикл repeat
- •Оператор выбора варианта
- •Концепция типов данных
- •Стандартные простые типы Целый тип
- •Операции над данными целого типа:
- •Действительный тип
- •Операции над данными действительного типа:
- •Логический тип
- •Символьный тип
- •Символьные строковые константы
- •Нестандартные простые типы (определяемые пользователем)
- •Перечисляемый тип
- •Ограниченный тип (диапазон, интервал)
- •Процедуры и функции
- •Описание процедур
- •Стандартные процедуры
- •Описание функций
- •Стандартные функции
- •Итерация и рекурсия
- •Побочный эффект рекурсии
- •Предварительное описание (ссылки вперед)
- •Регулярные типы Одномерный массив
- •Алгоритмы сортировки массивов
- •1. Метод пузырька (метод обменной сортировки с выбором)
- •Многомерные массивы
- •Упакованные массивы
- •Множественные типы
- •Свойства множеств
- •Операции над множествами
- •Комбинированные типы Описание записей и действия с ними
- •Оператор присоединения.
- •Записи с вариантами
- •Типизированная константа
- •Простая типизированная константа
- •Структурированная (сложная) типизированная константа Типизированная константа массива
- •Типизированная константа записи
- •Типизированная константа множества.
- •Преобразование типов
- •Неявные преобразования типов
- •Использование стандартных функций для преобразования
- •Явные преобразования типов
- •Эквивалентность типов
- •Совместимость типов
- •Файловые типы
- •Определение файлового типа
- •Структура файла
- •Имя файла
- •Описание файлового типа
- •Файловая переменная
- •Операции над файлами
- •Типизированные файлы
- •Ссылочные типы (указатели) Статические и динамические переменные
- •Ссылочные типы (указатели)
- •Удаление узла из стека:
- •Человек
- •Человек
- •Вставка
- •Динамические переменные
- •Процедуры создания и удаления динамических переменных
- •Динамические списковые структуры
- •Однонаправленные списки
- •Двунаправленные списки
- •Очереди
- •Деревья
- •Модульная система turbo pascal
- •Uses mod 1, mod 2, mod 3; (подключение трех модулей) Общая структура модуля
- •Использование идентификаторов модуля
- •Использование модуля в программе
- •Компиляция модулей
- •Системный файл turbo.Tpl
- •Стандартные модули
- •Модуль crt
- •Модуль dos
- •Модуль printer
- •Модуль overlay
- •Модуль string
- •Процедуры модуля graph
- •Графические процедуры
- •Координаты. Окна. Страницы
- •Линии и точки
- •Многоугольники
- •Дуги,окружности, эллипсы
Символьный тип
Символьная константа - это символ , заключенный в апострофы (чтобы представить апостроф , его повторяют дважды).
‘A’, ‘R’,’+, ‘7’
В описании констант:
Const Sim = ‘A’;
A = ‘A’;
S = ‘+’;
D1 = ‘;’;
Символьная переменная принимает значение одного символа. Она описывается в разделе переменных как CHAR.
Var Bukwa: Char;
B1, B2, R: Char;
В операторе присваивания:
Bukwa : = ‘+’;
R: = Bukwa;
К символьным данным применимы операции сравнения, т.к. все символы упорядочены, каждый символ имеет свой порядковый номер.
Ввод символьных данных имеет особенности: символьные данные вводят сплошной строкой, без пробелов, т.к. пробел - это тоже символ!!!
Var S1, S2, S : Char;
Read (S1 , S2 , S3 )
- - - - - - - - - - - - - - -
ABC —> S1 = ‘A’ , S2 = ‘B’ , S3 = ‘C’
A_B_C_ —> S1 = ‘A’ , S2 = _ , S3 = ‘B’
Формат: X : M
‘_’ : 7 - вывод семи пробелов.
Результатом операции сравнения является логическая константа True или False. ‘A’<’B’
Встроенные функции:
Ord(x) - определяет порядковый номер символа Х, например, ORD(‘R’) = 82.
Chr(x) - определяет символ, стоящий по порядковому номеру Х, например, CHR(68)= ‘D’.
Эти две функции носят название функций преобразования.
Очевидно , что Chr(Ord(S)) = S; Ord(chr(68)) = 68.
Если С1 и С2 - переменные символьного типа, то С1<С2 , если Ord(C1) < Ord(C2)
Pred(x) - дает предыдущий символ но относительно к Х, например,. Pred(‘N’) = ‘M’.
Succ(x) - определяет следующий за Х символ, например,. Succ(‘R’) = ‘S’, Succ(‘9’) = ‘:’
Справедливы равенства:
Ord (false) = 0 Ord (True) = 1
Succ (False) =True Pred (True) = False
Символьные строковые константы
Символьные строки - последовательность любого, в том числе и равного нулю количества символов, заключенных в апострофы. Символы - из набора ASCII.
‘Номер’ , ‘Summa’ , ‘_ _ ‘ , ‘A+B’
‘Д’’АРТАНЬЯН’ - внутри апостроф - двойной
Const C1 = ‘ ‘;
C2 = ‘РЕЗУЛЬТАТ’;
К строкам применимы операции отношения. Результат: True или False, сравнение происходит посимвольно слева направо .
‘ABC’>=’ACB’результат False , т.к. ‘B’<’C’
Переменной нельзя присвоить значение строки!!! Ограничение - максимальный размер строки, воспринимаемый компилятором, - не более 126 символов. Строка, состоящая из одного символа, называется символьной константой. Если между апострофами нет ни одного символа, то такая строка называется пустой (см. далее раздел «Регулярные типы»).
Для включения в строку символов, не имеющих физического изображения, используется их ASCII-код с символом # перед ним, например, A = ‘#31’ - это - управляющий символ.
Нестандартные простые типы (определяемые пользователем)
Мы установили, что тип данных задает набор значений, которые могут принимать данные. Например,. данные целого типа могут принимать значения целых чисел. от -32768 до 32767, данные логического типа - значения True и False. Задание типа данных устанавливает и ограниченный набор операций, которые могут выполняться над этими данными. Например, над данными вещественного типа можно выполнять операции +, - , * , / , но нельзя производить операции Div и Mod, которые предназначены для данных целого типа.
Типизация данных значительно уменьшает возможность появления ошибок. Если все же ошибки возникают, то компилятор сам их обнаруживает и сообщает нам об этом. Учитывая ценность типизации данных, в языке Паскаль помимо стандартных типов (целого, действительного, логического, символьного) введены и другие типы, нестандартные (определяемые пользователем). Язык Паскаль предоставляет программисту широкие возможности для задания дополнительных типов, характеристики которых программист может определить самостоятельно. Новые типы описываются в разделе типов или определяются непосредственно при описании переменных.