- •2.1. Первое знакомство с языком Паскаль
- •Упражнения
- •2.2. Некоторые сведения о системе ТурбоПаскаль (тп)
- •2.3. Элементы языка ТурбоПаскаль
- •2.4. Концепция типов данных
- •Типы данных ТурбоПаскаля
- •Зарезервированные константы Турбо Паскаля
- •2.5. Арифметические операции, функции, выражения. Оператор присваивания
- •Бинарные операции Паскаля
- •Стандартные математические функции ТурбоПаскаля
- •Упражнения
- •2.6. Ввод данных с клавиатуры и вывод на экран
- •Форматы процедуры Write
- •2.7. Управление символьным выводом на экран (модуль crt)
- •Упражнения
- •2.8. Логические величины, операции, выражения
- •Результаты выполнения логических операций
- •2.9. Функции, связывающие различные типы данных
- •Стандартные функции, связывающие различные типы данных
- •Упражнения
Упражнения
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) ;
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.
Приведем примеры логических операторов присваивания:
d := True;
b := (х > у) And (k < > 0) ;
с := d Or b And Not(Odd(k) And d).
