КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Разветвляющийся алгоритм
В разветвляющемся алгоритме имеется условие разветвления в алгоритме. В зависимости от результата проверки условия Да или Нет (выполнения или невыполнения) обеспечивается выбор одного из альтернативных путей выполнения алгоритма. Каждый из путей ведет к общему продолжению, так что выполнение алгоритма будет продолжаться независимо от того, какой путь выбран. Базовая структура «ветвление» существует в следующих основных вариантах: 1. если—то; 2. если—то—иначе; 3. выбор — иначе.
Рассмотрим примеры разветвляющихся алгоритмов. Пример 3.5. Составить алгоритм определения наибольшего из двух числовых значений N1 и N2 и присвоить его переменной NB.
Пример 3.6. Составить алгоритм определения наибольшего из трех числовых значений N1, N2 и N3 и присвоить его переменной NB. Алгоритм выбора наибольшего, приведенный в примере 3.5, может дать ошибочный результат, т.к. при невыполнении условного оператора из-за синтаксической ошибки в записи оператора результат будет NB:=N1. Чтобы избежать этой ошибки на практике применяют алгоритм, в котором в качестве начального значения переменной NB принимают значение (-1019) заведомо меньшее проверяемых значений элементов списка. Алгоритм на языке Турбо Паскаль имеет вид. begin ReadLn(N1,N2,N3); NB:= -1E+19; IF N1>NB THEN NB:=N1; IF N2>NB THEN NB:=N2; IF N3>NB THEN NB:=N3; WriteLn(' NB=',NB) end. Пример 3.7. Составить алгоритм вычисления значения функции y(x), заданной в виде y= Числовые значения x и a заданы. Проверка на равенство действительных числовых значений производится проверкой выполнением условия где значение x зависит от точности вычислений (например, 10-5). Возведение в произвольную степень (кроме возведения в квадрат и возведения в степень числа e) в языке Турбо Паскаль отсутствует. Для возведения (x-a) в степень (1/3) можно воспользоваться очевидным равенством Алгоритм на языке Турбо Паскаль имеет вид. begin ReadLn(x,a); IF x>a THEN y:=x*EXP(1/3*LN(x-a)) ELSE IF x<a THEN y:=EXP y:=x*SIN(a*x); WriteLn(' x=',x, ' a=',a' x=',x) end. Первый условный оператор проверяет условие x>a и в случае его выполнения (имеет значение TRUE) осуществляется переход к оператору, вычисляющему y:=x*EXP(1/3*LN(x-a)), иначе проверяется условие x<a. Если это условие выполняется, осуществляется переход к оператору, вычисляющему y:=EXP , иначе (при x=a) -.к оператору y:=x*SIN(a*x). После перехода по к вычислениям по любой из формул осуществляется переход в общую ветвь к оператору вывода результатов.
Дата добавления: 2014-01-04; Просмотров: 542; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |