我没有在下图中使用do-while或while循环:
这里,A,B和C是功能。 如何为上图编写伪代码?
编辑:这是我的C ++编程实践。如果没有“B循环”(或“A循环”),我可以将其写成如下:Start
Input x;
while(x!=2)
{
A(); Input x;
}
C();
End
然而,当“B循环”进来时,我不知道如何包含它。
答案 0 :(得分:4)
Start;
Input x;
while(x!=2){
if (x!=1){
A();
} else{
B()
}
Input x;
}
C();
End
但要注意你正在使用的语言我建议你在数据采集之间添加一个睡眠模式(就在输入x之前)
答案 1 :(得分:2)
该计划的作用是什么?用英语解释,然后写下来。然后你有了你的伪代码。
If any input
if input is not 1 and not 2
return a and do more input (? dont get the diagram here ;p)
if input is 1
return b and more input (??)
else if not above
return c and end program
答案 2 :(得分:2)
@BaptisteGousset的答案很好,但在某些情况下还有另一种方法可以更好。可以使用do ... while循环而不是一段时间来简化代码以消除双重输入操作,但这会使比较逻辑变得更复杂。
Start;
Do
{
Input x;
if (x equals 1)
{
B();
}
elseif(x not equal to 2)
{
A();
}
} While (x not equal to 2);
C();
End;
您也可以使用goto语句实现此功能,但goto通常是considered harmful。
通常,没有单一的规范"伪代码"回答任何流程图 - 这取决于您愿意使用的结构以及这些结构与您的实际任务相符的优雅程度。