Выражения и операторы языка Турбо Паскаль
Var
Var
Вещественные числа
Это десятичные числа, имеющие дробную часть и представленные в нормальной форме.
Наиболее употребительными являются числа типа REALс числом цифр мантиссы 11-12. Остальные типы имеют другое количество цифр.
Логический тип BOOLEANиспользуется в логических конструкциях ипредставляет данные, любой элемент которых может иметь только два значения TRUE (правда) или FALSE (ложь).Размер числа – один байт, причём первому исходу соответствует значение «единица», а второму – «нуль».
Остальные простые типы используются в специальных задачах.
Составные (структурированные) типы включают:
- массивы
- строки
- записи
- множества
- файлы
- объекты.
Рассмотрим основные из них.
Массив представляет собой фиксированное число упорядоченных однотипных элементов, снабжённых индексами (номерами). Массив может быть одномерным или многомерным, тогда имеется несколько переменных для индексации элементов. Количество элементов и их тип не ограничены.
Массив объявляется в разделе переменных VAR в формате
<идентификатор массива>: array<диапазон индексов> of<тип элементов>.Словоarrayобозначает«массив».
Одномерный массив (вектор) задаётся именем, одной граничной парой для одной переменной и типом элементов
M1: array [1..20] of real;{20 действительных чисел}
Двумерный массив (матрица) должен иметь две граничные пары для двух переменных – номеров строк и номеров столбцов
MA2 : array [1..5, 1..8] of real; {матрица из 5 строк и 8 столбцов действительных чисел}.
К элементам двумерного массива обращаются по имени массива с указанием двух индексов: MA2[3,5] – элемент массива, находящийся в 3-йстроке 5-го столбца.
Остальные структурированные типы применяются для решения специальных задач.
ЛЕКЦИЯ 4
Выражение –это синтаксическая единица языка, определяющая порядок действий при вычислении значений. Выражение состоит из операндов (констант, переменных и функций), круглых скобок и знаков препинания. В языке ТП используется 4 вида выражений:
1. Арифметическое выражение Число
2. Логическое выражение Логическая константа
True или False
3. Строковое выражение Строка символов
4. Адресное выражение Адрес (сегмент и смещение)
Арифметическое выражение – это инструкция для получения числового значения при выполнении действий над данными числового типа.
Значением арифметического выражения является число. Простыми арифметическими выражениями считаются числовые константы, переменные и функции. Для выполнения действий применяются унарные и бинарные операции.
Унарные операции выполняются над однимоперандом. К ним относятся сохранение или изменение знака операнда, а также арифметическое отрицание not для операндов вида Byte или Word.
Бинарные операции выполняются над двумяоперандами. Это операции арифметического и логического умножения, деления, сложения и вычитания, в которых присутствует по не менее двух операндов.
Приоритетопераций в ТП следующий: вначале выполняются унарные операции, затем операции типа умножение, третий приоритет у операций типа сложение. Изменение приоритета, т.е. порядка выполнения операций производится с помощью круглых скобок. Если скобки составные, то внутренние скобки имеют первый приоритет.
В арифметических выражениях для выполнения операций с величинами целого и вещественного типов используются стандартные функции
Функция | Назначение | Тип результата |
Abs(x) | Абсолютное значение аргумента | Совп. c типом x |
Exp(x) | Экспонента x | Real |
Ln(x) | Натуральный логарифм x | Real |
Pi | Число Пи 3,141592565358 | Real |
Sqr(x) | Квадрат x | Совп. c типом x |
Sqrt(x) | Корень квадратный из x | Real |
Sin(x) | Синус x(радиан) | Real |
Cos(x) | Косинус x(радиан) | Real |
Arctan(x) | Арктангенс (радиан) x | Real |
Логическое выражениеслужит для описания условия, применяется в условных операторах и имеет своим значением логическую константу true(истина) или false(ложь).В качестве операндов употребляются отношения, логические константы, логические переменные и функции. Наиболее распространёнными являются логические отношения вида:
= равно
> больше
< меньше
<> не равно
>= больше или равно
<= меньше или равно.
Логические операции ТП: not, and, or, xor. Порядок записи соответствует приоритету исполнения.
Строковое выражение определяет порядок действий над строками символов.
Адресные выражения позволяют обращаться при программировании непосредственно к адресам ячеек.
Операторыязыка представляют собой синтаксическую конструкцию для организации определённых алгоритмических действий по преобразованию данных.
Оператор в программе представляет собой единое неделимое предложение, в конце которого ставится разделитель – точка с запятой. Размещаются операторы в операторной части программы в операторных скобках begin – end. В строке программы может быть размещён один или несколько операторов. Один оператор также может занимать несколько строк. Для улучшения читаемости программы желательно использовать отступы при написании текста, чтобы выделять логические части программы.
По назначению операторы, как и алгоритмы, делятся на безусловные, условные и циклические.
По принципу построения операторы бывают простые и структурированные.
К простым операторам, не содержащим в себе других операторов, относятся операторы присваивания, безусловного перехода, пустой оператор и оператор обращения к процедурам,
В структурированныхоператорах может находиться один или несколько других операторов.
Безусловные операторы (простые и составной)
1. Оператор присваивания – наделяет переменную выражением,
значение которого вычислено заранее.
Формат: <идентификатор переменной>:= <выражение>;
2. Оператор безусловного перехода –служит для изменения
последовательности выполнения
операторов.
Формат: goto <метка>;
3. Пустой оператор –используется для выхода на конец операторной
части программы.
Формат: <пусто>;
4. Оператор обращения к процедуре –служит для запуска определённой
процедуры в работу. Имя оператора
совпадает с именем процедуры,
отыскиваемой в библиотечном
модуле.
Форматы: <имя процедуры> (список фактических параметров);
<имя процедуры>;
5. Составной оператор –последовательность операторов, заключённая в
операторные скобки begin – end.
Формат: begin
(последовательность простых или составных операторов)
end;
Операторы процедур ввода – вывода
Ввод данных в оперативную память с клавиатуры или диска называется чтениеми реализуется операторами обращения к процедуре чтения READ.
При чтении данных с клавиатуры ввод в ОЗУ осуществляется через файл Input.Этот файл не включают в список параметров, т.к. он инициируется автоматически при работе операторов чтения.
Оператор чтения имеет два формата:
READ– данные вводятся последовательно;
READLN- после ввода каждого элемента курсор переводится в начало
следующей строки.
В списке ввода идентификаторы переменных разделяются запятыми. При вводе с клавиатуры числовые значения элементов списка ввода разделяются пробелом. Для десятичных чисел используется разделитель в виде точки, находящейся на малой цифровой клавиатуре.
Вывод данных из оперативной памяти на внешние носители называется записью и осуществляется операторами записи WRITE.При записи на экран используется стандартный файл Output, подключающийся автоматически, так что его имя в списке параметров не указывается. Запись также осуществляется в двух форматах
WRITE- данные выводятся последовательно;
WRITELN - каждый элемент выводится с новой строки.
Для вывода на принтер перед списком выводимых параметров записывается оператор LST, обеспечивающий запуск печати.
Форматы вывода позволяют записывать результаты не в применяемой внутри ПК и неудобной для пользователя форме чисел с плавающей запятой, а в стандартной форме десятичной дроби. Для этого надо выбрать необходимое по условию задачи общее количество выводимых символов, а также количество символов дробной части. Это форматирование распространяется только на вещественный тип результата, т.к. для целых чисел достаточно указать только общее количество символов.
Формат вывода имеет вид
Write(x:A:B);
где x – переменная вывода,
A – общее количество выводимых символов, включая разделительную
точку десятичной дроби,
B – количество символов дробной части выражения.
Условные операторы
Они предназначены для реализации типовых структур разветвление и
имеют две формы: ЕСЛИ – ТО и ЕСЛИ – ТО – ИНАЧЕ. Условием является логическое выражение, принимающее одно из двух возможных значений: true или false.
Типовую структуру ЕСЛИ – ТО реализует условный оператор if – then
в формате
if <условие> then <один оператор>;
Если условие принимает значение true, оператор выполняется, если условие принимает значение false – управление передаётся следующему оператору программы.
Типовую структуру ЕСЛИ – ТО – ИНАЧЕ реализует полный условный оператор if – then – else в формате
if<условие> then<оператор 1>else <оператор 2>;
В зависимости от значения условия, выполняется оператор 1(true), или оператор 2(else).
Т.к. условный оператор является единым предложением, перед служебными словами then и elseразделитель (точку с запятой) ставить нельзя!
Оператор выбора предназначен для организации действий по одному варианту, выбранному из нескольких по заданному признаку. Оператор реализует типовую структуру ВЫБОР (case - of) в формате:
Case <выражение переключателя> of
<набор констант 1>: оператор 1;
<набор констант 2>: оператор 2;
.......
<набор констант n>: оператор n;
else <оператор>
end;
В отличие от предыдущего оператора, здесь перед else можно ставить разделитель, т.к. ветвь elseне является обязательной.
В операторе выбора вычисляется значениепереключателя, которое сравнивается со значениями констант в наборах. При совпадении значения переключателя с любой из констант в наборе, будет выполняться соответствующий оператор. При наличии ветви else < оператор>, она будет выполняться, когда значение переключателя не совпадёт ни с одним из значений наборов. Значения переключателя и констант должны принадлежать к перечисляемому типу, а константы и их диапазоны не должны повторяться и пересекаться.
Операторы цикла
Типовые структуры ЦИКЛ – ДО реализуются операторами цикла for – do, for – downto и repeat – until.
Для описания процессов с заранее известным числом циклов применяется оператор for – do в формате
For i:= <начало> to <конец> do <оператор тела цикла>
Здесь i – управляющая переменная, увеличивающая свои значения в каждом
цикле с шагом +1 в диапазоне «начало-конец».
Оператор тела цикла выполняется (do) при каждом значении i,пока i меньше конечного значения цикла «конец».
Оператор for – downtoработает аналогично лишь с тем отличием, что управляющая переменная iуменьшает свои значения с шагом -1.
Оператор цикла repeat – until применяется в случае, когда начальное и конечное значения управляющей переменной x известны, но шагеё изменения не равен единице.Этооператор с постусловием, т.к. условие проверяется после выполнения тела цикла. Формат этого оператора:
x:= x0; {начальное присваивание}
repeat {повторять}
<операторы тела цикла>
until x > xk; {пока x не достигнет конечного
значения}.
Типовая структура ЦИКЛ – ПОКА с заранее неизвестным числом циклов реализуется оператором while – do (исполнять, пока условие имеет значение true).Формат этого оператора:
While <условие> do
<оператор тела цикла>;
Это оператор с предусловием, т.к. проверка условия проводится до выполнения тела цикла.
ЛЕКЦИЯ 5