PROGRAM PR9_1;VAR X, Y: REAL;BEGINWRITELN('ВВЕДИТЕ X');READLN(X);IF X>= 1THEN Y:= EXP(LN(X)/3)/2;IF (X>0) AND (X<1)THEN Y:= X*X*0.33;IF X<=0THEN Y:= EXP(LN(ABS(X))/4)/4;WRITELN('Y=',Y:10:6)END.
Эту задачу можно решить двумя способами. Первый способ предусматривает использование трех операторов IF сокращенной формы. Алгоритм решения достаточно прост (структурограмма на рисунке 5.а). Последовательно проверяется три взаимно исключающих друг друга условия, образующих полную группу событий. Для любого X только одно условие примет значение TRUE, остальные два условия равны FALSE. Таким образом, оператор присвоения выполнится только один раз и этот оператор будет соответствовать условию, имеющему значение TRUE. Программная реализация ЂЂЂ PR9_1.Второй способ предусматривает использование двух вложенных операторов IF полной формы. Алгоритм этого способа реализован в виде блок-схемы на рисунке 5.б. Программная реализация ЂЂЂ PR9_2.Сравнительный анализ этих двух способов показывает, что первый проще в понимании и легче в отладке. Второй способ более сложный, однако более компактный и более быстрый.Конечно, при одной реализации вычислительного процесса это преимущество не столь существенно, но если таких реализаций десятки тысяч, то несколько секунд можно сэкономить.
Вложенная конструкция операторов условного перехода используется в случае, если существует более двух ветвей в вычислительном процессе. В случае вложенной конструкции Оператор 1, или Оператор 2, или оба вместе представляют собой также операторы условного перехода. В этих случаях легко запутаться при отладке программы. Но следует помнить, что ELSE всегда относится к ближайшему слева THEN.Пример 9. Для заданного с клавиатуры значения X вычислить Y по формуле:
Сокращенная форма (Алгоритм: блок-схема ЂЂЂ рисунок 3.а, структурограмма ЂЂЂ рисунок 4.а):IF < Условие >THEN < Оператор >;В качестве условия можно использовать переменную или выражение логического типа. В этой конструкции оператор выполняется в том случае, когда логическое выражение принимает значение TRUE. Вторая ветвь процесса, содержащая пустой оператор и в явном виде не описываемая, соответствует значению условия FALSE.Другая, полная форма этого оператора имеет синтаксическую структуру (Алгоритм: блок-схема ЂЂЂ рисунок 3.б, структурограмма ЂЂЂ рисунок 4.б):IF < Условие >THEN < Оператор 1>ELSE < Оператор 2>;Здесь обе ветви процесса значимы. При значении логического выражения (переменной) TRUE выполняется Оператор 1, который всегда располагается за ключевым словом THEN, при FALSE ЂЂЂ выполняется Оператор 2 (ветвь ELSE). Если в одну из ветвей требуется включить более одного оператора, то их следует объединить составным оператором BEGIN... END.
Для программирования разветвляющихся процессов, содержащих две ветви, используется оператор IF условного перехода (ветвления), имеющий две конструкции.
Привет! Ты попал (или, может быть, попала) на сайт, посвященный программированию, компьютерам и всему что с ними связано.
информатика и программирование
Организация условного перехода. Оператор IF.
Комментариев нет:
Отправить комментарий