题目
假设只有SEQUENCE和DO_WHILE两种控制结构,怎么利用它们完成 IF_THEN_ELSE 操作?
假设只有SEQUENCE和DO_WHILE两种控制结构,怎么利用它们完成 IF_THEN_ELSE 操作?
题目解答
答案
解:转化如下:
K = 1
DO WHILE (条件.AND. K.EQ.1)
程序块1
K=K+1
END DO
DO WHILE ( (.NOT.条件).AND. K.EQ.1)
程序块2
K=K+1
END DO
解析
步骤 1:定义变量
定义一个变量 K,并将其初始化为 1。这个变量将用于控制 DO_WHILE 循环的执行。
步骤 2:执行条件为真的分支
使用 DO_WHILE 循环,当条件为真且 K 等于 1 时,执行程序块1。执行完程序块1后,将 K 的值加 1,以确保该循环不会再次执行。
步骤 3:执行条件为假的分支
使用另一个 DO_WHILE 循环,当条件为假且 K 等于 1 时,执行程序块2。执行完程序块2后,将 K 的值加 1,以确保该循环不会再次执行。
定义一个变量 K,并将其初始化为 1。这个变量将用于控制 DO_WHILE 循环的执行。
步骤 2:执行条件为真的分支
使用 DO_WHILE 循环,当条件为真且 K 等于 1 时,执行程序块1。执行完程序块1后,将 K 的值加 1,以确保该循环不会再次执行。
步骤 3:执行条件为假的分支
使用另一个 DO_WHILE 循环,当条件为假且 K 等于 1 时,执行程序块2。执行完程序块2后,将 K 的值加 1,以确保该循环不会再次执行。