- •Алгоритмизация и основы программирования
- •1. Технология подготовки и решения задач на компьютере
- •Понятие об алгоритмических языках
- •2. Этапы решения задач на компьютере
- •Этапы процесса тестирования
- •Характерные ошибки программирования.
- •3. Основы языка программирования Паскаль
- •3.1. Алфавит языка программирования
- •Правила написания идентификаторов:
- •Константы
- •3.2. Выражения, операции
- •3.3. Операторы
- •3.3.1. Оператор присваивания
- •3.3.2. Операторы перехода
- •3.4. Использование комментариев для пояснений
- •3.5. Общая структура программ в Паскале
- •1. Раздел объявлений и соглашений
- •2. Раздел текстов процедур и функций
- •3. Раздел основного блока программы
- •3.6. Основные операторы модуля crt в turbo pascal
- •3.7. Типы данных
- •3.7.1. Целочисленный тип
- •3.7.2. Вещественные типы
- •3.7.3. Символьный тип
- •3.7.4. Логический тип (boolean)
- •Простые логические выражения
- •Составное логическое выражение
- •Перечисляемый тип
- •Интервальный тип
- •3.8. Ввод-вывод данных
- •Вывод данных
- •Способы представления вещественных чисел
- •Ввод данных
- •3.9. Математические функции и процедуры
- •Взаимные преобразования чисел
- •4. Конструкции языка программирования Паскаль
- •4.1. Организация ветвления
- •4.1.1. Условные операторы. Оператор if
- •4.1.2. Конструкция множественного выбора Case … Of
- •4.2. Операторы цикла
- •4.2.1. Оператор цикла For
- •4.2.2. Оператор цикла Repeat..Until
- •4.2.3. Оператор цикла While..Do
- •5. Структурированные типы данных
- •Одномерные массивы
- •Доступ к элементам массива
- •Заполнение массива
- •6. Подпрограммы пользователя. Назначение Преимущества модульности
- •Подпрограмма
- •Список используемой и рекомендуемой литературы
3.7.4. Логический тип (boolean)
Не всегда переменные используются для того, чтобы представлять числа. Одним из нечисловых типов данных является тип данных BOOLEAN. Булевы (логические) переменные могут иметь одно из двух значений: TRUE (истина) или FALSE (ложь). Булевы выражения могут принимать несколько различных форм.
1. Они могут быть просто константами TRUE (истина) или FALSE (ложь). Оператор присваивания, использующий эту форму, аналогичен обычному арифметическому оператору присваивания.
Пример:
Flag:=true;
Valid:=false;
2. Булевы выражения можно также использовать, чтобы проверить отношение между двумя переменными. Допустим, у нас есть две переменные типа INTEGER и нужно узнать, равны ли они. Если имена переменных FIRST и SECOND, мы можем проверить их равенство с помощью булевого выражения
(FIRST = SECOND)
Если они равны, это выражение примет значение TRUE. Если они не равны, выражение примет значение FALSE. Отметим, что знак равенства (=) отличен от знака присваивания (:=).
3. Булевы выражения могут конструироваться с помощью булевых операций. Эти операции образуют инструментальный фундамент булевой логики, алгебры логики, разработанной в XIX в. математиком Джорджем Булем.
Простые логические выражения
В язык Паскаль включены три основные булевы операции: and ("И"), or ("ИЛИ") и not ("НЕ").
Результат операции and есть истина, только если оба ее операнда истинны.
Таблица истинности для AND
X1 |
X2 |
Результат |
|
|
0 |
0 |
0 |
|
FALSE and FALSE → FALSE |
1 |
0 |
0 |
|
TRUE and FALSE → FALSE |
0 |
1 |
0 |
|
FALSE and TRUE → FALSE |
1 |
1 |
1 |
|
TRUE and TRUE → TRUE |
Результат операции or есть истина, если какой-либо из ее операндов истинен.
Таблица истинности для OR
X1 |
X2 |
Результат |
|
|
0 |
0 |
0 |
|
FALSE or FALSE → FALSE |
1 |
0 |
1 |
|
TRUE or FALSE → TRUE |
0 |
1 |
1 |
|
FALSE or TRUE → TRUE |
1 |
1 |
1 |
|
TRUE or TRUE → TRUE |
Третья операция not имеет один операнд и образует его логическое отрицание. Результат операции not есть FALSE, если операнд истинен, и TRUE, если операнд имеет значение ложь.
not FALSE → TRUE |
not TRUE → FALSE |
Составное логическое выражение
Логическое выражение может быть достаточно сложным и содержать несколько логических операций. В этом случае операции выполняются слева направо и приоритет имеет операция NOT, затем AND, и далее OR. Для изменения порядка выполнения операций можно (как и в арифметических выражениях) использовать круглые скобки.
Примеры. Условие «Х<0 или Х>100» можно записать так:
If ((Х<0) OR (X>100))
Это же условие можно сформулировать словами «X не принадлежит отрезку [0,100]» и записать следующим образом:
If NOT( (0<=X) AND (X<=100) )
Условие: «Если А, В, С одновременно обращаются в 0» можно записать так:
If ((А=0) AND (B=0) AND (C=0))
Когда полезны эти операции? Если нужно проверить сложное условие.
Пример: Необходимо вычислить значение функции
при .
Условие является составным, то есть x одновременно принадлежит и промежутку и . При программировании на языке Паскаль необходимо использовать конструкцию (( ) AND ( )).
Логические переменные могут использоваться для хранения результатов каких-либо логических вычислений. Для логических переменных разрешены только две операции сравнения: «=» (равно) и «<>» (не равно), а также логические операции AND, OR, XOR, NOT. Для идентификаторов констант FALSE и TRUE имеют место следующие отношения: False<True, Ord(False)=0, Ord(True)=1, Succ(False)=True, Pred(True)=False.
Переменные типа BOOLEAN занимают в памяти 1 байт.