用自然语言和流程图表示求解下列各问题的算法

 我来答
DoramiHe
2018-09-14 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25336 获赞数:59551
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
用自然语言描述算法:(1)输入N;(2)将1送入I(I←1);(3)重复执行下面的操作,直至I=N;(4)将2送入K(K←2);(5)重复执行下面操作,直到K=I-1;A.将I除以K的商送入J(J←I/K);B.若J是整数,I增加1并转向(3);C.否则将K增加1并转向(5);(6)输出I,I增加1并转向(3);(7)结束。根据以上算法,用QBASIC语言可编写如下程序:10 INPUT N20 FOR I=1 TO N30 FOR K=2 TO I-140 J=I/K50 IF J=INT(J) THEN GOTO 8060 NEXT K70 PRINT I,80 NEXT I90 END程序中使用了GOTO无条件转移语句,破坏了程序的结构。寻找另一思路:判断一个自然数M是不是素数,可用2、3、4……去除M,如果这些数都不能整除M,则M是素数。用结构化流程图N-S图描述该算法。INPUT NFOR M=1 TO N STEP 2 K=INT(SQR(M)) I=2 FLAG=1 DO WHILE (I<=K) AND (FLAG=1) IF M MOD I=0 THEN FLAG=0 I=I+1 LOOP IF FLAG=1 THEN PRINT M,NEXT MEND程序中FLAG是一个“标志变量”,FLAG=1表示M未被任何一个整数整除过。如果在某一次循环中,M能被一个整数I整除,则FLAG就置成0。设置FLAG变量的目的主要是为了避免转移语句的出现。因为如果没有设置FLAG变量,在循环执行中,某一次M能被I整除,则要么继续执行循环,直到内循环全部执行完毕,要么用转移语句直接跳出内循环。显然,前者是毫无效率地浪费时间,而后者又不符合结构化程序设计的要求。
追问
流程图能画下吗
有五道题
博阳精讯
2024-07-25 广告
流程梳理是优化企业运营效率的关键步骤。我们通常采用标准化方法,明确流程的输入、处理步骤、输出以及所需资源。首先,分析现有流程,识别瓶颈和冗余环节;其次,设计更高效的流程方案;最后,通过试点实施、反馈调整,确保新流程顺畅运行。流程梳理旨在实现... 点击进入详情页
本回答由博阳精讯提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式