Песни о Паскале - [24]

Шрифт
Интервал


>FALSE AND FALSE = FALSE

>FALSE AND TRUE = FALSE

>TRUE AND FALSE = FALSE

>TRUE AND TRUE = TRUE


Логическое сложение OR («ИЛИ»). Приоритет самый низкий, – выполняется в последнюю очередь. Требует двух операндов и в результате дает TRUE, если хотя бы один из операндов равен TRUE.


>FALSE OR FALSE = FALSE

>FALSE OR TRUE = TRUE

>TRUE OR FALSE = TRUE

>TRUE OR TRUE = TRUE


Итоги

• Информация – это то, что устраняет неопределенность.

• Получая ответ на вопрос, мы получаем информацию. Количество информации можно измерить.

• Наименьшая порция информации – бит – содержится в ответе на простой вопрос («да» или «нет»). Это количество принято за единицу измерения информации.

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

• Подобие триггеров в Паскале – булевы (логические) переменные. Они принимают только одно из двух значений: TRUE (истина) или FALSE (ложь).

• Булевы переменные в сочетании с логическими операциями OR, AND, NOT и скобками образуют булево выражение. Скобки нужны для изменения естественного порядка выполнения операций.

• Булевы выражения используют в условных и циклических операторах.

А слабо?

А) Что будет напечатано в результате выполнения следующего фрагмента?


>      S:=’123’;

>      Writeln (’123’=S);


Б) Переведите на русский язык это выражение.


>      if (S=’’) and (A or B) then …


В) Напишите программу к бортовому компьютеру для маршрута на рис. 36.



Рис.36 – Схема проезда к задаче «В»

Г) В переменные M1, M2 и M3 вводится итог подбрасывания трех монет так, что TRUE соответствует «орел», а FALSE – «решка». Надо составить пять выражений таких, чтобы они выдавали TRUE для следующих случаев:

• у всех монет выпал «орел»;

• у всех монет выпала «решка»;

• все монеты упали одинаково;

• у первой – «решка», у прочих – «орел»;

• у первой – «орел», а две остальные упали одинаково.

Подсказка: логические данные можно сравнивать; сравнение обладает самым низким приоритетом, и потому внутри выражений заключается в скобки, например: M1 and (M2=M3).

Глава 14

Дважды два – четыре



Первые компьютеры назывались электронными вычислительными машинами (ЭВМ). Хотите – верьте, хотите – нет, но тогда на них не документы печатали и не фильмы смотрели, а вычисляли. С тех пор компьютеры научились многому и даже обыгрывают в шахматы чемпионов мира, однако, их способность к счету по-прежнему в цене.

Поможем братьям нашим меньшим

Пора и нам обратиться к вычислительным талантам компьютера. Не будем тратить попусту время, и по ходу дела соорудим полезную программу. Вы сможете испытать её на живом человеке, если найдёте первоклашку, зубрящего таблицу умножения. Уверен, что он с удовольствием подвергнет себя такому испытанию. Итак, наша очередная программа – экзаменатор. Суть её проста: компьютер предлагает ученику два числа и ждет от него ответа – произведения этих чисел. За правильный ответ ученика поощряют, а иначе его ждет «нахлобучка».

Числа и действия с ними

Скажу честно: знакомых нам типов данных – STRING и BOOLEAN – не хватит для решения поставленной задачи. Для вычислений в Паскале припасены другие типы данных, один из которых называется INTEGER, что переводится как целое. Из названия следует, что переменные такого типа могут хранить целые числа (положительные и отрицательные), например 10, 25, -14. Переменные целого типа объявляют следующим образом:


>var N, M : integer;


Таким переменным можно присваивать выражения целого типа, состоящие из чисел, арифметических операций, скобок и других переменных, например:


>      N := 19; M :=-25;

>      M := 20 + 3*N;


К арифметическим операциям относятся:

• сложение (+) и вычитание (–);

• умножение (*) и деление (DIV);

• нахождение остатка от деления (MOD).

Здесь DIV и MOD – это ключевые слова языка. Примеры деления и нахождения остатка показаны ниже (в комментариях указаны результаты).


>      N := 10 div 2; { =5 }       M := 10 mod 2; { =0 }

>      N := 10 div 3; { =3 }       M := 10 mod 3; { =1 }

>      N := 10 div 4; { =2 }       M := 10 mod 4; { =2 }

>      N := 10 div 5; { =2 }       M := 10 mod 5; { =0 }

>      N := 10 div 6; { =1 }       M := 10 mod 6; { =4 }


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

Числовые переменные и выражения можно сравнивать между собой на равенство (=), неравенство (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=). При сравнении получается, как всегда, булев результат, например:


>var X, Y: integer;

>      B: Boolean;

>begin

>      X:=5;       Y:=10;

>      B:= X=Y; { B = FALSE }

>      B:= X

>      B:= X=Y-5; { B = TRUE }

>end.


А как быть с вводом и выводом числовых данных, нет ли тут сложностей? К счастью, нет. Так же как и строки, числовые данные вводятся процедурой Readln, а печатаются процедурами Write и Writeln, например:


>      Readln(X);

>      Writeln(X);

>      Writeln(’Y=’, X+10);


В последнем операторе на экран выводится строковая константа ’Y=’ и результат сложения X+10.

Теперь вы снабжены всем необходимым для написания экзаменатора.

Алгоритм экзаменатора

Рекомендуем почитать
Вечный эмигрант

Трясет Перу, и Яву, и Бермуды И тонет Русь в дешевеньком вине А я живу, живу с мечтой о чуде, "Сосновых башнях"* в дивной той стране...


Изгнанница с севера

Сборник, в который включены в основном стихи о Беларуси.


Мулька

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


Предварительный отбор

Кир доверил случаю выбор вуза и не представлял, какой предварительный отбор должен пройти его абитуриент…Первое место в номинации «Читательская симпатия» на конкурсе «Кубок Брэдбери-2018».


Достоевский

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


Полеты средствами водоплавающих

В романе «Полеты средствами водоплавающих» организованным событийным хороводом и несколько оригинальной композицией переплелись пара хорошо знакомых читателю планет нашей звездной системы. В купе с Меркурием, Сатурном, грозным, нелогичным, но приветливым Никандром, очаровательным Лару и другими героями перед вами оживут островки воспоминаний, кусочки неоднородного, частично растерянного пазла вероятного будущего и непроглядного прошлого. Однако лишь сверкающее настоящее отрепетированным ансамблем заманит в объятья последнего гостя Земли.