- •Введение в object pascal
- •Лекция 1. Интегрированная Среда и Состав языка Object Pascal
- •1.1 Работа с окнами
- •1.2 Редактирование в Object Pascal
- •1.3 Команды меню
- •1.4 «Горячие» клавиши в Object Pascal
- •1.5 Состав языка
- •1.5.1 Алфавит и ключевые слова
- •1.5.2 Идентификаторы
- •1.5.3 Знаки операций, разделители, выражения и операторы
- •Лекция 2. Описательная часть программы
- •2.1 Структура программы
- •2.2 Описание констант
- •2.3 Описание и использование меток
- •2.4 Комментарии
- •Лекция 3. Описание переменных
- •3.1 Структура раздела описания переменных
- •3.2 Классификация типов данных
- •3.2.1 Целочисленные типы
- •3.2.2 Логический тип
- •3.2.3 Символьный тип
- •3.2.4 Вещественные типы
- •3.3 Описание типов пользователя
- •Лекция4. Выражения
- •4.1 Порядок выполнения операций
- •4.2 Выражения целого типа
- •4.3 Вещественные выражения
- •4.4 Логические выражения
- •Лекция 5. Программы Линейной структуры
- •5.1 Операторы ввода (Read, Readln)
- •5.2 Операторы вывода (Write, Writeln)
- •5.2.1 Форматирование численных значений
- •5.2.2 Вывод строковых, символьных и логических значений
- •5.2.3 Вывод вещественных значений в экспоненциальном формате
- •5.2.4 Расположение данного в поле вывода. Примеры
- •5.3 Оператор присваивания
- •5.4 Составной оператор
- •5.5 Стандартные процедуры и функции
- •5.5.1 Понятие процедуры и функции
- •5.5.2 Описание некоторых стандартных процедур и функций
- •5.5.3 Примеры программ линейной структуры
- •Лекция 6. Операторы ветвления (выбора)
- •6.1 Оператор ветвления if
- •6.2 Оператор множественного выбора (варианта) - case
- •Лекция 7. Операторы организации циклов
- •7.1 Цикл типа for
- •7.1.1 Прямая форма оператора for
- •7.1.2 Обратная форма оператора for
- •7.1.3 Советы для начинающих и примеры
- •7.2 Цикл типа While
- •7.3 Цикл типа Repeat... Until
- •7.4 Дополнительные операторы при программировании циклов
- •7.4.1 Досрочный выход из цикла - break
- •7.4.2 Переход к следующей итерации цикла - continue
- •Лекция 8. Массивы
- •8.1 Одномерные массивы
- •8.2 Сортировка одномерного массива
- •8.3 Массивы с большей размерностью
- •8.4 Констант-массивы
- •8.5 Генератор случайных чисел
- •8.5.1 Описание функции Random
- •8.5.2 Применение случайных чисел при работе с массивами
- •Лекция 9. Строки
- •9.1 Строковый тип
- •9.2 Операции над строками
- •Лекция 10. Записи и множества
- •10.1 Запись
- •10.2 Множества
- •11 Пользовательские процедуры и функции
- •11.1 Описание функции и процедуры
- •11.2 Понятие формальных и фактических параметров
- •11.3 Способы передачи параметров в подпрограмму через заголовок
- •11.4 Область видимости идентификаторов
- •12 Файлы
- •12.1 Основные понятия
- •12.2 Типизированные файлы
- •12.3 Текстовые файлы
5.5.2 Описание некоторых стандартных процедур и функций
При графическом изображении алгоритмов у нас часто возникала необходимость заканчивать работу алгоритма в различных частях его изображения. Аналогично, в языке Object Pascal имеется специальная процедура halt, которая позволяет в любом месте программы закончить её выполнение.
Abs( x) — функция возвращает абсолютное значение (модуль) параметра х. Тип аргумента x и значения функции - вещественный или целый. Тип значения функции совпадает по типу со значением аргумента.
Sqr( x ) - функция возвращает квадрат значения параметра х. Тип аргумента x и значения функции - вещественный или целый. Тип значения функции совпадает с типом аргумента.
Round(x) - функция относится к классу функций преобразования типов. Она преобразует вещественные значения в целые по правилам округления. Тип аргумента x - вещественный. Тип значения функции LongInt.
Trunc(x) - функция преобразует вещественные значения в целые, отбрасывая дробную часть. Тип аргумента x- вещественный. Тип значения функции LongInt.
Нетрудно доказать, что при х ≥ 0, round(x)= trunc(x + 0. 5), а при х < 0 - round(x)= trunc(x - 0. 5).
Sin(x), Cos(x) - вычисляют одноименные тригонометрические функции (значение аргумента передается в функцию в радианах – вещественный тип).
ArcTan(х) - вычисляет обратную тригонометрическую функцию – арктангенс (значение угла возвращается в радианах.); тип аргумента х - вещественный.
Ln(x) - вычисляет натуральный логарифм – вещественный тип; тип аргумента х - вещественный.
Exp(x) - вычисляет экспоненту – вещественный тип; тип аргумента х- вещественный.
Sqrt(x) - вычисляет квадратный корень – вещественный тип; тип аргумента х - вещественный.
Полезными являются процедуры Inc и Dec. Обе изменяют значение целой переменной по следующему правилу:
Inc(i) соответствует оператору i: = i +1 ,
Dec(i) соответствует оператору i: = i -1 .
Для работы с переменными перечислимых типов применяются следующие стандартные функции:
Succ(<значение перечислимого типа>); - возвращает следующий за данным элемент. Если i - переменная целого типа, то succ(i) дает следующее значение, то есть (i+1) .
Рrеd(<значение перечислимого типа>); - возвращает
предшествующий данному элемент. Если i - переменная целого типа, то Pred(i) дает предыдущее значение, то есть (i-1) .
Ord(<значение перечислимого типа>); - возвращает порядковый номер данного значения в типе. Тип результата - Longint . Порядковый номер первого элемента равен нулю (исключение составляют целые типы: порядковый номер первого значения типа Integer нулю не равен).
При вызове функции Chr возвращается символ, имеющий данный порядковый номер (кодировка ASCII).
Тип результата выполнения первых двух функций совпадает с типом аргумента, а результат выполнения функции Ord имеет тип Integer. Приведём примеры применения этих функций.
Значения следующих выражений будет True:
Succ(5)=6
Pred(5)=4
Ord(False) = 0
Ord(True) = 1
Succ(False) = True
Pred(True) =False
Ord('A')= 65
Chr(65) = 'A' .
GetTime(Hour, min, sec, hand) – процедура помещает в соответствующие переменные текущие значения времени (час, минута, секунда, количество миллисекунд. Все переменные типа Word. Эту процедуру содержит модуль DOS.
Модуль CRT содержит функцию Readkey (без параметров), которая при обращении к ней ждёт ввода символа. После нажатия любой клавиши её код возвращается функцией. При этом значение клавиши не отображается на экране и курсор не сдвигается.