算法程序的灵魂.ppt
以上三种基本结构,有以下共同特点:(1)只有一个入口(2)只有一个出口一个判断框有两个出口一个选择结构只有一个出口(3)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它(4)结构内不存在“死循环”第30页,共45页,5月,星期六,2024年,5月由三种基本结构派生出来的结构:ANp2YB根据表达式p的值进行选择ABp=p1p=p2…MNp=pmp=pn第31页,共45页,5月,星期六,2024年,5月例2.11将例2.1的求5!算法用N-S图表示。直到i51?t输出t2?it*i?ti+1?ii51?t开始2?it*i?ti+1?i结束NY第32页,共45页,5月,星期六,2024年,5月例2.12将例2.2的算法用N-S图表示。将50名学生中成绩高于80分者的学号和成绩输出。直到i501?t1?ii+1?i输入ni、gii+1?i直到i50gi≧80否是输出ni,gi结束Y1?i开始gi≧80输出ni、gii+1?ii50NYN第33页,共45页,5月,星期六,2024年,5月例2.13将例2.3判定闰年的算法用N-S图表示直到year25002000?yearyear+1?year否是year%4为0否是输出year非闰年year%100不为0year%400为0是否输出year非闰年输出year闰年输出year闰年第34页,共45页,5月,星期六,2024年,5月例2.14将例2.4的算法用N-S图表示。求直到deno100deno+1?deno输出sum1?sum1?sign2?deno(-1)*sign?signsign*(1/deno)?termsum+term?sum1?sum2?deno1?sign(-1)*sign?signsign*(1/deno)?termsum+term?sumdeno+1?denoNdeno100Y输出sum结束开始第35页,共45页,5月,星期六,2024年,5月例2.15将例2.5判别素数的算法用N-S流程图表示。例2.10的流程图不是由三种基本结构组成的循环有两个出口,不符合基本结构的特点无法直接用N-S流程图的三种基本结构的符号来表示先作必要的变换第36页,共45页,5月,星期六,2024年,5月NY开始输入n0?w2?in%i?rr=0i+1?ii≦和w=0YN1?w①输出n是素数结束w=0①输出n不是素数NY第37页,共45页,5月,星期六,2024年,5月输入nr=0是否0?w2?in%i?r1?wi+1?i直到i或w≠0w=0是否输出n是素数输出n不是素数第38页,共45页,5月,星期六,2024年,5月2.4.5用伪代码表示算法伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法用伪代码写算法并无固定的、严格的语法规则,可以用英文,也可以中英文混用第39页,共45页,5月,星期六,2024年,5月例2.16求5!。begin(算法开始)1?t2?iwhilei≤5{t*i?ti+1?i}printtend(算法结束)第40页,共45页,5月,星期六,2024年,5月例2.17求begin1?sum2?deno1?signwhiledeno≤100{(-1)*sign?signsign*1/deno?termsum+term?sumdeno+1?deno}printsumend第41页,共45页,5月,星期六,2024年,5月2.4.6用计算机语言表示算法要完成一项工作,包括设计算法和实现算法两个部分。设计算法的目的是为了实现算法。不仅要考虑如何设计一个算法,也要考虑如何实现一个算法。第42页,共45页,5月,星期六,2024年,5月#includestdio.hintmain(){inti,t;t=1;i=2;while(i=5){t=t*i