Что такое boolean в паскале

Что такое boolean в паскале

Простые логические выражения

Для того, чтобы программа была не линейной (т.е. в зависимости от ситуации выполнялись разные инструкции) в языках программирования используются логические выражения, результат которых может быть либо правдой (true), либо ложью (false). Результат логических выражений обычно используют для определения пути выполнения программы.

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

В Паскале предусмотрены следующие операторы отношений:

  • меньше: x y
  • равно: x = y
  • не равно: x <> y
  • меньше или равно: x = y

Булевы типы

Результатом логического выражения всегда является булево (логическое) значение. Булев тип данных (boolean) может принимать только два значения (true или false). Эти величины упорядочены следующим образом: false , >=, , =), поэтому не нужно забывать расставлять скобки в сложных логических выражениях.

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

Стандартные булевские функции

  • odd(x) = true, если x нечетный (x целый тип);
  • eoln(x) = true, если встретился конец строки текстового файла x;
  • eof(x) = true, если встретился конец файла x.

В остальных случаях эти функции принимают значение false.

В языке Паскаль имеются две логические константы: TRUE(истина) и FALSE(ложь). Логическая переменная может принять любое из этих значений и имеет тип boolean. Логические данные широко используются при проверке правильности некоторых условий и при сравнении величин. Результат может оказаться “истинным” или “ложным”. Над логическими данными допускаются следующие операции:

Читайте также:  Интернет 100 мбит это много или мало

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Логический тип данных Boolean в Паскале

Мы уже научились писать программы, основанные на линейных алгоритмах, в Паскале. И даже уже составляем нелинейные алгоритмы — с ветвлением — в которых используются логические выражения, которые принимают значения true или false .

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

var A: integer; begin A := 5; write(A > 0); <Будет выведено True>end.

Для записи результата логического выражения используется специальная логическая переменная, которая имеет в Паскале тип boolean и может также принимать одно из двух значений — true или false .

Посмотрим, как работает та же самая задача с логической переменной:

var A: integer; b: boolean; begin A := 5; b:=A > 0; write(b); <Будет выведено True>end.

var a:boolean; begin a:=true; if a=true then writeln (‘истина’) else writeln(‘ложь’); end.

Для создания сложных условий используются специальные логические операции: and , or , not и xor .

Рассмотрим пример с использованием логической операции XOR :

program Boolean; var x,y: integer; c :boolean; begin write(‘Введите X, Y: ‘); read(x,y); c := (Odd(x)) xor (Odd(y)); writeln(‘Только одна из переменных X и Y имеет нечетное значение — ‘, c); end.

Рассмотрим еще одно решение задачи в Паскале с использованием логической переменной:

Рассмотрим решение более сложной задачи с переменной логического типа:

const a=348; var d_n, s_n, e_n: integer; flag:boolean; begin flag:=false; s_n:=a div 100; d_n:=((a mod 100)div 10); e_n:=a mod 10; if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then flag:=true; writeln(flag); end.

Здесь каждый разряд получается путем использования операций деления нацело и взятия остатка от деления: s_n — это цифра сотого разряда, d_n — цифра десятого разряда, e_n — единицы.

Читайте также:  Что дают бонусы в спортмастере

Минимальное и максимальное число в Паскале

При организации поиска минимального или максимального числа среди ряда чисел всегда на помощь приходит старенький «бабушкин» алгоритм:

  • Представим ситуацию, что мы жарим пирожки, и уже нажарили целую большую горку; теперь надо выбрать из них самый большой, т.е. в нашем случае максимальный.
  • Берем верхний пирожок, т.е. первый, и говорим, что он пока самый большой и откладываем его в сторону.
  • Затем берем второй и сравниваем с самым большим, если этот второй пирожок оказывается больше — откладываем его на место «бывшего самого большого» и говорим, что теперь он самый большой.
  • Берем следующий и повторяем действия. Так осуществляем данную процедуру со всеми пирожками.

Иногда в качестве первоначального максимума назначается самое малое возможное число (в зависимости от контекста задачи). А в качестве минимума — напротив, самое большое возможное число. Например, если сказано, что необходимо найти максимальное / минимальное среди положительных чисел, меньших 1000, то:

Рассмотрим теперь решение задачи на Паскале нахождения максимального числа:

var i, chislo, max:integer; begin readln(max); <первое введенное число сразу определяем как максимальное>for i:=2 to 10 do begin readln (chislo); if chislo > max then max:= chislo end; writeln(max) end.

Аналогично осуществляется поиск минимального из чисел.

Для лучшего понимания темы поиска максимального или минимального значения предлагаем посмотреть видео урок:

Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:

Ссылка на основную публикацию
Что значит загрузочная флешка
Что такое загрузочная флешка / 8 способов создать загрузочную флешку Что такое загрузочная флешка / 8 способов создать загрузочную флешку...
Чему равна сумма бесконечно убывающей геометрической прогрессии
ЧИСЛОВЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ VI § l48. Сумма бесконечно убывающей геометрической прогрессии До сих пор, говоря о суммах, мы всегда предполагали, что...
Чем стереть автомобильную краску
Автомобили настолько плотно вошли в нашу жизнь, что большинство людей не представляет свою жизнь без персонального транспортного средства. Машина —...
Что значит заблокировать сообщение в телефоне
Текстовые сообщения очень удобны – ведь с их помощью вы можете получить информацию от другого абонента даже в тот момент,...
Adblock detector