资源简介 实践体验一、将柱子A上的3个盘子,移动到柱子C上。 规则: 1.移动时,在小圆盘上不能放大圆盘。 2.在三根柱子之间一次只能移动一个圆盘。 A B C A B C 情境导入 A B C A B C ① 将小黄块移到C ② 将中蓝块移到B ③ 将小黄块移到B ④ 将大红块移到C ⑥ 将中蓝块移到C ⑤ 将小黄块移到A ⑦ 将小黄块移到C 1.4 算法的概念和表示方法 01 算法的概念 算法就是解题方法的精确描述。 生活中处处存在着算法 生活中 的算法 田忌赛马 的方案 一元二次方程 解题过程 演奏的乐谱 武侠中的 《易筋经》 广播操图解 等等…… 02 算法的特征 算法描述的是一种有穷的动作序列,即算法是由有限个步骤组成的,在算法中每一步动作的表现形式并没有规定的格式,可以是抽象的,也可以是具体的,但是这些动作的含义应当是明确的(即没有二义性),同时还应该是能行的(即在有限的时间内可以做到的)。 用一分钟时间阅读书本上61页关于算法的描述, 用词语归纳算法的特征 1.有穷性(步骤有限) 2.确定性 (没有二义性) 4.有0个或多个输入 (可无输入量,也可从外界输入初始数据) 3.能行性 (在有限的时间内可以做到) 输出:所有整数 求解:10/正整数 求解:√-3 5.有1个或多个输出 (必须有输出) “程序出错” 也是一种输出! 03 算法的优化 假设煮饭、炒菜为同一个锅,需通过洗菜和切菜、做饭、炒菜三个环节来完成一顿饭菜,你会选择下面哪种方法来操作?为什么? t 炒菜 做饭 洗菜、切菜 做饭 炒菜 洗菜、切菜 炒菜 洗菜、切菜 做饭 炒菜 做饭 洗菜、切菜 方法一 方法二 方法三 方法四 面对同一个问题,通常有很多解决问题的方法和步骤,我们一般尽可能采用简单省时的和步骤最少的方法来解决问题。 对同一问题,可以有不同的解题方法和步骤。华罗庚在数学普及读物《统筹方法平话及补充》中,以“泡茶”为例,阐明了设计和选择合适的、优化的算法的重要性。 1.自然语言 : 即用汉语或英语这样的自然语言来表示算法。 04 算法的表示方法 ① 将小黄块移到C ② 将中蓝块移到B ③ 将小黄块移到B ④ 将大红块移到C ⑥ 将中蓝块移到C ⑤ 将小黄块移到A ⑦ 将小黄块移到C 通俗易懂 通常所用的文字为了精确的表达意思会比较冗长繁琐。 容易出现“二义性”。 我们班小丁对小张说数学老师叫他去办公室 2.流程图 形象直观 是程序员经常用来描述算法的工具,流程图用图框及流程线来表示算法,简洁易懂。 04 算法的表示方法 流程图 画流程图规则: 根据算法中每一个步骤,选用合适的流程框图 流程图符号: 开始、结束框 处理框 判断框 输入、输出框 流程线 连接框 表示算法的开始与结束 表示输入、输出数据 用于表示要处理的内容 表示条件判断及产生分支的情况 用于连接因页面写不下而断开的流程线 有向线段,用于控制流程方向 符号 名称 作用 04 算法的表示方法 例:用流程图描述“输入两个不同的正整数,输出其中值最大的数”的算法。 开始 输入变量a,b的值 max=a a>b? max=b 输出最大值变量max的值 结束 Y N 04 算法的表示方法 处理框 输入输出框 判断框 连接框 流程线 开始、结束框 设计一个算法,对任意输入的三个不等的整数X、Y和Z,找出并输出其中的最小值。 自然语言表示方法: 1.输入变量x,y,z?? 2.比较x,y。如果x 3.比较z和min。如果z4.输出min? 流程图: 输入变量x、y、z的值 xmin=y min=x zmin=z Y 输出变量min的值 N Y N 开始 结束 实践体验2 04 算法的表示方法 开始 输入变量a,b的值 max=a a>b? max=b 输出最大值变量max的值 结束 Y N 3.计算机语言 计算机能识别 高级语言 Pascal Visual Basic C++ …… 04 算法的表示方法 Private Sub Command1_Click() Dim a,b,max as Integer ‘分别读取两个整数转换后保存在变量a和b中’ a=Val(Text1.Text) b=Val(Text2.Text) If a>b Then max=a Else max=b End if Label1.Caption= “最大数是”& Str(max) End Sub 把冰箱门打开 把大象放进去 05 算法的三种基本的控制结构 1.顺序结构 一个步骤完成后,顺序执行紧跟着的下个处理步骤。 如电视节目,按先后顺序直线下来。 把大象放进冰箱分哪几步? 把冰箱门关上 05 算法的三种基本的控制结构 2.选择结构 根据情况的不同,在预定的两个模式中,选择一个合理的步骤执行 如根据停电情况,选择信息课上课场地问题。 停电了? 到教室上课 到机房上课 Y N (分支结构) 05 算法的三种基本的控制结构 3.循环结构 对某个情况e进行判断,当结果为真时,执行处理步骤step,然后再次判断这个情况e,当结果为真是,再次执行步骤step,并继续判断情况e。总是重复上述过程,直到判断的结果为假。 如电影《捉妖记》中井柏然吃面。 你还饿吗? 吃一碗面 Y N 1、下列关于算法的描述,正确的是( B ) A.一个算法的执行步骤可以是无限的 B.一个完整的算法必须有输出 C.算法只能用自然语言来描述 D.一个完整的算法至少有一个输入 2、在求解“一元二次方程实数解”的算法中,如果方程不存在实数根,也要求输出结果“无实数根”,此要求主要体现了算法特征中的( B ) A.有穷性 B.至少有一个输出 C.确定性 D.可行性 06 随堂练习 3、下列四中流程图样式中,能用于表示循环结构的是( D ) A B C D 06 随堂练习 4、某算法流程图如下所示:当输入a和b的值分别为3、6时,该算法的输出结果为( C ) A. 3 B. 6 C. 8 D. 9 06 随堂练习 开始 输入a、b的值 c←a+5 c>=b? 输出b的值 输出c的值 N Y 结束 A. k的值为0 B.程序出错 C.语句“k=k+1”共被执行了2次 D.输出k的值为4 5、某算法流程图如图所示,执行该算法,当s的值为0时( D ) 06 随堂练习 开始 s←10:k ←0 s<=0? 输出k的值 Y N 结束 k←k+1 s←s-k 算法 算法的概念 算法的特征 算法的表示方法 算法的三种 基本控制结构 算法的优化 顺序 选择(分支) 循环 自然语言 流程图 计算机语言 能行性 有1个或多个输出 有0个或多个输入 确定性 有穷性 07 课堂小结 6.某算法部分流程图如第图所示。执行这部分流程,依次输入 12、-5、29、18、7,则输出值是 A.12 B-5 C29 D 7 08 拓展练习 THANK YOU FOR LISTENING! 展开更多...... 收起↑ 资源预览