Использование условий. Алгоритмы с ветвлением. В линейных алгоритмах все команды выполняются по порядку, как записаны в программе. Рассмотрим второй тип алгоритма – алгоритм с ВЕТВЛЕНИЕМ.
Ветвление в выполнении команд алгоритма возникает в случае, если существует выбор: какую команду выполнить в зависимости от условия. В жизни мы постоянно сталкиваемся с условиями и к ним так привыкаем, что не обращаем внимания или вообще не замечаем их. Например: 1) Мы проходим через дверной проем. Если дверь открыта, мы просто идем, если закрыта, то выполняем команду ОТКРЫТЬ ДВЕРЬ. 2) Подходим к пешеходному переходу, который регулируется светофором. Если свет красный, останавливаемся, иначе продолжаем движение. 3) Если возможен дождь, то при выходе на улицу мы берем зонтик, иначе ничего не делаем.
Примеры заданий из программирования (обязательно не забываем про математику): 1) Вводим число. Если оно положительное, то возводим в квадрат, иначе ничего не делаем. Выводим результат.
2) Из введенных целых положительных чисел суммируем только двухзначные.
Рассмотрим конструкцию на Pascal. Существуют две формы. 1) Полная форма. Она используется, если при верном условии выполняется одна команда, иначе вторая. По правилам синтаксиса перед else точка с запятой не ставится.
Блок-схема
Пример1: Дано однозначное число. Если оно четное, то выведем количество десятков, определенное этим числом (цифрой). Иначе - количество сотен. Program Prim1; Var a : integer; Begin read(a); if a mod 2 = 0 then writeln(a*10) else writeln(a*100); End.
2) Краткая форма. Она используется, если нужно выполнить команду при верном условии.
Блок-схема
Пример2: Изменим введенное с клавиатуры число по правилу: если оно отрицательное, то изменим его знак. Понятно, что в случае положительности числа мы ничего не делаем. Program Prim2; Var a : integer; Begin read(a); if a < 0 then a:=abs(a); writeln(a); End.
Что такое "условие" в программе? Есть условия простые и составные.
x > 0 (x больше нуля) a < b (a меньше b) r = 10 (r равно 10) x >= 10 (x больше или равно 10) a mod 2 = 0 (число а четное) a mod 2 = 1 (число а нечетное) a mod 3 = 0 (число а кратное трем) Составное условие - это условие, состоящее из простых, связанных логическими and (и), or (или), not (не). (x > =10) and (x<=99) - x больше или равно 10 и меньше или равно 99. Если x целое число, то это условие его двузначности. (y > 0) or (x<0) - условие правильно при отрицательных х или при положительных y. (x mod 3 = 0) and (x mod 7 = 0) - x кратно трем и кратно семи.
|