9.5.2. Операторы условного перехода
Структура условного оператора имеет следующий вид:
IF <условие> THEN <оператор 1> ELSE <оператор 2>;
где: IF, THEN, ELSE – зарезервированные слова (если, то, иначе);
<условие> – произвольное выражение логического типа;
<оператор 1>, <оператор 2> – любые операторы языка Турбо Паскаль.
Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть TRUE (истина), то выполняется <оператор 1>, а <оператор 2> пропускается; если результат есть FALSE (ложь), наоборот, <оператор 1> пропускается, а выполняется <оператор 2>. Поскольку любой из операторов <оператор 1> и <оператор 2> может быть любого типа, в том числе и условным, а в то же время не каждый из «вложенных» условных операторов может иметь часть ELSE <оператор 2>, то возникает неоднозначность трактовки условий. Эта неоднозначность в Турбо Паскале решается следующим образом: любая встретившаяся часть ELSE соответствует ближайшей к ней «сверху» части THEN условного оператора. Условный оператор позволяет проверить некоторое условие и в зависимости от результатов поверки выполнить то или иное действие. Таким образом, условный оператор – это средство ветвления вычислительного процесса.
а) Простой, короткий IF (если)
Структура оператора имеет вид:
1) IF (условие) THEN (оператор или метка);
Пример 3.
Вычислить y: = ln x , если x > 0.
Написать программу вычисления функции.
Решение.
Программа имеет вид.
Program PR3;
var y, x : real;
begin
writeln(‘ввести x’);
Readln (x);
{простой, короткий IF}
IF x > 0 THEN y: = ln(x);
writeln ( `x=`, x: 7:2, `y=`, y :7 :2 );
end.
b) Простой, полный IF
Пример 4.
Вычислить y = ln x , если X>0, иначе y=cos x.
Написать программу вычисления функции.
Решение.
В примере 4 рассматривается не только вариант «тогда», но и «иначе».
Программа имеет вид:
Program PR4;
var x, y: real;
begin
writeln(‘ввести X’);
Readln (X);
{простой, полный IF}
if x>0 THEN y:= ln (x)
ELSE y:=cos(x);
Writeln (`x = `, x:6:2 , `y = `, y:7:2)
end.
Если Х > 0, тогда выполняется оператор за словом THEN, иначе выполняется оператор, следующий за этой строкой.
c) Cоставной, короткий IF
Составной оператор – это последовательность произвольных операторов программ, заключенная в операторные скобки – зарезервированные слова BEGIN…END. Составные операторы – важный инструмент Турбо Паскаля, дающий возможность писать программы по современной технологии структурного программирования (без перехода GOTO).
Язык Турбо Паскаль не накладывает никаких ограничений на характер операторов, входящих в составной оператор.
Пример 5.
Вычислить y=ln x, z=y–5x, если x > 0.
Написать оператор условия вычисления функции.
Решение.
Оператор условия запишется в виде:
IF x>0 then
Begin
y:=Ln(x);
z:=y–5*x;
Writeln (`y = `, y:7:2, `z =`, z:8:3)
end;
d) Составной, полный IF
Пример 6.
Рассмотрим задание примера 4, но вывод делается для каждого условия.
Решение.
Оператор условия запишется в виде:
IF x>0 then
Begin
Y:=ln (x);
Writeln (`x = `, x:6:2 ,`y =`, y:7:2);
End
Else
begin
Y:=cos (x);
Writeln (`x = `, x:6:2,`y =`, y:7:2);
End;
В примере 6 после слов then, еlse операторы заключены в операторные скобки.
e) Структурированный (разветвленный) IF
1) Структурированный, короткий, простой IF.
В структурированном операторе содержится последовательная проверка вложенных условий.
Пример 7.
Вычислить r=ln(x+y+z), если x > 0, y > 0, z > 0.
Написать фрагмент программы вычисление функции структурированным оператором условия.
Решение.
Оператор условия запишется в виде:
IF x>0 then
IF y>0 then
IF z>0 then
R:=LN(X+Y+Z);
Пример 8.
Если вместо структурированного оператора условия использовать оператор с логическим выражением, то пример 7 запишется в виде:
IF (x>0) and (y>0) and (z>0) then R:=LN(X+Y+Z);
В примере 8 уместна логическая операция «and». Данную строку можно прочитать следующим образом «если (x>0) и (y>0) и (z>0) тогдаR:=LN(x+y+z);». В примере 9 используется оператор условия с логическим выражением, где применяется логическая операция «or».
Пример 9.
Вычислить r=x+y+z, если выполняется хотя бы одно из условий x>0, y>0, z>0. Оператор условия запишется в виде:
IF (x>0) or (y>0) or (z>0) then R:=(x+y +z);
Данную строку можно прочитать следующим образом «если (x>0) или (y>0) или (z>0) тогдаR:=LN(x+y+z);». В примерах 8, 9 логические выражения включают в себя логические операции и условия, каждое условие следует заключать в скобки.
2) Структурированный, полный, простой IF.
Пример 10.
Вычислить:
r=ln(x)+ln(y)+ln(z), если x>0, y>0, z>0;
r= ln(x)+ln(y)+z, если x>0, y>0;
r=ln (x)+y+ z, если x>0, иначе r = x+y+z .
Оператор условия запишется в виде:
IF x>0 then
IF y>0 then
IF z>0 then r:=ln(x)+ln(y)+ln(z) else r:= = ln(x)+ln(y)+z
Else r:= ln (x)+y+z
Else r:= x+y+z;
Вначале проверяются три условия. Если они выполняются, то вычисляется r=ln(x)+ln(y)+ln(z). Иначе выполняются первые два условия, а последнее не выполняется и z ≤ 0 (первое слово else относится к последнему условию). В этом случае вычисляется r= ln(x)+ln(y)+z.
Если из двух условий выполняетcя только первое, то вычисляется r=ln x+y+z (второе слово else относится ко второму условию) и в этом случае y ≤ 0. Последнее слово else относится к первому условию и в этом случае х ≤ 0. В этом случае вычисляется r=x+y+z.
Yandex.RTB R-A-252273-3- Математика и информатика
- Содержание
- Часть 1. Основания математики Глава 1. Понятийный аппарат аксиоматического метода
- 1.1. Понятие аксиоматического метода
- 1.2. Аксиоматическое построение математической теории
- 1.3. Вопросы для самоконтроля по теме «Аксиоматический метод»
- Глава 2. Основные понятия теории множеств. Основные структуры
- 2.1. Понятие множества
- 2.2. Способы задания множеств
- 2.3. Алгебра множеств
- 2.3.1. Отношения между множествами
- 2.3.2. Операции над множествами
- 2.3.3. Алгебраические свойства операций над множествами
- 2.3.4. Геометрическая интерпретация операций над множествами
- 2.4. Декартово произведение множеств. Бинарные отношения
- 2.5. Символический язык логической структуры математических предложений
- 2.6. Алгебраические операции над различными математическими объектами
- 2.7. Вопросы для самоконтроля по теме «Теория множеств»
- Глава 3. Структуры на множестве. Комбинаторика
- 3.1. Перестановки
- 3.2. Размещения
- 3.3. Сочетания
- 3.4. Вопросы для самоконтроля по теме «Комбинаторика»
- Часть 2. Основы теории вероятностей Глава 4. Случайные события
- 4.1. Основные понятия теории вероятностей. Виды случайных событий
- 4.2. Алгебра случайных событий
- 4.3. Определение вероятности
- 4.3.1. Классическое определение вероятности
- 4.3.2. Аксиомы теории вероятностей. Аксиоматическое определение вероятности
- 4.4. Теоремы сложения и умножения вероятностей
- 4.4.1. Сложение вероятностей несовместных событий
- 4.4.2. Умножение вероятностей независимых событий
- 4.4.3. Вероятность появления хотя бы одного события
- 4.4.4. Умножение вероятностей зависимых событий. Условная вероятность
- 4.4.5. Сложение вероятностей совместных событий
- 4.5. Формула полной вероятности
- 4.6. Формула Байеса
- 4.7. Вопросы для самоконтроля по теме «Основы теории вероятностей»
- Глава 5. Случайные величины
- 5.1. Понятие случайной величины
- 5.2. Дискретная случайная величина
- 5.2.1. Закон распределения дискретной случайной величины
- 5.2.2. Числовые характеристики дискретных случайных величин
- 5.3. Непрерывная случайная величина
- 5.3.1. Функция распределения вероятностей и плотность распределения вероятностей непрерывной случайной величины
- 5.3.2. Числовые характеристики непрерывной случайной величины
- 5.3.3. Равномерный и нормальный законы распределения непрерывных случайных величин
- 5.3.4. Вероятность попадания в заданный интервал нормальной случайной величины
- 5.3.5. Вычисление вероятности заданного отклонения нормальной случайной величины
- 5.4. Вопросы для самоконтроля по теме «Случайная величина»
- Часть 3. Элементы математической статистики Глава 6. Статистические оценки параметров распределения
- 6.1. Предмет и задачи математической статистики
- 6.2. Выборочный метод
- 6.2.1 Полигон и гистограмма
- 6.2.2. Эмпирическая функция распределения
- 6.3. Статистические оценки параметров распределения
- 6.4. Некоторые статистические распределения
- 6.4.2. Распределение Стьюдента
- 6.5. Интервальные оценки
- 6.5.1. Доверительные интервалы для оценки математического ожидания нормального распределения случайной величины
- 6.5.2. Доверительные интервалы для математического ожидания при известной дисперсии
- 6.5.3. Оценка генеральной дисперсии по исправленной выборочной
- 6.5.4. Доверительные интервалы для математического ожидания при неизвестной дисперсии
- Глава 7. Проверка статистических гипотез
- 7.1. Понятие и классификация статистических гипотез
- 7.2. Общая схема проверки гипотез
- 7.3. Статистическая проверка гипотез о параметрах распределения
- 7.4. Вопросы для самоконтроля по теме «Элементы математической статистики»
- Часть 4. Алгоритмизация и программирование Глава 8. Основы алгоритмизации
- 8.1. Понятие и свойства алгоритма
- 8.2. Таблица блоков
- 8.3. Линейные алгоритмы
- 8.4. Ветвления
- 8.5. Циклы. Повтор с заданным количеством циклов
- 8.6. Вопросы для самоконтроля по теме «Алгоритмизация»
- Глава 9. Программирование на Паскале
- 9.1. Конструкция языка Turbo-Pascal
- 9.1.1. Алфавит
- 9.1.2. Данные и типы данных
- 9.1.3. Стандартные функции
- 9.1.4. Арифметические, логические, символьные выражения
- 9.2. Структура программы на языке Паскаль
- 9.3. Основные операторы Паскаля
- 9.3.1. Оператор присваивания
- 9.3.2. Операторы ввода
- 9.3.3. Операторы вывода
- 9.3.4. Комментарий
- 9.4. Программы линейных алгоритмов
- 9.5. Операторы передачи управления
- 9.5.1. Оператор безусловного перехода
- 9.5.2. Операторы условного перехода
- 9.5.3. Оператор выбора варианта
- 9.6. Разветвляющийся алгоритм
- 9.7. Операторы цикла
- 9.8. Программы циклических алгоритмов
- 9.9. Массивы
- 9.9.1. Понятие и описание массива
- 9.9.2. Ввод и вывод элементов массивов
- 9.9.3. Операции с массивами
- 9.10. Вопросы для самоконтроля по теме «Программирование»
- Литература
- Приложениe 1
- Приложениe 2
- Приложениe 3
- Математика и информатика учебное пособие