- •1.1 Теоретические сведения
- •1.1.1 Структура программы в языке Паскаль
- •1.1.2 Основные типы данных
- •1.1.3 Оператор присваивания
- •1.1.4 Арифметические выражения
- •1.1.5 Логические выражения
- •1.1.6 Основные стандартные функции языка Паскаль
- •1.1.7 Основные функции ввода/вывода
- •1.1.8 Операторы цикла
- •1.1.9 Операторы перехода (безусловный и условные)
- •1.1.10 Работа с массивами
- •1.1.11 Процедуры и функции. Модули.
- •1.1.11.1 Модуль System
- •1.1.11.2 Модуль Crt
- •Порядок выполнения работ
- •Лабораторная работа №5. Работа с двумерными массивами
- •Лабораторная работа №6. Программирование с использованием подпрограмм
- •Содержание
- •1.1 Теоретические сведения 1
1.1.3 Оператор присваивания
Виды операторов:
Простые операторы не содержат в себе другие операторы.
Сложные операторы содержат простые операторы. Например, составной и условный операторы, операторы цикла, выбора и т.д.
Составные операторы содержат несколько операторов, которые заключаются в операторные скобки Begin … End.
Оператор присваивания имеет вид: V:= A, где V – имя переменной; А – выражение, := – знак присваивания.
При этом переменная V и выражение А должны иметь один и тот же тип.
Разрешается присваивать переменной типа REAL выражение типа INTEGER, но нельзя присваивать выражение типа REAL переменной INTEGER.
1.1.4 Арифметические выражения
Правила написания арифметических выражений: арифметические выражения должны быть записаны в строчку, операции должны быть указаны явно. Результатом вычисления арифметических выражений являются значения типа INTEGER (I, целый) или REAL (R, вещественный).
Таблица 1.4 Знаки арифметических операций и типы переменных
|
Название операции |
Символ |
Тип переменных |
Тип результата |
|
умножение |
* |
I, R |
I, R |
|
деление |
/ |
I, R |
R |
|
деление нацело |
DIV |
I |
I |
|
вычисление остатка от деления |
MOD |
I |
I |
|
сложение |
+ |
I, R |
I, R |
|
вычитание |
– |
I, R |
I, R |
Приняты следующие правила, определяющие приоритет операций:
• операции умножения и деления (* ,/ , DIV , MOD) имеют более высокий приоритет, чем операции сложения и вычитания;
• для изменения порядка вычисления используются круглые скобки;
• скобочные структуры могут быть вложены друг в друга.
Синтаксис операций DIV, MOD: n DIV m или n MOD m.
Например, 174 = 10*17+4, т.е. при делении на 17 получается 10 (остаток 4).
Тогда результаты операций будут следующими:
174 DIV 17 = 10;
174 MOD 17 = 4.
1.1.5 Логические выражения
Логические выражения используют операции отношения (равно =, не равно < >, меньше <, больше >,меньше или равно <=, больше или равно >=) и булевские (логические) операции: not, and, or, xor.
Логическое отрицание (инверсия) в Паскале обозначается not; выражение not А истинно, если А ложно, и, наоборот, ложно, если А – истинно.
Логическое умножение (конъюнкция) обозначается and; выражение А and В истинно, если истинны оба выражения.
Логическое сложение (дизъюнкция) обозначается or; выражение А or В ложно, если ложны оба выражения, и истинно, если истинно хотя бы одно из этих выражений.
Исключающее ИЛИ обозначается хor; выражение А хor В истинно, если истинно только одно выражение (либо А, либо В).
Приоритет логических операций:
not,
and,
or, xor (одинаковый приоритет).
Булевской переменной можно присваивать выражение булевского типа. Использование в программах переменных булевского типа (с обязательным описанием Var p: Boolean;) значительно упрощает алгоритм, размер программы и, соответственно, время ее выполнения.
Пример: Вывести на экран TRUE, если квадратное уравнение имеет хотя бы один корень, и FALSE, если корней нет.
Основная часть программы:
После описаний и ввода коэффициентов квадратного уравнения вычисляем переменную D – дискриминант.
1 способ (без использования булевских переменных):
if (D<0) then
WriteLn(‘FALSE’)
else
WriteLn(‘TRUE’);
2 способ (с введением булевской переменной):
p:= D>=0;
WriteLn(p);
Примечание: Невозможно применение двойных неравенств, выражение 2 < a < 7 записывается в виде (2 < a) and (a < 7).
