
- •Министерство общего и профессионального образования Российской Федерации Уральский государственный технический университет Основы программирования на языке Паскаль
- •Структура программы на паскале
- •Типы данных
- •Правила программирования арифметических операций
- •Арифметические функции
- •Операции отношения (сравнения)
- •Логические операции
- •Приоритет операций
- •Операторы турбо-паскаля ввод и вывод данных
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы повторений (циклов) счетный цикл
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Использование массивов
- •Процедуры и функции
- •Описание и использование функций
- •Описание и использование процедур
- •Взаимодействие подпрограмм
- •Стандартные модули
- •Использование модуля crt
- •Практический пример. Программа "меню"
- •Использование модуля graph
- •Установка цветов
- •Изображение точек и линий
- •Практический пример. Построение графика функции
- •Работа с текстом
- •Практический пример. Построение спирали
- •Программирование с использованием нестандандартных типов данных перечисляемый тип
- •Множества
- •Основы программирования на языке Паскаль
Логические операции
Над данными типа BOOLEAN в Паскале определены следующие операции:
not логическое НЕ;
and логическое И;
or логическое ИЛИ;
xor исключающее ИЛИ.
Если представить какое-либо логическое выражение в виде
A & B,
где A и B - некоторые логические величины, а & - какая-либо из перечисленных выше операций, то их результат определяется в соответствии со следующей таблицей.
А |
В |
not |
and |
or |
xor |
false |
|
true |
|
|
|
true |
|
false |
|
|
|
false |
false |
|
false |
false |
false |
false |
true |
|
false |
true |
true |
true |
false |
|
false |
true |
true |
true |
true |
|
true |
true |
false |
В Паскале разрешается использование знака присвоения в логических выражениях. Например,
C:=(X * Y <> 0) and ( Y > X );
U:= A and B or not C and D;
где X, Y - некоторые числа; A, B, C, D, U - логические величины.
Приоритет операций
При вычислении выражений любого типа приоритет операций определяется скобками, а при их отсутствии - согласно следующей таблице:
-
Приоритет
Операции
1
not
2
*, /, div, mod, and
3
+, -, or, xor
4
=, <>, <, >, <=, >=
В эту таблицу включены только те операции, которые нам уже известны. В Паскале имеются и другие операции.
Из таблицы видно, что логические операции имеют более высокий приоритет, чем операции отношения (во многих других языках не так). Таким образом, например, если переменные a и b имеют тип INTEGER, то выражение
a = b and c < d
вызовет сообщение о синтаксической ошибке. Правильно будет так:
(a = b) and (c < d)
Операторы турбо-паскаля ввод и вывод данных
Для ввода данных с клавиатуры используются стандартные процедуры Паскаля. Их общий вид следующий:
READ(b1,b2,...,bn);
READLN(b1,b2,...,bn);
READLN;
где b1, b2, bn - имена вводимых переменных. Если вводятся несколько величин то их разделяют пробелами или нажимают клавишу ввода - ENTER. Процедура без параметров READLN обеспечивает пропуск одной строки и переход на начало новой.
Процедуры вывода данных на экран имеют вид
WRITE(b1,b2,...,bn);
WRITELN(b1,b2,...bn);
WRITELN();
Если выводятся несколько величин, то о пробелах между ними должен позаботиться сам программист. Форма представления данных
определяется их типом:
- целые величины выводятся в их обычном виде;
- вещественные данным выводятся в нормализованном виде с указанием порядка;
- строковые и символьные данные выводятся в виде соответствующих символов;
- логические данные в виде слов FALSE или TRUE.
Процедуры вывода допускают использование указаний на ширину поля, отводимого под выводимое число. Общий вид команды таков:
WRITE(b:m:n);
WRITELN(b:m:n);
где b - имя переменной, m - ширина поля, отводимая под его вывод, n - число знаков дробной части. Если b - целое число то величина n не указывается. Например, WRITE(A:8:3) выводит значение величины A с тремя знаками после запятой, при том на все число отведено 8 позиций. Для указания количества пробелов, разделяющих выводимые величины можно использовать, например, такой прием: WRITE(A,'':4,B). Здесь величины A и B будут разделены на экране четырьмя пробелами.