(共15张PPT)
3.1 体验计算机解决问题的过程
3.2 算法及其描述
体验计算机解决问题的过程
理解和概述算法的概念与特征
运用恰当的描述方法和控制结构表示简单算法
学习目标
3.1.1 人工解决问题的过程
一、人工解决问题的过程
1.明确所要解决的问题和给出的条件
2.根据已有的经验和知识确定解决问题的方法
3.1.2 计算机解决问题的过程
关键
【项目练习】
1.快速浏览《数据与计算》P46-47,了解计算机解决问题的过程;
2.完成活动册p66第(1)题。
分析问题 设计算法 编写程序 调试运行程序 问题解决
3.2.1算法
【项目练习】快速阅读教材P48,总结归纳算法的概念及特征
1.算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。
2.算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
算法:有限步骤内解决问题的方法
3.2.1算法
【项目练习】快速阅读教材P48,总结归纳算法的概念及特征
1.有穷性:
2.确定性:
3.数据输入:
4.数据输出:
5.可行性:
有限步骤
每一步有确切的含义,不能模棱两可。
可有可无——0个或多个输入
必不可少——1个或多个输入
每个步骤都可以在有限时间内完成(无“死循环”)
3.2.2 算法的描述
【项目练习】快速浏览《数据与计算》P49-51,总结归纳,并填写表3-5三种算法描述的比较(P51)
描述方法 优势 不足
自然语言
流程图
伪代码
日常语言,容易掌握。
流程描述清晰简洁。
书写方便、格式紧凑、易于理解
便于向计算机程序设计语言过渡。
多分支或循环较多时,很难清晰表示,
自然语言的歧义性,容易导致算法执行的不确定性。
所占篇幅较大,使用流程线,过于灵活,不受约束。
编程语言的种类繁多,
伪代码的语句不容易规范,容易产生误解。
3.2.2 算法的描述
图形 名称 功能
开始/结束 表示算法的开始或结束
输入/输出 表示算法中变量的输入或输出
处理 表示算法中变量的计算与赋值
判断 表示算法中的条件判断
流程线 表示算法中的流向
连接点 表示算法中的连接
【项目练习】流程图的基本图形及其功能(P50)
3.2.2 算法的描述(p49-50)
选择、分支、判断
代码段1
代码段2
【项目练习】观察流程图的三种结构,阐述你是怎么区分选择结构和循环结构?
条件
代码段1
代码段2
成立
不成立
条件
代码段2
成立
不成立
顺序结构
选择结构
循环结构
自然语言表示法 流程图表示法 伪代码表示法
示例 ①输入两个正整数m,n(m>n); ②计算m除以n所得的余数r; ③m=n,n=r; ④若r=0,则m,n的最大公约数等于n;否则转到步骤②; ⑤输出最大公约数n; ⑥结束。 m=input("m=")
n=input("n=")
if m < n:
m, n = n, m
r = 1
while r != 0:
r = m% n
m = n
n = r
print n
3.2 算法及其描述
n
【项目练习】请用流程图将p51实践活动的算法表示出来。
3.2 课堂小结
1.算法是程序设计的核心,是程序设计的灵魂。
直接影响程序的通用性和有效性
影响问题解决的效率
恰当的算法描述有利于编写程序
2.要点:
(1)算法描述要完整
(2)步骤要清晰
(3)符合算法的特征
(4)有效解决项目的关键问题。
3.2课堂练习——《活动手册》P66-68
1.人们利用计算机解决问题的基本过程为( )。
①调试运行程序②分析问题③设计算法④问题解决⑤编写程序
A.①②③④⑤ B.②④③⑤①
C.④②③⑤① D.②③⑤①④
2.下面关于算法的描述,正确的是( )。
A.算法不可以用自然语言描述
B.算法只能用流程图来描述
C.一个算法必须保证它的执行步骤是有限的
D.算法的流程图表示法有零个或多个输入,但只能有一个输出
D
C
3.2课堂练习——《活动手册》P66-68
5.关于用计算机程序解决问题说法中正确的是( )。
A.利用计算机的高速运算能力提高信息处理能力
B.提高信息加工的效率
C.针对具体问题以专门的程序来实现信息加工的自动化
D.以上说法都正确
6.小明编写好解密程序后,调试运行时,程序没有报错且能顺利运行,但不正确解密,造成这个结果的原因是( )。
A.解密算法逻辑错误 B.程序语句语法错误
C.程序过期了 D.程序设计窗口配置不对
D
A
3.2课堂练习——《活动手册》P66-68
7.算法的重要特征不包括以下哪一项?( )
A.有穷性 B.确定性 C.数据输出 D.唯一性
9.下列关于算法的叙述,正确的是( )。
A.解决一个问题的算法只有一种 B.有穷性是算法的基本特征之一
C.可行性不属于算法基本特征 D.算法对程序设计没有任何作用
11.流程图中表示判断的是( )。
A.矩形框 B.菱形框 C.圆形框 D.桐圆形框
14.( )不是程序的基本控制结构。
A.顺序结构 B.选择结构 C.循环结构 D.组合结构
D
A
B
D
3.2课堂练习——《活动手册》P66-68
思考题(1)
写出“求任意一个实数G的算术平方根G(精确到0.0001)”的算法设计思想。
采用二分法。例如求2的算术平方根,
因为<< ,所以的近似值在(1,2)之间;
取(1,2)的中间点1.5,1.52=2.25,所以的近似值就落在(1,1.5)之间;
再取(1,1.5)的中间点1.25,1.252=1.5625,所以的近似值就落在(1.25,1.5)之间;
再取(1.25,1.5)的中间点1.375,1.3752=1.890625,
…如此反复下去,直到近似值的平方值与2的差的绝对值小于0.0001,就能求出我们要求精度范围内的的近似值。