2.2算法的基本结构与设计
——顺序结构与选择结构
【教学目标】
知识与技能:通过设计流程图来表达解决问题的过程,了解流程图的三种基本逻辑结构:顺序、条件分支、循环。理解掌握前两种,能设计简单的流程图。
过程与方法:通过模仿、操作和探索,抽象出算法的过程,培养抽象概括能力、语言表达能力和逻辑思维能力。
情感态度与价值观:通过算法实例,体会构造的数学思想方法;提高学生欣赏数学美的能力,培养学生学习兴趣,增强学好数学的信心;通过学生的积极参与、大胆探索,培养学生的探索精神和合作意识。
【教学重点】 运用程序框图表达顺序结构和条件结构的算法
【教学难点】 规范程序框图的表示以及条件结构算法的框图
【教学过程】
例1:现在有甲、乙两个瓶子。甲瓶子装的是酱油,乙瓶子装的是醋。现在让你设计一种方法,把甲、乙瓶子中装的东西进行交换。即让甲瓶子装醋,乙瓶子装酱油。你将会如何设计?
算法如下:1。准备一个空瓶子丙。
2。把甲瓶子中的酱油倒进丙中。
3。把乙瓶子中的醋倒进甲中。
4。把丙瓶子中的酱油再倒进乙中。
以上这就是这件事情的一种算法。
前面我们学习了“算法”,它是我们解决问题的核心。算法可以用我们的语言来表述,但是用语言来表述有时会出现歧义,并且语言表述算法不够简练。因此我们就有了另一种表示算法的方法——流程图。
流程图是一种规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
流程图的基本符号
起止框
输入输出框
处理框
判断框
连接点
循环框
用箭头连接图形符号
注释框
一.规范程序框图的表示:
①使用标准的框图符号.
②框图一般按从上到下、从左到右的方向画,流程线要规范.
③除判断框外,大多数框图符号只有一个进入点和一个退出点.
④一种判断是“是”与“否”两分支的判断,而且有且仅有两个结果;
另一种是多分支判断,有几种不同的结果.
⑤在图形符号内描述的语言要非常简练清楚.
二、顺序结构
顺序结构是由若干个依次执行的处理步骤组成. 例如:图1
例2:对任意三个实数x、y、z求出最大值。写出算法。
算法:1。输入三个数x,y,y。
2。将x和y进行比较大小。
3。如果x比y大,就用x和z进行比较大小;如果y比x大,就用y和z进行比较大小
4。进行x与z(y与z)大小的比较。即可以得出这三个数中最大的数。
三、选择结构
根据条件判断,决定不同流向。
以上的算法用流程图表示就可以表示如下:
例3:设y为年份,按照历法的规定,如果y为闰年,难么或者y能被4整除不能被100整除,或者y能被400整除。
分析:对于给定的年份y,要确定它是否为闰年,需要进行判断,判断的结果决定后面的步骤,像这样就需要用到选择结构。
解:算法步骤如下:
1. 若y不能被4整除,则输出“y不是闰年”。
2. 若y能被4整除,则判断y是否能被100整除。
(1) 若y不能被100整除,则输出“y是闰年”;
(2) 若y能被100整除,则判断y是否能被400整除:
①若y能被400整除,则输出“y是闰年”;
②若y不能被400整除,则输出“y不是闰年”。
流程图(略)
五、课堂小结
1. 画程序框图的步骤:首先用自然语言描述解决问题的一个算法,再把自然语言转化为程序框图;
2. 理解条件结构的逻辑以及框图的规范画法,条件结构主要用在判断、分类或分情况的问题解决中.
课堂练习
1. 已知x=4,y=2,画出计算w=3x+4y的值的程序框图。先写出算法然后再转化成流程图。
2.任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,然后画出这个算法的程序框图。
解
、
3.函数写出求函数函数值的算法及框图.
解:算法:(1)输入;
(2)如果,则;
如果,则;
如果,则.
(3)输出函数值.
算法框图如图:
4. 此为某一函数的求值程序图,则满足该流程图的函数解析式为
以上的算法用流程图
表示就可以表示如下:
图 1
是
是