Программирование. Логические операции - Обработка информации - ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ

Информатика - Новый полный справочник для подготовки к ОГЭ

Программирование. Логические операции - Обработка информации - ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ

Конспект

В данном разделе рассмотрим правила составления условий, которые умеет проверять программа на языке Паскаль1.

Кроме вычисления арифметических выражений, рассмотренных в предыдущем разделе, Паскаль умеет также вычислять логические выражения.

Логические выражения более подробно описываются на стр. 50. Здесь рассмотрим, как те же выражения можно записать на языке программирования Паскаль.

Операции сравнения

Операции сравнения, которые умеет проверять Паскаль — это привычные нам в математике операции больше, меньше, равно и прочие.

Операция сравнения

Обозначение в математике

Запись на языке Паскаль

больше

>

>

меньше

<

<

равно

=

=

не равно

<>

больше или равно

>=

меньше или равно

<=

Обратите внимание на необычную форму записи операции “не равно”. Она записывается как “меньше или больше”. Постарайтесь запомнить, например, что эта запись похожа на ромбик. Неправильная запись: “><”.

Запись операций “больше или равно” и “меньше или равно” запомнить не трудно. Принцип “как слышится, так и пишется”, т. е. мы говорим “больше или равно” и пишем это знак как сначала символ “больше”, а затем символ “равно” (>=). Неправильная запись: “=>”. Аналогично и для “меньше или равно”.

При помощи операций сравнения в Паскале возможно сравнивать меду собой значения переменных, чисел и выражений. Результаты операций сравнения можно выводить на экран.

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

Для объединения в одном выражении результатов нескольких сравнений используют логические операции. В Паскале они работают так же, как в алгебре логики, которую мы обсуждали ранее.

Логическое И. Обозначение: and

Выполняется над двумя сравнениями.

Результат — истина, если результаты обоих сравнений — истина.

Таблица истинности:

Результат первого сравнения

Результат второго сравнения

(...) and (...)

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

TRUE

TRUE

Логическое ИЛИ. Обозначение: or

Выполняется над двумя сравнениями.

Результат — истина, если результаты хотя бы одного сравнения — истина.

Таблица истинности:

Результат первого сравнения

Результат второго сравнения

(...) or (...)

FALSE

FALSE

FALSE

FALSE

TRUE

TRUE

TRUE

FALSE

TRUE

TRUE

TRUE

TRUE

Логическое НЕ. Обозначение: not

Выполняется над одним сравнением.

Результат — истина, если результат сравнения — ложь, и ложь, если результат сравнения — истина.

Таблица истинности:

Результат сравнения

not (...)

FALSE

FALSE

TRUE

TRUE

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

Разбор типовых задач

Задача 1. Напишите программу, которая вводит с клавиатуры целое число и выводит на экран, верно ли, что:

— это число положительное,

— это число ближе к нулю, чем к числу 100.

Пример ввода

Пример вывода

-8

FALSE

TRUE

25

TRUE

TRUE

80

TRUE

FALSE

180

TRUE

FALSE

В некоторых разновидностях сред программирования на Паскале вывод на экран TRUE и FALSE происходит как True и False. При выполнении этого и подобных заданий это не считается ошибкой.

Решение

В программе нужно ввести с клавиатуры целое число. Для этого используем целочисленную переменную:

Это целое число вводим с клавиатуры:

Проверяем, положительное ли полученное число. Это делает проверка “а > 0”. Её результат выводим на экран:

Теперь нужно проверить, верно ли, что число ближе к нулю, чем к числу 100. Степень близости переменной к какому-либо значению определяется в математике как разность по модулю. Значит, вычислим разность по модулю числа с нулём и сравнить её с разностью по модулю числа с числом 100. Выводим результат на экран:

Все вместе:

Задача 2. Напишите программу, которая вводит с клавиатуры целое число х — координату точки на числовой прямой и проверяет, принадлежит ли введённое число х заштрихованной области:

Пример ввода

Пример вывода

1

FALSE

TRUE

4

TRUE

TRUE

5

TRUE

FALSE

9

FALSE

TRUE

10

FALSE

TRUE

Решение

Опишем целочисленную переменную х и введём её с клавиатуры:

Проверим, верно ли, что х принадлежит промежутку от 3 (включительно) до 9 (не включительно). Для этого х должен быть одновременно больше или равен 3 и строго меньше 9. Требуется, чтобы данные условия выполнялись одновременно, значит, оба эти сравнения следует объединить логической операцией and:

Ещё раз обратите внимание — каждое сравнение должно быть записано в своих скобках!

При проверке второго условия х должен оказаться либо в левой заштрихованной области, либо в правой. Чтобы х оказался в левой области, он должен быть строго меньше 5. Чтобы он оказался в правой заштрихованной области, х должен быть больше или равен 8. Нас устроит, чтобы из этих двух условий выполнилось хотя бы одно, поэтому объединим сравнения при помощи логической операции or:

Всё вместе (ответ):

Задача 2. С клавиатуры вводится натуральное трёхзначное число. Программа должна проверить, верно ли, что у этого числа первая цифра равна последней цифре.

Пример ввода

Пример вывода

326

FALSE

282

TRUE

Решение

Сначала научимся выделять первую и последнюю цифры данного числа.

Чтобы выделить первую цифру числа, важно понимать, что нам дано трёхзначное число. Найти нужную цифру позволяет вычисление результата целой части от деления нашего числа на 100, так как первой цифрой трёхзначного числа является количество сотен в числе. На Паскале это делает операция div 100.

Для выделения последней цифры любого натурального числа достаточно найти остаток от деления числа на 10. На Паскале это делает операция mod 10. Получаем программу (ответ):


1 Для более подробного и глубокого изучения программирования будет правильным сначала изучить логические переменные, в них научиться сохранять значения операций сравнения, и над ними выполнять логические операции.