Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЛАВА 2 ч 1 ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПАСКАЛЬ.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
433.35 Кб
Скачать

Упражнения

1. Определить, что будет напечатано следующей программой, если в качестве исходных данных заданы числа 1.0 и -2.0:

Program Roots;

Var B, C, D : Real;

Begin

Read(B, C);

D := Sqrt(Sqr(B) - 4 * C);

WriteLn('xl =', (-B + D)/2,

'x2 =', (-B - D)/2)

End.

2. Определить, что будет напечатано следующей программой при по­следовательном введении значений 3.4 и 7.9:

Program Less;

Var X : Real; T : Boolean;

Begin

Read(X);

T := X < Round(X);

Read(X);

T := T And (X < Trunc(X));

WriteLn(T)

End.

3. Определить, что будет напечатано следующей программой при пос­ледовательном введении значений 36, -6 и 2345:

Program ABC;

Var А, В : Integer;

Begin

Read (А, В, А);

WriteLn(А, В : 2, А : 5)

End.

4. Составить программу вычисления суммы двух целых чисел, которая будет вести диалог с пользователем в следующем виде (вместо отточий — вводимые и выводимые числа):

2.8. Логические величины, операции, выражения

План:

Операции отношения

Логические операции

Логические выражения

Логический оператор присваивания

В подразд. 1.4 уже говорилось о логических величинах, логиче­ских операциях, логических выражениях. Напомним, что вели­чина логического типа может принимать всего два значения: ИСТИНА и ЛОЖЬ.

В Паскале логические значения обозначаются служебными сло­вами False (F) и True (T), а идентификатор логического типа — Boolean.

Кроме величин (констант и переменных) типа Boolean, логи­ческие значения False, True принимают результаты операций от­ношения.

Операции отношения осуществляют сравнение двух операндом и определяют, истинно или ложно соответствующее отношение между ними.

Структура операции отношения представлена на рис. 2.11, где

<знак отношения> ::== (равно) | < > (не равно) | > (больше) | < (меньше) | >= (больше или равно) | <= (меньше или равно).

Приведем примеры записи отношений:

х < у; а + b >= c/d; abs(m — n) <= 1.

и примеры вычисления значений отношений:

Отношение

Результат

12 >= 12

56 > 10

11 <= 6

True

True

False

Логические операции выполняются над операндами булевского типа. Имеются четыре логические операции: Not — отрицание; And — логическое умножение (конъюнкция); Оr — логическое сло­жение (дизъюнкция). Кроме этих трех обязательных операций, в ТурбоПаскале имеется еще операция «Исключающее ИЛИ», обо­значаемая служебным словом Хоr. Это двухместная операция, ко­торая в результате дает значение ИСТИНА, если оба операнда имеют разные логические значения.

Логические операции были перечислены в порядке убывании приоритетов. Результаты выполнения логических операций для различных значений операндов приведены в табл. 2.5.

Таблица 2.5

Результаты выполнения логических операций

А

В

Not A

A And В

АОгВ

АХогВ

Г

Т

F

т

Т

F

Т

F

F

F

Т

Т

F

F

Т

F

F

F

F

Т

Т

F

Т

Т

Операции отношения имеют самый низкий приоритет, поэтому если операндами логической операции являются отношения, их следует заключать в круглые скобки. Например, математическому неравенству 1≤ x ≤ 50 соответствует следующее логическое выражение:

(1 <= х) And (х <= 50)

Логическое выражение — это логическая формула, записанная на языке программирования. Логическое выражение состоит из логических операндов, связанных логическими операциями и круглыми скобками. Результатом вычисления логического выражения является булевская величина (False или True). Логическими операндами могут быть логические константы, переменные, функ­ции, операции отношения. Один отдельный логический операнд является простейшей формой логического выражения. Приведем примеры логических выражений, в которых d, b, с - логические числа; х, у — вещественные; к — целая переменная:

1) х < 2 * у; 2) True; 3) d;

4) Odd(k); 5) Not Not d; 6) Not (x > y/2) ;

  1. d And (x < > у) And b; 8) (c Or d) And (x = y) Or Not b.

При d = True, b = False, с = True, x = 3.0, у = 0.5, к = 5 результаты вычислений будут следующими:

1) False; 2) True; 3) True; 4) True;

5) True; 6) False; 7) False; 8) True.

В данном примере использована логическая функция Odd (x). Этo функция от целого аргумента х, которая принимает значение True, если значение х нечетное, и значение False, если оно четное.

Логический оператор присваивания имеет структуру, представ­ленную на рис. 2.12.

Приведем примеры логических операторов присваивания:

  1. d := True;

  2. b := (х > у) And (k < > 0) ;

  3. с := d Or b And Not(Odd(k) And d).