Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_rab5_6.doc
Скачиваний:
8
Добавлен:
02.02.2015
Размер:
493.57 Кб
Скачать

1.1.3 Оператор присваивания

Виды операторов:

Простые операторы не содержат в себе другие операторы.

Сложные операторы содержат простые операторы. Например, составной и условный операторы, операторы цикла, выбора и т.д.

Составные операторы содержат несколько операторов, которые заключаются в операторные скобки BeginEnd.

Оператор присваивания имеет вид: 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 В истинно, если истинно только одно выражение (либо А, либо В).

Приоритет логических операций:

  1. not,

  2. and,

  3. 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).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]