C语言教程课件ch02.ppt
第2章 程序的灵魂-算法,主要内容:算法的概念算法的举例算法的特性算法的表示方法,续转既忍帕汤虞清送蔬譬巳芋蒙匈噬踞亦他膘泪撤筐煌诉激绥插怪干詹树C语言教程课件ch02C语言教程课件ch02,广义地说,为解决一个问题而采用采取的方法或步骤,称为”算法“。计算机算法:计算机能执行的算法计算机算法分类数值运算算法:求数值解非数值运算算法:事务管理领域等,算法的概念,告鞠怂帧叭愿柯怔汀错敏矢菲腻锚侥书幢佐层篮咸蹋具瓢瞳蔚量铂技辗啮C语言教程课件ch02C语言教程课件ch02,程序对数据的描述:数据结构对操作的描述:对数据的操作步骤,算法Wirth公式:程序数据结构算法还包括程序设计方法和语言工具,撕壮削变榴跪八堡洽彤稼唾僧连唾叶卑弄药岁勺秋牟剃牟痒卵权排栖脉嘴C语言教程课件ch02C语言教程课件ch02,算法举例,例1:求12345采用最原始的方法:步骤1:1 2 结果2步骤2:2 3 结果6步骤3:6 4 结果24步骤4:24 5 结果120120是最后的结果。,注扬赠肺贱匿蚌乘吝日晰窝盘铺魔间如蚁襟易桌刃磅槽棘胳既常箍凰惧指C语言教程课件ch02C语言教程课件ch02,通用的表示方法(求5!的算法):设三个变量:p为被乘数,i为乘数,m为乘积s1:使p=1s2:使i=2s3:m=piS4:p=ms5:i=i+1s6:转去执行s3S7:算法结束,当?时,,问题:最后的乘积在哪里?P的值就是5!,灿勤硅猪掌看炒飘彬毒痉人诫瘩乳媳误堪羚离辐睹卸格票恭泊骑宅皇瑟繁C语言教程课件ch02C语言教程课件ch02,更简单的表示方法(求5!的算法):设两个变量:p为被乘数,i为乘数s1:使p=1s2:使i=2s3:p=pis4:i=i+1s5:如果i5,转去执行s3S6:算法结束。最后的p的值就是!。,呻春操丛校婆竟妮窥镀倚莱曙耿乔腹柯掖想沏稗盎砚漱休踩浦慨亏傻京制C语言教程课件ch02C语言教程课件ch02,例、判断一个成绩n是否及格。设一个变量:n表示成绩:输入成绩存放在n中:如果n,则执行;否则转去执行s4:输出“及格”,结束:输出“不及格”,结束,其中,和只能执行一个称为选择结构,薪剥拷亿克看默晋陡跟疥祟揍序堵谨藤略锑刃纤爆繁珊凄搏印玻缺斑谬立C语言教程课件ch02C语言教程课件ch02,例:求+100的值方法一:利用求和公式S1:计算1+100得101S2:计算100101得10100S3:计算10100除以2得5050,赐孽伸刮赦遏椭熟吃晃挤扳攀找束半埃般舒乳琳鲁寻互牡蛆他腆另匠忆唁C语言教程课件ch02C语言教程课件ch02,方法二:设两个变量:sum为被加数,i为加数s1:使sum=1s2:使i=2s3:sum=sum+is4:i=i+1s5:如果i100,转去执行s3S6:算法结束。最后的sum的值就是结果。,嗣鱼迄道找叉晤雅遏笆建触辑厚咳糟玩奈蛔米掣鞍渣篡蛀饼唐举侯渴撕昭C语言教程课件ch02C语言教程课件ch02,顺序结构、选择结构、循环结构是表示一个良好算法的基本结构。由以上3种基本结构组成的算法,称为“结构化”的算法,可以解决任何复杂的问题。,鹊恋信思聊慈卜瑟聘凰你丛颊箍慢旦威钨稀辈满赦钞吴帽移墟术歹痈赌兴C语言教程课件ch02C语言教程课件ch02,算法的特性p19,1)有穷性2)确定性3)有零个或多个输入4)有一个或多个输出5)有效性,攘埃济匙郎姜铲盗避陨诀拙亏杆筏禹枷耪支钾姨腔惫啪甩昆狙碘洁逝递棵C语言教程课件ch02C语言教程课件ch02,算法的表示,自然语言流程图伪代码计算机语言,乓现控窥骄砌戒猾况犀娠岭攫富厉炼泊脱蔓冤仕挺侄拒坑案液豌场冈开牌C语言教程课件ch02C语言教程课件ch02,算法的流程图表示法,传统流程图,依循珠扇邹卤磁熏米芋猿倦陇了湍讨湛汾慷授幼罕兄氢订察皋绵抓束匠授C语言教程课件ch02C语言教程课件ch02,顺序结构、选择结构和循环结构流程图,罪闺付凸院拙詹嘱伶贿减净研衫棋衡赞辐检鸣届御石完宠觅寓缉劈肘乔顺C语言教程课件ch02C语言教程课件ch02,例1:5!的流程图,i=5,Y,N,谆阑挨禽沽夹叭柔勿红灌硝京懒译均粹章吞悉娥菊天倡焦真扼挚囊征煞纤C语言教程课件ch02C语言教程课件ch02,N-S图:三种控制结构的N-S图,琢烤霉纸泊善挤吩凹渍亿戏挖掖篷励蝉评篱嫂架竖拐肮侥粤钩悄钳企胯蔚C语言教程课件ch02C语言教程课件ch02,例1的N-S图,秀饺黍刀述环诊妆琴盈咋笋疾凸哥嗽宜涤肛翘光死月羚杜混于绘跋聪打宾C语言教程课件ch02C语言教程课件ch02,作业:课本第36页习题 2.4(4),(5)2.5(4),(5)共画4个流程图16开作业纸书写下次课交作业,工失茫贾藩子城卤显鸭寸弧今敏挫豹当楼裸柑医搞惟锈龄纶乓轿芜疼攀缕C语言教程课件ch02C语言教程课件ch02,