Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Булевы выражения в CF-Паскале
Булевы выражения могут быть включены в состав операторов IF и WHILE языка CF-Паскаль для уменьшения сложности многих программ. В качестве иллюстрации переработаем программу MinSort с использование булевых условий вместо вложенных операторов IF там, где это возможно. Новые идеи: Булевы выражения языка Паскаль.
SR23. <условие>::= <выражение> <сравнение> <выражение> | NOT(<условие>) |(<условие>) AND (<условие>) |(<условие>) OR (<условие>)
это правило показывает, что любое условие, используемое с булевым оператором, должно быть заключено в скобки.
Примеры выражений с одинаковым значением:
Булевы тождества и факты могут быть использованы для создания эквивалентных условий языка Паскаль. Например, закон деМоргана:
NOT(P OR Q) = (NOT P) AND (NOT Q)
Означает, что операторы IF, начинающиеся с
IF NOT((Ch1 = Ch2) OR (Ch3 < Ch4))
и
IF (Ch1 <> Ch2) AND (Ch3 >= Ch4) будут иметь одинаковые действия. Большинству людей более понятен второй вариант.
Булевы выражения очень полезны в программировании. Например:
WHILE (Ch = ‘ ‘) OR (Ch = ‘0’) DO READ(Ch)
будет продолжать считывание до первого непробельного ненулевого символа.
IF (Ch >= ‘0’) AND (Ch <= ‘0’) THEN WRITE(Ch)
будет печатать только цифры.
Снова семейство программ MinSort. Булевы выражения позволяют программе MinSort быть улучшенной, создавая новое семейство программ MinSortB. Раздел проекта 3.1 может быть заменен следующим:
Design part 3.1 BEGIN {печатаем минимальное значение из Ch1, Ch2, Ch3 в OUTPUT, оставшиеся значения помещаем в Ch1, Ch2} IF (Ch1 < Ch2) AND (Ch1 < Ch3) THEN {Печатаем Ch1 в OUTPUT, помешаем Ch3 в Ch1} BEGIN WRITE(Ch1); WRITE(Ch1:= Ch3) END ELSE {Печатаем минимум из Ch2, Сh3 в OUTPUT. В случае необходимости копируем Ch3 в Ch2} IF Ch2 < Ch3 THEN BEGIN WRITE(Ch2); Ch2:= Ch3 END ELSE WRITE(Ch3) END
Date: 2016-11-17; view: 236; Нарушение авторских прав |