
- •Контрольные вопросы экзамену
- •2 Семестр
- •Группы символов языка Паскаль.
- •Структура языка Паскаль.
- •Понятие лексемы языка, категории лексем.
- •Зарезервированных слова в языке Паскаль.
- •Понятие идентификатора, допустимая длина идентификаторов, разновидности идентификаторов, стандартные идентификаторы.
- •Формы записи чисел в языке паскаль.
- •Использование комментариев.
- •Символы используемые в качестве разделителей лексем.
- •Разделы описаний и объявлений языка Паскаль.
- •Раздел операторов.
- •Виды констант.
- •Стандартные типы языка паскаль.
- •Интервальный и перечисляемый типы данных.
- •Порядковые типы и их свойства.
- •Совместимость типов данных.
- •Выражения и их использование.
- •Операции и операнды, приоритет и классификация операций.
- •Синтаксис выражений
- •Операции
- •Арифметические операции
- •Унарные арифметические операции
- •Логические операции
- •Булевские операции
- •Операция со строками
- •Операции над символьными указателями
- •Операции над множествами
- •Операции отношения
- •Сравнение простых типов
- •Сравнение строк
- •Сравнение упакованных строк
- •Сравнение указателей
- •Сравнение символьных указателей
- •Сравнение множеств
- •Проверка на принадлежность к множеству
- •Операция @
- •Использование операции @ для переменной
- •Использование операции @ для процедуры или функции или метода
- •Стандартные функции языка Паскаль. Арифметические функции
- •Функции преобразования типов
- •Функции для величорядкового типа
- •Функция ord
- •Функция chr
- •Функции succ и pred
- •3 Семестр
Функция ord
Буквы от ‘A’ до ‘Z’ следуют в возрастающем порядке, иными словами, каждая буква имеет порядковое значение, соответствующее ее месту в алфавите. Это порядковое значение может быть получено посредством функции ord. ord(выражение) – возвращает порядковый номер литеры или значения другого дискретного типа. ord(‘I’), ord(‘J’). Результат: 73, 74 (код ASCII)
Порядковый номер литеры зависит от используемого кода. Но, независимо от используемого кода, порядковые значения букв следуют по возрастанию: ord(‘A’) < ord(‘B’) < ord(‘C’) … < ord(‘Z’) хотя ord(‘Z’) – ord(‘A’) и не обязательно равно 25. То же самое и со строчными буквами: ord(‘a’) < ord(‘b’) < ord(‘c’) … < ord(‘z’)
Определенной связи между прописными и соответствующими строчными буквами нет, но можно без опасений полагаться на то, что ord(‘a’) – ord(‘A’) имеет то же значение, что и ord(‘z’) – ord(‘Z’).
Независимо от используемого кода, порядковые значения цифр также расположены по возрастанию: ord(‘0’) < ord(‘1’) < ord(‘2’) … < ord(‘9’) и, более того, порядковые значения соседних цифр отличаются на 1; так, ord(‘9’) – ord(‘0’) = 9. Отсюда следует, что численное значение цифры d (типа char) может быть получено так value := ord(d) – ord(‘0’).
Паскаль поддерживает типы char, integer и т.д. В дополнение к ним программист вправе определить и другие типы путем перечисления последовательности констант. Например, тип, заданный перечислением: type days = (mon, tue, wed, thu, fri, sat, sun);
Константы типа, заданного перечислением, имеют порядковые значения, отсчитываемые от нуля. Например, ord(mon) возвращает 0, ord(sun) возвращает 6; mon < sun.
Тип boolean – перечисляемый тип, который автоматически задается как type boolean = (false, true); следовательно, ord(false) дает 0, ord(true) дает 1; false < true.
Функция chr
Обратной для ord является функция chr. chr(выражение) – возвращает литеру, порядковое значение которой задается параметром; неправильное значение влечет ошибку. chr(73), chr(74). Результат: I, J (кодировка ASCII) chr(1000). Результат: ошибка
Функции succ и pred
Порядковые значения редко бывают нужны сами по себе. Часто достаточно знать следующий или предыдущий элемент в установленном порядке. Для этой цели служат функции succ и pred. succ(выражение) – возвращает элемент, следующий за тем, который указан в качестве параметра. succ(‘A’), succ(‘0’), succ(0). Результат: B, 1 (символ), 1 (число) succ(false). Результат: true pred(выражение) – возвращает элемент, предшествующий тому, который указан в качестве параметра. pred(‘Z’), pred(‘9’), pred(9). Результат: Y, 8 (символ), 8 (число) succ(true). Результат: false
Эти две функции можно использовать для определения следующих и предшествующих элементов для типа, заданного перечислением. Возьмем тип days, определенный ранее: pred(sun) возвращает sat, succ(mon) возвращает tue.
Однако было бы неверно писать writeln(pred(sun)), поскольку элементы перечисляемого типа нельзя читать или печатать, что, конечно, снижает выгоду от использования таких типов. Наилучшее приближение к writeln(pred(sun) – это оператор writeln(ord(pred(sun))), печатающий число 5 (порядковое значение элемента sat).
Функцию succ удобно использовать для управления циклом:
i := 0;
repeat
i := succ(i);
……
until i = 10;
Операторы: простые, составные, пустой оператор, оператор присваивания, процедурный оператор.
Оператор условия.
Оператор выбора.
Операторы цикла repeat, while, for.
Структурированные типы данных: одномерные и многомерные массивы, строки, множества, записи.
Сортировки массивов: сортировка вставкой, сортировка выбором, «пузырьковая» сортировка.
Оператор присоединения.
Подпрограммы в Паскале.
Виды формальных параметров.
Глобальные и локальные переменные, время жизни и область видимости переменной.