Условный оператор
Ветвления в других языках программирования
Практическая работа № 11 «Ветвления»
Практическая работа № 12 «Сложные условия»
Практическая работа № 13 «Логические переменные»
Практическая работа № 14 «Экспертная система» (проект)
• условный оператор • полная форма условного оператора • неполная форма условного оператора • составной оператор • вложенный условный оператор • сложное условие • операция «И» • операция «ИЛИ» • операция «НЕ» • логические переменные • экспертная система
Сейчас мы умеем писать линейные программы, в которых операторы выполняются последовательно друг за другом и порядок их выполнения не зависит от входных данных.
В большинстве реальных задач порядок действий может несколько изменяться, в зависимости от того, какие данные поступили. Например, программа для системы пожарной сигнализации должна выдавать сигнал тревоги, если датчики показывают повышение температуры или задымленность.
Требуется записать в переменную М наибольшее из значений переменных а и b. Сформулируйте алгоритм решения задачи в словесной форме.
Для этой цели в языках программирования предусмотрены условные операторы (ветвления). В 7 классе мы изучали разветвляющиеся алгоритмы для исполнителя Робот, а сейчас будем работать с числами. Например, для того чтобы записать в переменную м максимальное (наибольшее) из значений переменных а и b, можно использовать оператор:
Видно, что запись на Паскале получена в результате перевода служебных слов алгоритмического языка на английский язык. Обратите внимание, что в языке Паскаль перед служебным словом else точка с запятой не ставится.
Кроме знаков < и > в условиях можно использовать и другие знаки отношений: <= (меньше или равно), >= (больше или равно), = (равно) и <> (не равно, два знака, < и > без пробела).
В этом примере условный оператор записан в полной форме: в обоих случаях (истинно условие или ложно) нужно выполнить некоторые действия.
Найдите и запишите в тетрадь перевод английских слов if, then, else.
Программа выбора максимального значения может быть написана иначе:
Здесь использован условный оператор в неполной форме: в случае, когда условие ложно, ничего делать не требуется (нет слова иначе и операторов после него).
Программист написал программу для выбора наименьшего из двух чисел так:
В каких случаях эта программа будет работать неправильно? Запишите программу правильно, используя один условный оператор в полной форме.
Можно ли в этой программе два условных оператора в неполной форме заменить на один оператор в полной форме? Почему?
Что делает эта программа?
Для того чтобы сделать текст программы более понятным, всё тело условного оператора сдвигается вправо. Вообще говоря, это не обязательно: в Паскале вся программа может быть записана в одну строку, и транслятор её поймёт. Однако если программа записана с отступами, в ней значительно проще разбираться. Поэтому мы будем всегда записывать программы с отступами. Система КуМир делает отступы автоматически.
Напишите последовательность команд, с помощью которой можно поменять значения двух переменных.
Следующая страница Составной оператор