В примере 2 использованы циклический и ветвящийся вычис-
лительные процессы.
Вначале организуется цикл For… по параметру х, а внутри цикла проверяются условия, обуславливающие ветвящийся вычислительный процесс, где для каждого значения переменной z =f(x) предусмотрена своя ветвь вычисления значений искомой функции у.
В первой программе применён условный оператор IF…THEN, во второй - IF…THEN…ELSE….
Программа
CLS FOR X=-1 TO 1 STEP.1 Z=SIN(X)-.1 IF Z<0 THEN m1 IF Z=0 THEN m2 Y=TAN(x)^2: GOTO m3 m1:Y=EXP(1/3*LOG10(ABS(Z))) GOTO m3 m2: Y = 0 m3:PRINT "Y="Y,"Z=","X="X NEXT X END | или CLS FOR X=-1 TO 1 STEP 0.1 Z=SIN(X)-0.1 IF Z<0 THEN Y=EXP(1/3*LOG10(ABS(Z))):GOTO A IF Z=0 THEN Y=0 ELSE Y=TAN(x)^2 A:? "Y="Y,"Z="Z,"X="X NEXT X END |
3 Программа "цикл в цикле и ветвление"
Пример 3
Вычислить сумму S положительных и произведение Р отрицательных значений функции y = cos t -b, в области t [-1;1] с шагом 0.2 и в области b [-0.1;0.2] с шагом 0.1.
В примере - две переменные, t и b, нужно для каждого значения t просчитать все b, если y>0,, то прибавить его значение к предыдущей сумме S, если y<0, то умножить его на предыдущее произведение Р.
|
|
Для ввода начальных значений S и P используем операторы ввода DATA, READ.
В примере 3 встречаются два циклических и ветвящийся вы-
числительные процессы. Внешний цикл организован по параметру t, внутренний цикл - по параметру b.
Внутри цикла после вычисления значения функции у осуществляется проверка условий ветвящегося вычислительного процесса, который реализует вычисление произведения отрицательных значений функции (в случае выполнения условия у<0) и вычисление суммы положительных значений функции.
Программа
DATA 0.1
READ S,P
FOR T=-1 TO 1 STEP.2
FOR B=-.1 TO.2 STEP.1
LET Y=COS(T^3)^2-B
PRINT "Y="Y,"T="T,"B="B
IF Y<0 THEN LET P=P*Y:GOTO 90
S=S+Y
NEXT B
NEXT T
PRINT "S="S,"P="P
120 END
Контрольные вопросы
1 Назовите известные вам структуры алгоритмов.
2 Какие вычислительные процессы реализуются в сложных алгоритмах?.
3 Как организуются программы с вложенными циклами?
4 Какие вычислительные процессы можно выделить в
задании по вашему варианту?
5 Охарактеризуйте синтаксис и особенност применения
операторов IF, GOTO, FOR, NEXT.
6 Сколько циклов может быть вложено друг в друга?