- •Введение в 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.3 Оператор присваивания
Присвоить переменной конкретное значение в языке Object Pascal можно двумя способами. Первый способ – это указать переменную в списке ввода оператора Read или Readln. Например:
Read(a, b);
В результате выполнения этого оператора переменным a и b будут присвоены конкретные значения.
Второй способ присвоения переменным значений – это указать переменную в левой части оператора присвоения. В Object Pascal оператор присваивания состоит из двух символов (:=) и отличается от символа операции сравнения (=).
Структура оператора присваивания:
<идентификатор переменной>:= < выражение соответствующего типа>;
Примеры:
А:= 5; B:= 3.7;
N:= Sqr(T) + Sqr(U);
M:= 25 * Т - 80 * L;
Выполнение оператора присваивания заканчивается тем, что изменяется значение переменной в левой части. То есть, значение выражения в правой части оператора помещается в участок памяти, выделенный под переменную в левой части.
Обычно ошибки, возникающие при компиляции оператора присваивания, связаны с несоответствием типа выражения типу переменной (Type mismatch), а ошибки во время выполнения возникает из-за неправомочности операции в выражении: деление на ноль (Division by zero), неправильная операция с плавающей точкой (Invalid floating point operation).
5.4 Составной оператор
Часто возникает необходимость объединения нескольких операторов в один составной оператор (тело процедуры, тело оператора ветвления, тело цикла и т. д. ). Для реализации этой потребности в Object Pascal существует возможность организации составного оператора, имеющего следующую структуру.
begin
<оператор 1>;
<оператор 2>;
……………….
<оператор n> ;
end;
Примеры:
1)
begin
writeln(A[i] ) ;
max:= A [ i ] ;
inc(t);
k:= i;
end;
2)
begin
writeln('да');
n:= 1000;
end;
Иногда, ключевые слова begin – end называют операторными скобками, так как они окаймляют операторы внутри себя аналогично скобкам в арифметических выражениях..
Простейшим случаем составного оператора является пустой составной оператор:
begin
end;
5.5 Стандартные процедуры и функции
5.5.1 Понятие процедуры и функции
Согласно принципу модульности отдельные части программы, предназначенные для решения частных небольших задач, организуют (оформляют) в виде подпрограммы. Это позволяет один и тот же фрагмент программы (подпрограмму) использовать как в одной, так и в других программах, не набирая текст подпрограммы заново.
В языке Object Pascal принцип модульности обеспечивается использованием подпрограмм-функций, подпрограмм-процедур ( в дальнейшем просто функций и процедур) и библиотечных модулей.
Чтобы обратиться к определённой функции или процедуре в исполнительной части программы необходимо указать её идентификатор и далее в круглых скобках список параметров, передаваемых ей. Заметим, что у функции или процедуры параметры могут отсутствовать. В этом случае после идентификатора функции или процедуры скобки не ставятся.
Функции, при обращении к ней, присваивается значение, соответствующее типу функции (смотри п. 4.3). Поэтому её можно использовать в выражениях. Например:
……………
Y := А*sqrt(Х);
……………
В этом фрагменте в правой части оператора присваивания используется функция извлечения квадратного корня, имеющая вещественный тип.
В отличии от функций, процедуры нельзя использовать в выражениях. Обращение к процедуре является отдельным оператором. Например:
……………
clrcsr;
……………
В этом фрагменте выполняется вызов процедуры без параметров для очистки экрана.
Часть стандартных процедур и функций, таких как sin, cos и многих других, приведённых ранее в лекциях, можно использовать в программе не предпринимая каких-то специальных мер. Другие организованы в специальные библиотечные модули.
Библиотечный модуль ( в дальнейшем просто модуль) содержит описания подпрограмм (процедур и функций), которые могут использоваться пользователями. Имя этих модулей CRT, SYSTEM, DOS и другие.
Большая часть стандартных процедур и функций находятся в определённых модулях. Следовательно, чтобы использовать требуемую функцию в своей программе, необходимо подключить соответствующий модуль оператором uses c указанием имени модуля. Этот оператор необходимо поставить перед описаниями, то есть после оператора program. Например:
Uses CRT;