c语言程序设计 算法ppt,C语言程序设计 算法 幻灯片.ppt

C语言程序设计 算法 幻灯片

算法描述: 2.用计算机语言写出程序 #include void main() { int cocks=0,hens,chicks; while(cocks<=19) { hens=0; while(hens<=33) { chicks=100-cocks-hens; if(5.0*cocks+3.0*hens+chicks/3.0==100.00) printf("%d %d %d\n",cocks,hens,chicks); hens=hens+1; } cocks=cocks+1; } } 作业: 用传统流程图和NS图完成P36页第4题(2)(5)(8); 完成百钱买百鸡传统流程图和NS图。 * 写出分析步骤 S1:y=2000, 依次判断图中的1.2.3.4,y=y+1,y<=2500, 逐步缩小范围。 当条件成立时,执行循环体 * 直到条件成立时,退出循环 * 例2.9 将例2.4的算法用流程图表示。求 1?sum 2?deno 1?sign (-1)*sign?sign sign*(1/deno)?term sum+term?sum deno+1?deno N Y 例2.9 将例2.4的算法用流程图表示。 N Y 2?i n%i?r i+1?i Y N 例2.10 :例2.5判断素数的算法用流程图表示。对一个大于或等于3的正整数,判断它是不是一个素数。 通过以上几个例子可以看出流程图是表示算法的较好的工具 一个流程图包括以下几部分: (1) 表示相应操作的框 (2) 带箭头的流程线 (3) 框内外必要的文字说明 流程线不要忘记画箭头,否则难以判定各框的执行次序 2.4.3 三种基本结构和改进的流程图 1.传统流程图的弊端 传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制 使用者可以毫不受限制地使流程随意地转来转去,使人难以理解算法的逻辑 2.4.3 三种基本结构和改进的流程图 2.三种基本结构 (1) 顺序结构 A B 2.4.3 三种基本结构和改进的流程图 2.三种基本结构 (2) 选择结构 A B Y p N A Y p N 2.4.3 三种基本结构和改进的流程图 2.三种基本结构 (3) 循环结构 ① 当型循环结构 A Y p1 N Y x<5 N 0?x 输出x的值 x+1?x 输出0,1,2,3,4 2.4.3 三种基本结构和改进的流程图 2.三种基本结构 (3) 循环结构 ② 直到型循环结构 A Y p2 N Y x≧5 N 0?x 输出x的值 x+1?x 输出1,2,3,4,5 以上三种基本结构,有以下共同特点: (1) 只有一个入口 (2) 只有一个出口 一个判断框有两个出口 一个选择结构只有一个出口 (3) 结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它 (4) 结构内不存在“死循环” 由三种基本结构派生出来的结构: A N p2 Y B 根据表达式p 的值进行选择 A B p=p1 p=p2 … M N p=pm p=pn 2.4.4 用N-S流程图表示算法 N-S流程图用以下的流程图符号: A B A B Y N p A 当p1成立 A 直到p2成立 顺序结构 选择结构 循环结构 (当型) 循环结构(直到型) 例2.11将例2.1的求5!算法用N-S图表示。 直到i>5 1?t 输出t 2?i t*i?t i+1?i 例2.12 将例2.2的算法用N-S图表示。将50名学生中成绩高于80分者的学号和成绩输出。 直到i>50 1?t 1?i i+1?i 输入ni、gi i+1?i 直到i>50 gi≧80 否 是 输出ni,gi 例2.13 将例2.3判定闰年的算法用N-S图表示 直到year>2500 2000?year year+1?year 否 是 year%4为0 否 是 输出 year 非闰年 year%100不为0 year%400为0 是 否 输出year 非闰年 输出year 闰年 输出 year 闰年 例2.14 将例2.4的算法用N-S图表示。求 直到deno>100 deno+1?deno 输出sum 1?sum 1?sign 2?deno (-1)*sign?sign sign*(1/deno)?term sum+term?sum 例2.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值