1.1.1算法的概念、程序框图
学习目标
1. 了解算法的含义,掌握程序框图的概念 ,能读懂程序框图; 2. 会用通用的图形符号表示算法,掌握画 程序框图的基本规则; 3. 自主学习、合作交流,激情投入,大胆 质疑。
一、问题情境:算法是什么?
1.小品“钟 点工”片段:
要把大象装 冰箱,分几 步?
答:分三步: 第一步:打开冰箱门 第二步:把大象装冰箱 第三步:关上冰箱门
这就是一个算法,
又如一个菜谱也是一个算法
二、算法的含义
算法是按一定规则解决某一类问题的 明确的有限的步骤
“步骤”是算法的本质;步骤的 “明确与有限”是算法的重要特 征.
三 算法的要求
1.可执行性 2.确定性 3.有限性
4.普遍性,可以解决一类问题 5.有输出结果的说明6、不唯一性
四 算法的表示
描述算法可以有不同的方式,常用的有自然 语言、程序框图、程序设计语言.
2.构成程序框图的图形符号及其作用
图形符号
名称
终端框 (起止框) 输入、 输出框 处理框 (执行框) 判断框
功能
表示一个算法的起始和结束 表示一个算法输 入和输出的信息 赋值、计算
流程线
连结点
判断某一条件是否成立 , 成 立时在出口处标明“是” 或“ Y”, 不成立时标明“否” 或“N”. 连接程序框
连接程序框图的两部分
6
五、算法的三种基本逻辑结构
顺序结构、条件结构、循环结构 顺序结构是最简单的算
法结构,语句与语句之间,
框与框之间是按从上到下的
示意图
顺序进行的,它是由若干个
依次执行的步骤组成的,它 是任何一个算法都离不开的
步骤 n
一种基本算法结构。它可以
单独出现,也可以出现在条
步骤n+1
件结构或循环结构中。
条件结构:在算法流程中需根据条件是否成立有 不同的流向的结构. 双 分 支 的 条 件 结 构
N N
满足条件?
Y
满足条件?
Y
步骤A
步骤B
步骤A
非 对 称 的 条 件 结 构
开始 输入n i=2 求n除以i的余数
顺 序 结 构 循 环 结 构
i的值增加1,仍用i表示
i>n-1或r=0?
是 r=0? 是 n不是质数 n是质数 否
否
条 件 结 构
结束
例2、执行下列程序框图:
开始 输入a,b a= 2 b= 4
(1)当输入a,b的 变量赋值有两种方 值为 1,2时,图中输 式: 出 S = 2.5 ; (1 )通过输入框
从键盘输入数值; (2)通过执行框 ( 2)当输入a,b的 直接赋值。
S=a/b+b/a
输出S
值为0,0时,图中输 出S= 2.5 ;
结束
练习1,如果输入a,b,的值为1,2,则输出 多少?
开始 输入a,b a=a-b b=b-a
a=1-2=-1 b=2-(-1)=3 S=3+(-1)=2
S=a+b
输出S
结束
练习2:写出下列算法的功能。
开始
输入a,b
d = a 2+ b 2
c= d
输出c 结束
左图算法的功能
是
;
例 用数学语言,写出对任意3个整数a, b,c求出最大值的算法。
S1 max=a S2 如果b>max, 则max=b. S3 如果c>max, 则max=c.
S4 max就是a, b, c中的最大值。
写出求一元二次方程
ax2+bx+c=0 的根的算法.
S1 计算Δ=b2-4ac. S2 如果Δ<0,则原方程无实数解 ;否 ? b ? ? x1 ? , 则(Δ≥0)时, 2a ? b ? ? x2 ? . 2a S3 输出x1, x2或无实数解的信息.
设计算法,求一元二次方 程ax2+bx+c=0,画出相应的 流程图
解决这一问题的算法步骤如下: 第一步:输入3个系数a,b,c
开始 输入a,b,c △=b2-4ac △<0? 否 是
第二步:计算△=b2-4ac 第三步:判断△<0,则原方程无实数 解;否则(△≥0) x1 = x2= -b+√ △ 或无实数解信息 -b-√△ 第四步:输出 x1,x 2 2a 2a
x1= x2=
-b+√△ 2a -b-√△ 2a
输出无 实数根
输出x1,x2 结束
作业
1.整理学案,小组长检查后上交. 2.做新发的训练案. 3.认真阅读教材后,做新学案的 预习案和探究案. 4.准备明天课堂上的知识点pk.