Песни о Паскале - [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.
Г) В переменные 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».
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В романе «Полеты средствами водоплавающих» организованным событийным хороводом и несколько оригинальной композицией переплелись пара хорошо знакомых читателю планет нашей звездной системы. В купе с Меркурием, Сатурном, грозным, нелогичным, но приветливым Никандром, очаровательным Лару и другими героями перед вами оживут островки воспоминаний, кусочки неоднородного, частично растерянного пазла вероятного будущего и непроглядного прошлого. Однако лишь сверкающее настоящее отрепетированным ансамблем заманит в объятья последнего гостя Земли.