首页 > 编程知识 正文

在结构化程序设计当中,不建议使用(),结构化程序设计不应该使用

时间:2023-05-04 13:20:33 阅读:241463 作者:4582

软件工程复习资料下载:https://download.csdn.net/download/qq_43554335/15492733
软件工程实验三综合设计下载:https://download.csdn.net/download/qq_43554335/15507502

请将下面的非结构化程序改成结构化程序

例1:
非结构化程序:

Do while ps1;if q then goto 10EndDo10:s2

结构化程序:

flag=true;Do while p and flags1;if q then flag=falseEndDo10:s2

例2:
非结构化程序:

Do while p=0Do while q=0sa;if r=0 then goto 10;sb;EndDoEndDox=20;10: y=40;z=30;

结构化程序:

flag=trueDo while p=0 and flagDo while q=0 and flagsa;if r=0 then flag=false;else sb;EndifEndDoEndDoif flag=true:x=20;Endif10: y=40;z=30;

例3:
非结构化程序:

while c1 do begin Sa; if c2 then goto 10; Sb; end 10: Sn;

结构化程序:

flag:=false; while c1 and (not Flag) do begin Sa; if c2 then flag:=true; else Sb; endif end 10: Sn;

例4:
非结构化程序:

if (N>=0) then if (MOD(N,2)==0) then print “正偶数”; else print “负数”;

结构化程序:

if (N<0) then print “负数”;else if (MOD(N,2)==0) then print “正偶数”;

例5:[1]
非结构化程序:

begink: = 0; L: = 0; TOTAL: = 0;repeat: read( A);IF A= 0 THEN go to print;IF A〉0 THEN g o to update;L: = L+ 1;go to repeat;update: K: = K+ 1;TOTAL: = TOTOL+ A;if TOTAL〈= 1000 then go to repeat;print: writeln(K, L, TOTAL);end

结构化程序:

beginK: = 0; L: = 0; TOTAL: = 0;read( A);while TOTAL〈= 1000 and A〈〉0 dobeginif A〉0 then beginTOTAL: = TOTAL+ A;K: = K+ 1endelse L: = L+ 1;read( A)end;write( K, L, TOTAL)end

例6:[1]
非结构化程序:

while P dobegin…if q then g oto L1;A;B;end;L1: …

结构化程序:

bool: = true;while P and bool dobegin…if q then bool: = falseelse begin A; B endend;L1:…

例7:[3]

例8:[3]

例9:
非结构化程序:

if ( A < B ) goto 120; if ( B < C ) goto 110; 100 print C; goto 140; 110 print B; goto 140; 120 if ( A < C ) goto 130; goto 100; 130 print A; 140

结构化程序:

if ( A < B and A < C ) then print Aelse if ( A >= B and B < C ) then print Belse print C;

参考文献:
[1]hxdxrz,激情的樱桃,长情的香烟.非结构化程序到结构化程序的转化[J].延安大学学报(自然科学版),2000(02):27-32.
[2]当然是施老师上课的PPT啦
[3]美丽的芒果.如何将非结构化程序转化为结构化程序[J].河北工程技术高等专科学校学报,1995(Z2):39-43.

适合于工程大《软件工程》课程期末复习使用,考试占10分。上述答案如有错误请联系博主或评论更正,仅供参考

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。