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

Решение нашей задачи можно высказать так: «проехать можно, если открыта улица A И открыта улица B». Обратите внимание на выделенный курсивом союз «И». Чтобы превратить это рассуждение в логическое выражение и записать на Паскале, надо лишь перевести союз «И» на английский язык – это будет «AND», а названия улиц заменить логическими переменными A и B. И вот результат такого перевода.

      if A and B

      then S:=’Поезжай на машине!’

      else S:=’Топай пешком!’;

Вместо двух условных операторов остался один. Готовая программа будет такой.

{ P_13_1 – первый маршрут проезда }

var A, B : Boolean; S: string;

begin

      { ввод данных со «спутника» }

      Write(’Улица A:’); Readln(S); A:= S=’1’;

      Write(’Улица B:’); Readln(S); B:= S=’1’;

      { решение }

      if A and B

      then S:=’Поезжай на машине!’

      else S:=’Топай пешком!’;

      Writeln(S); Readln

end.

Испытайте программу при разных сочетаниях входных данных и проверьте, не врёт ли она?

Теперь рассмотрим другой маршрут, здесь попасть в школу можно по любой из двух улиц (рис. 32).

Рис.32 – Схема проезда, второй вариант

Обычным языком молвим так: «проезд возможен, если открыта улица A ИЛИ открыта улица B». Союз «ИЛИ» тоже припасен в Паскале, по-английски он пишется «OR». В этом случае решение будет таким.

      if A or B

      then S:=’Поезжай на машине!’

      else S:=’Топай пешком!’;

А вот маршрут на рис. 33 более замысловат.

Рис.33 – Схема проезда, третий вариант

Слабо ли вам выразить решение для этого случая? Сказать на обычном языке легко: «проехать можно, если открыта A И открыта B ИЛИ открыта C И открыта D ИЛИ открыта E». Слово «улица» я пропустил. Все, решение готово! Осталось лишь перевести его на язык Паскаль.

      if A and B or C and D or E

Вы читаете Песни о Паскале
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату