版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法与程序设计,一、算法及其描述方法,第一节 算法与程序,计算机系统,硬件系统,软件系统,系统软件,应用软件,软件的重要组成部分是:程序 想一想:什么是程序?,什么是程序,计算机的任何动作都是在执行人给它的指令。人们针对某一需要而为计算机编制的指令序列称为程序 。 程序指示计算机如何去解决问题或完成任务的一组可执行的指令。,那么,什么是算法呢?,讨论:,用没有刻度的3毫升量杯和5毫升量杯如何量出1毫升的水?请写出自己的解决步骤。,参考算法二,参考算法一,算法是在有限步骤内求解某一问题所使用的具有精确定义的一系列操作规则。简而言之,算法是指解决问题的具体方法和步骤。,说明:算法不是唯一的,针对同
2、一问题的算法可以有多种。,一个完整的算法有三个部分:输入、处理、输出。,算法与程序的关系是什么呢? 算法是程序的灵魂,是解决问题的步骤。程序代码只是实现的手段。,例题: 某学校要进行学生电脑编程竞赛,竞赛将评出10名获奖者,分为一、二、三等奖。奖项设置一等奖获得人数要少于二等奖人数,二等奖人数要少于三等奖人数。问一二三等奖人数各为多少?,分析:1.已知竞赛将评出10名获奖者。 2.一等奖获得人数要少于二等奖人数,二等奖人数要少于三等奖人数 设计算法: 1.X+y+z=10 Xyz 2.10以内的整数,逐个拿来试一试。满足条件的n组数, 即结果,3.编写程序。 4.调试程序。,使用电脑解决问题的
3、一般过程 分析问题 设计算法(设计出解决某一问题的有限个求解步骤 ) 编写程序 运行程序,算法的特征,有穷性:一个算法必须保证执行有限步骤之后结束。 确定性:算法的每一步骤必须有确切的含义。 可行性:算法的每一步骤都能有效地执行,并得到确定 的结果。 输入:有0个或多个输入。 输出:有1个或多个输出,没有输出的算法毫无意义。,下一页,例1:判断下列算法是否符合算法的特征, s=1 将s的值增加1 重复步骤,解答:该算法的步骤将被重复执行无穷次,不符合 有穷性,返回,例2:判断下列算法是否符合算法的特征,L=10 输出L/自然数,解答:自然数没有具体指明是哪个数,不符合算法的 确定性,返回,例3
4、:判断下列算法是否符合算法的特征,x= -2 计算x的平方根,解答:x是负数,没有平方根,该算法不可行,不符合 算法的可行性。,返回,例4:写出算法:计算半径为2的圆的面积,解答: R=2 S=3.14*R*R 输出面积S,说明:该算法中在执行时已包含计算所需的初始数据,不必另 外提供数据,因此没有输入,即有0个输入。,返回,例5:写出算法:从键盘输入圆的半径,计算其面积,解答: 输入圆的半径R S=3.14*R*R 输出面积S,说明:该算法中计算面积所需的初始数据半径R待 定,需要在算法执行时从键盘输入。,返回,请画出例6的流程图,解答: 输入圆的半径R S=3.14*R*R C=2*3.1
5、4*R 输出面积S,周长C,例6:求从键盘输入的任意半径的圆的面积和周长,开始,结束,S=3.14*R*R,输入R,输出面积S、周长C,C=2*3.14*R,例6:求从键盘输入的任意半径的圆的面积和周长,解答: 输入圆的半径R S=3.14*R*R C=2*3.14*R 输出面积S,周长C,说明:通过前两个例子可以知道,算法可能有1个或多 个输出。,返回,参考算法一:,将3毫升的量杯装满 将3毫升量杯中的水注入5毫升量杯 将3毫升的量杯装满 将3毫升量杯中的水注入5毫升量杯,注满后3毫升量杯中剩余1毫升水。,返回,参考算法二:,将5毫升的量杯装满 将5毫升量杯中的水注入3毫升量杯,注满后5毫升
6、量杯中剩余2毫升水 将3毫升量杯倒空 将5毫升量杯中剩余的2毫升注入3毫升量杯 将5毫升量杯装满 将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余4毫升水 将3毫升量杯倒空 将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余1毫升水,返回,二、算法的描述,1、用自然语言描述算法,例题:鸡兔同笼问题 一个笼子里有鸡和兔,现在只知道里面一共有a个头,b个脚,鸡和兔各有多少只?试设计一个求解的算法,并用自然语言描述出来。,1、用自然语言描述算法,1)分析问题 设所求的鸡数是x,兔数是y,已知笼子里的头数是a,脚数是b,依题意得到如下的方程组:,解方程组得:x=2a-b/2 y=b/2-
7、a,1、用自然语言描述算法,2)设计算法 输入a和b的值; 求x=2a-b/2; 求y=b/2-a; 输出x和y的值; 结束。,鸡兔同笼流程图,开始,输入a,b的值,求x=2a-b/2,求y=b/2-a,输出x,y的值,结束,3、用程序代码描述算法,Input a,b,输入a和b的值;,鸡兔同笼,求x=2a-b/2;,求y=b/2-a;,输出x和y的值;,结束。,x=2a-b/2,y=b/2-a,print x,y,算法描述语言有: 1、自然语言 2、流程图 3、伪代码,二、算法的描述,算法的表示方法优缺点:,自然语言(通过文字来描述解决问题的过程) 优点:容易理解。 缺点:书写烦琐,具有不确
8、切性,容易引起歧义,造成误解; 对较复杂的问题,用自然语言难以表达准确; 计算机不能直接识别和执行。 流程图(用图形符号来描述算法) 必须要有一组统一规定、含义确定的专用符号; 优点:用流程图表示算法比较直观、形象; 缺点:计算机不能识别和执行。 程序代码使用程序设计语言描述算法。,下一页,流程图中的符号的用途,返回,例7:请画出例5的流程图,解答: 输入圆的半径R S=3.14*R*R 输出面积S,例5:写出算法:从键盘输入圆的半径,计算其面积,开始,结束,S=3.14*R*R,输入R,输出S,课堂练习1: 物理老师想编写一个描述小球做平抛的运动轨迹程序(小球运动时间限定在(1-100秒),你能否帮助先用流程图描述一下解体的方法? 描课堂练习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版返点合同协议书
- 2024赠送房地产投资房产协议范本3篇
- 2025年度医疗设备制造加工承包合同范本3篇
- 2024物业租赁合同规定书
- 2024证券公司资产托管业务服务合同
- 临床微生物标本的采集方法与运送课件
- 2025年度互联网公司100%股权转让协议书3篇
- 2024版海洋工程勘探与开发合作合同2篇
- 2024西安市二手房交易资金监管服务合同
- 珠宝销售顾问月工作总结
- JT-T-617.4-2018危险货物道路运输规则第4部分:运输包装使用要求
- 上海市中考英语试卷及答案
- 苏教版科学小学五年级上册期末测试卷及完整答案(夺冠系列)
- 监控工程竣工验收报告
- 国家基层糖尿病神经病变诊治指南(2024版)
- 高血压病人护理查房课件
- 2021年7月自考06087工程项目管理试题及答案含解析
- 胎盘早剥护理查房课件
- 奥尔波特价值观量表
- dip按病种分值付费
- 2024年中考语文名著阅读《儒林外史》内容简介、主要人物形象及相关练习
评论
0/150
提交评论