Уроки 32 - 33. Алгоритмы с ветвящейся структурой
Уроки 34 - 35. Программирование ветвлений на Паскале
Уроки 34 - 35. Программирование вложенных ветвлений
Уроки 34 - 35. Логические операции
Уроки 34 - 35. Компьютерный практикум ЦОР. Программирование ветвлений на Паскале (Задание 1 - 6)
Уроки 34 - 35. Компьютерный практикум ЦОР. Программирование ветвлений на Паскале (Задание 7 - 12)
Уроки 36 - 37. Программирование диалога с компьютером
Наконец, составим еще один, третий вариант программы определения наибольшего числа из трех.
Нетрудно понять смысл этой программы. Здесь использованы три последовательных неполных ветвления. А условия ветвлений представляют собой сложные логические выражения, включающие логическую операцию and (И). С логическими операциями вы встречались, работая с базами данных и с электронными таблицами.
Напомним, что операция and называется логическим умножением или конъюнкцией. Ее результат — «истина», если значения обоих операндов — «истина». Очевидно, что если А ≥ В и А ≥ С, то А имеет наибольшее значение и т. д. В Паскале присутствуют все три основные логические операции:
and — И (конъюнкция), or — ИЛИ (дизъюнкция), not — НЕ (отрицание).
Замечание. Мы рассмотрели три варианта решения задачи о поиске максимального числа из трех заданных (БИТ1, БИТ2, БИТЗ). Предложенные варианты решения, помимо всего прочего, отличаются еще и эффективностью: эффективность тем выше, чем меньше исполняется операций при выполнении программы. С этой точки зрения, самым неэффективным является алгоритм БИТЗ. В любом случае в нем будет выполняться 6 операций отношения. При исполнении алгоритмов БИТ1 и БИТ2 выполняются 2 операции отношения. Понятно, что на практике необходимо использовать наиболее эффективные алгоритмы.
Обратите внимание на то, что отношения, связываемые логическими операциями, заключаются в скобки. Так надо делать всегда! Например, требуется определить, есть ли среди чисел А, В, С хотя бы одно отрицательное. Эту задачу решает следующий оператор ветвления:
if (А<0) or (В<0) or (С<0) then write ( 'YES ') else write ( 'NO ')
Выражение, истинное для отрицательного числа, может быть записано еще и так:
not(А>=0)
Формат оператора ветвления (условного оператора) Паскаля:
if <логическое выражение> then <оператор1> else <оператор2>
На ветвях условного оператора могут находиться простые или составные операторы. Составной оператор — это последовательность операторов, заключенная между служебными словами begin и end.
В сложных логических выражениях используются логические операции: and, or, not.
1. Как программируется на Паскале полное и неполное ветвление?
2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?
3. Выполните на компьютере все программы, приведенные в данном параграфе.
4. Составьте не менее трех вариантов программы определения наименьшего из трех данных чисел.
5. Составьте программу сортировки по возрастанию значений трех переменных: А, В, С.
6. Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов.
Следующая страница Уроки 34 - 35. Компьютерный практикум ЦОР. Программирование ветвлений на Паскале (Задание 1 - 6)