第一讲 算法与程序设计PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
① s=1 ② 将s的值增加1 ③ 重复步骤②
解答:该算法的步骤②将被重复执行无穷次,不符合 有穷性
返回
.
19
例2:判断下列算法是否符合算法的特征
① L=10 ② 输出L/自然数
解答:自然数没有具体指明是哪个数,不符合算法的 确定性
返回
.
20
例3:判断下列算法是否符合算法的特征
① x= -2 ② 计算x的平方根
.
14
分析:1.已知竞赛将评出10名获奖者。
2.一等奖获得人数要少于二等奖人数,二等奖 人数要少于三等奖人数
设计算法:
1.X+y+z=10
X<y<z
2.10以内的整数,逐个拿来试一试。满足条件的n组数, 即结果
.
15
3.编写程序。 4.调试程序。
.
16
使用电脑解决问题的一般过程
1. 分析问题 2. 设计算法(设计出解决某一问题的有限个求解步骤 ) 3. 编写程序 4. 运行程序
.
8
那么,什么是算法呢?
.
9
讨论:
用没有刻度的3毫升量杯和5毫升量杯如 何量出1毫升的水?请写出自己的解决步 骤。
参考算法一 参考算法二
.
10
算法是在有限步骤内求解某一问题所使 用的具有精确定义的一系列操作规则。 简而言之,算法是指解决问题的具体方 法和步骤。
说明:算法不是唯一的,针对同一问题的算 法可以有多种。
1.自然语言 (通过文字来描述解决问题的过程)
优点:容易理解。
缺点:书写烦琐,具有不确切性,容易引起歧义,造成误解;
对较复杂的问题,用自然语言难以表达准确;
计算机不能直接识别和执行。
2.流程图 (用图形符号来描述算法)
必须要有一组统一规定、含义确定的专用符号;
优点:用流程图表示算法比较直观、形象;
缺点:计算机不能识别和执行。
.
开始 输入R S=3.14*R*R C=2*3.14*R 输出面积S、周长C 结束
24
例6:求从键盘输入的任意半径的圆的面 积和周长
解答: ① 输入圆的半径R ② S=3.14*R*R ③ C=2*3.14*R ④ 输出面积S,周长C
说明:通过前两个例子可以知道,算法可能有1个或多
个输出。
.
返回
算法与程序设计
一、算法及其描述方法
.
1
第一节 算法与程序
.
2
.
3
.
4
.
5
.
6
计 硬件系统

机 系
软件系统
系统软件

应用软件
★软件的重要组成部分是:程序 想一想:什么是程序?
.
7
什么是程序
计算机的任何动作都是在执行人给它的指令。 人们针对某一需要而为计算机编制的指令序列称 为程序 。
程序指示计算机如何去解决问题或完成任务 的一组可执行的指令。
25
参考算法一:
①将3毫升的量杯装满 ②将3毫升量杯中的水注入5毫升量杯 ③将3毫升的量杯装满 ④将3毫升量杯中的水注入5毫升量杯,注满后3毫升量杯中剩余1毫升水。
返回
.
26
参考算法二:
①将5毫升的量杯装满 ②将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余2毫升水 ③将3毫升量杯倒空 ④将5毫升量杯中剩余的2毫升注入3毫升量杯 ⑤将5毫升量杯装满 ⑥将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余4毫升水 ⑦将3毫升量杯倒空 ⑧将5毫升量杯中的水注入3毫升量杯,注满后5毫升量杯中剩余1毫升水
2x+4y=b
解方程组得:x=2a-b/2
y=b/. 2-a
30
1、用自然语言描述算法
2)设计算法 ①输入a和b的值; ②求x=2a-b/2; ③求y=b/2-a; ④输出x和y的值; ⑤结束。
.
31
鸡兔同笼流程图
开始
输入a,b的值 求x=2a-b/2 求y=b/2-a 输出x,y的值
结束
.
32
.
11
一个完整的算法有三个部分:输入、处理、输出。
.
12
算法与程序的关系是什么呢?
算法是程序的灵魂,是解决问题的步骤。程序代 码只是实现的手段。
.
13
例题:
某学校要进行学生电脑编程竞赛,竞赛将评出10名获奖 者,分为一、二、三等奖。奖项设置一等奖获得人数要 少于二等奖人数,二等奖人数要少于三等奖人数。问一 二三等奖人数各为多少?
返回
.
27
二、算法的描述
.
28
Fra Baidu bibliotek
1、用自然语言描述算法
例题:鸡兔同笼问题 一个笼子里有鸡和兔,现在只知道里面一
共有a个头,b个脚,鸡和兔各有多少只? 试设计一个求解的算法,并用自然语言描 述出来。
.
29
1、用自然语言描述算法
1)分析问题
设所求的鸡数是x,兔数是y,已知笼子里 的头数是a,脚数是b,依题意得到如下的方 程组: x+y=a
解答:x是负数,没有平方根,该算法不可行,不符合 算法的可行性。
返回
.
21
例4:写出算法:计算半径为2的圆的面积
解答: ① R=2 ② S=3.14*R*R ③ 输出面积S
说明:该算法中在执行时已包含计算所需的初始数据,不必另 外提供数据,因此没有输入,即有0个输入。
返回
.
22
例5:写出算法:从键盘输入圆的半径, 计算其面积
.
17
算法的特征
1.有穷性:一个算法必须保证执行有限步骤之后结束。 2.确定性:算法的每一步骤必须有确切的含义。 3.可行性:算法的每一步骤都能有效地执行,并得到确定 的结果。 4.输入:有0个或多个输入。 5.输出:有1个或多个输出,没有输出的算法毫无意义。
下一页
.
18
例1:判断下列算法是否符合算法的特征
3、用程序代码描述算法
鸡兔同笼
①输入a和b的值; Input a,b
②求x=2a-b/2; ③求y=b/2-a;
x=2a-b/2 y=b/2-a
④输出x和y的值; print x,y
⑤结束。
.
33
二、算法的描述
算法描述语言有: 1、自然语言 2、流程图 3、伪代码
.
34
算法的表示方法优缺点:
3.程序代码 使用程序设计语言. 描述算法。
下一页 35
流程图中的符号的用途
图形符号
符号名称
说明
流线
起始、终止框 表示算法的开始或结束
开始框:一流出线 结束框:一流入线
输入、输出框 处理框 判断框
框中标明输入输出的内容
解答: ① 输入圆的半径R ② S=3.14*R*R ③ 输出面积S
说明:该算法中计算面积所需的初始数据半径R待 定,需要在算法执行时从键盘输入。
返回
.
23
请画出例6的流程图
例6:求从键盘输入的 任意半径的圆的面积 和周长
解答: ① 输入圆的半径R ② S=3.14*R*R ③ C=2*3.14*R ④ 输出面积S,周长C
相关文档
最新文档