第一篇:1.1 算法与程序框图 教学设计 教案
教学准备
1.教学目标
(1)了解算法的含义,体会算法思想.
(2)会用自然语言和数学语言描述简单具体问题的算法;
(3)学习有条理地、清晰地表达解决问题的步骤,培养逻辑思维能力与表达能力
2.教学重点/难点
重点:算法的含义、解二元一次方程组的算法设计. 难点:把自然语言转化为算法语言.
3.教学用具
课件
4.标签
算法
教学过程 情境导入
电影《神枪手》中描述的凌靖是一个天生的狙击手,他百发百中,最难打的位置对他来说也是轻而易举,是香港警察狙击手队伍的第一神枪手.作为一名狙击手,要想成功地完成一次狙击任务,一般要按步骤完成以下几步: 第一步:观察、等待目标出现(用望远镜或瞄准镜); 第二步:瞄准目标;
第三步:计算(或估测)风速、距离、空气湿度、空气密度; 第四步:根据第三步的结果修正弹着点; 第五步:开枪;
第六步:迅速转移(或隐蔽). 以上这种完成狙击任务的方法、步骤在数学上我们叫算法. ●课堂探究 预习提升
1.定义:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题. 2.描述方式
自然语言、数学语言、形式语言(算法语言)、框图. 3.算法的要求
(1)写出的算法,必须能解决一类问题,且能重复使用;
(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果. 4.算法的特征
(1)有限性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.
(2)确定性:算法的计算规则及相应的计算步骤必须是唯一确定的.
(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.
(4)顺序性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,后一步是前一步的后续,且除了最后一步外,每一个步骤只有一个确定的后续.
(5)不唯一性:解决同一问题的算法可以是不唯一的. 课堂典例讲练
命题方向1 对算法意义的理解 例1.下列叙述中,①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,„99+1=100; ③从青岛乘动车到济南,再从济南乘飞机到伦敦观看奥运会开幕式; ④3x>x+1;
⑤求所有能被3整除的正数,即3,6,9,12,„.能称为算法的个数为()A.2
B.3
C.4
D.5 【解析】根据算法的含义和特征:①②③都是算法;④⑤不是算法.其中④,3x>x+1不是一个明确的步骤,不符合明确性;⑤的步骤是无穷的,与算法的有限性矛盾. 【答案】B
[规律总结] 1.正确理解算法的概念及其特点是解决问题的关键.
2.针对判断语句是否是算法的问题,要看它的步骤是否是明确的和有效的,而且能在有限步骤之内解决这一问题.
【变式训练】 下列对算法的理解不正确的是________ ①一个算法应包含有限的步骤,而不能是无限的
②算法可以理解为由基本运算及规定的运算顺序构成的完整的解题步骤 ③算法中的每一步都应当有效地执行,并得到确定的结果 ④一个问题只能设计出一个算法
【解析】由算法的有限性指包含的步骤是有限的故①正确; 由算法的明确性是指每一步都是确定的故②正确;
由算法的每一步都是确定的,且每一步都应有确定的结果故③正确; 由对于同一个问题可以有不同的算法故④不正确. 【答案】④
命题方向2 解方程(组)的算法 例2.给出求解方程组的一个算法.
[思路分析]解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,再通过回代方程求出方程组的解)解线性方程组. [规范解答]方法一:算法如下:
第一步,①×(-2)+②,得(-2+5)y=-14+11,即方程组可化为
第二步,解方程③,可得y=-1,④ 第三步,将④代入①,可得2x-1=7,x=4,第四步,输出4,-1.方法二:算法如下:
第一步,由①式可以得到y=7-2x,⑤ 第二步,把y=7-2x代入②,得x=4.第三步,把x=4代入⑤,得y=-1.第四步,输出4,-1.[规律总结]1.本题用了2种方法求解,对于问题的求解过程,我们既要强调对“通法、通解”的理解,又要强调对所学知识的灵活运用.
2.设计算法时,经常遇到解方程(组)的问题,一般是按照数学上解方程(组)的方法进行设计,但应注意全面考虑方程解的情况,即先确定方程(组)是否有解,有解时有几个解,然后根据求解步骤设计算法步骤. 【变式训练】
【解】 算法如下:S1,①+2×②得5x=1;③ S2,解③得x=;
S3,②-①×2得5y=3;④ S4,解④得y=;
命题方向3 筛选问题的算法设计
例3.设计一个算法,对任意3个整数a、b、c,求出其中的最小值. [思路分析]比较a,b比较m与c―→最小数 [规范解答]算法步骤如下:
1.比较a与b的大小,若a
2.比较m与c的大小,若m 【变式训练】在下列数字序列中,写出搜索89的算法: 21,3,0,9,15,72,89,91,93.[解析]1.先找到序列中的第一个数m,m=21; 2.将m与89比较,是否相等,如果相等,则搜索到89; 3.如果m与89不相等,则往下执行; 4.继续将序列中的其他数赋给m,重复第2步,直到搜索到89.命题方向4 非数值性问题的算法 例4.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.(1)设计安全渡河的算法; (2)思考每一步算法所遵循的共同原则是什么? [解析](1)1.人带两只狼过河; 2.人自己返回; 3.人带一只狼过河; 4.人自己返回; 5.人带两只羚羊过河; 6.人带两只狼返回; 7.人带一只羚羊过河; 8.人自己返回; 9.人带两只狼过河. (2)在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊的数目大于狼的数目. [规律总结]1.对于非数值性的问题,在设计算法时,应当先建立过程模型,也就是找到解决问题的方案,再把它细化为一步连接一步组成的步骤.从而设计出算法. 2.首先应想到先运两只狼,这是唯一的首选步骤,只有这样才可避免狼吃羊,带过一只羊后,必须将狼带回来才行. 【变式训练】两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡一个大人或两个小孩,他们四人都会划船,但都不会游泳,他们如何渡河?请写出你的渡河方案及算法. [解析]因为一次只能渡过一个大人或两个小孩,而船还要回来渡其他人,所以只能让两个小孩先过河,渡河的方案算法为: 1.两个小孩同船渡过河去; 2.一个小孩划船回来; 3.一个大人独自划船渡过河去; 4.对岸的小孩划船回来; 5.两个小孩再同船渡过河去; 6.一个小孩划船回来; 7.余下的一个大人独自划船渡过河去; 8.对岸的小孩划船回来; 9.两个小孩再同船渡过河去. 课后习题 1.以下对算法的描述正确的个数是()①对一类问题都有效; ②对个别问题有效; ③计算可以一步步地进行,每一步都有唯一的结果; ④是一种通法,只要按部就班地做,总能得到结果. A.1个 B.2个 C.3个 D.4个 [答案]C [解析]①③④正确,均符合算法的概念与要求,②不正确. 2.算法的有限性是指()A.算法的最后必包含输出 B.算法中每个操作步骤都是可执行的 C.算法的步骤必须有限 D.以上说法均不正确 [答案]C [解析]由算法的要求可知,应选C.3.下列语句中是算法的个数是()①从广州到北京旅游,先坐火车,再坐飞机抵达; ②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1; ③方程x2-1=0有两个实根; ④求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果10.A.1个 B.2个 C.3个 D.4个 [答案]C [分析]解答本题可先正确理解算法的概念及其特点,然后逐一验证每个语句是否正确. [解析]①中说明了从广州到北京的行程安排,完成任务;②中给出了一元一次方程这一类问题的解决方法;④中给出了求1+2+3+4的一个过程,最终得出结果.对于③,并没有说明如何去算,故①②④是算法,③不是算法. 4.设计一个算法求方程5x+2y=22的正整数解,其最后输出的结果应为________. [答案](2,6),(4,1)[解析]因为求方程的正整数解,所以应将x从1开始输入,直到方程成立. x=2时,y==6; 5.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99.求它的总分和平均成绩的一个算法为: 1.取A=89,B=96,C=99; 2.____①____; 3.____②____; 4.输出D,E.[解析]求总分需将三个数相加,求平均分,另需让总分除以3即可. x=4时,y==1.[答案]①计算总分D=A+B+C ②计算平均成绩E= 课型:新课 《算法与程序设计》(选修)人教版 教学目标: 1.进一步理解什么是;算法,知道算法的多样性 2.能够对设计的算法做简装的评价 3.学会利用自然语言、流程图和伪代码来描述算法 教学内容 1.了解什么是算法及其特征 2.学习三种描述算法语言 教学重点:通过例子设计算法 教学难点:三种描述算法语言的使用 课时数:1课时 正课讲解 一、算法是“灵魂” 1.算法存在于人们生活中,如:上街购物、顾客付款、营业员(主)找银等。 2.“韩信点兵问题”有不同的求解过程,就有不同的算法。 有N个人,除以3,5,7,分别余2,3,2,求N。 3.算法——解决问题的方法和步骤。 算法是尼克劳斯.沃斯(N.Writh)提出的,他指出:算法+数据结构=程序。 (即算法不能单独构成程序,它必须和数据结构合二为一) 4.算法的发现 时间:公元前3000年~公元前1500年 地点:巴比伦 巴比伦人求解“算法”的过程:先用解代数方法,再计算实际数目,最后写上一句短句“这就是一个过程”。 5.算法的特征 我们曾在必须修课中提过一点算法,如:冒泡排序法。 例:计算1+2+3+„„+100=? 分析:这个算法有限制范围,可以在有限时间内完成,这是算法的第一个特征:有穷性。计算此算法可以用纸笔、算盘、运算器 和计算机来完成,且计算过程是多样的,但结果是唯一的。这就是算法的可行性、确定性。 计算方法: ⑴把这100个数按顺序相加。 ⑵用凑数法:1+99=100,2+98=100,3+97=100,„„,49+51,最后只剩下50和100。 ⑶令S=0,使1≤n≤100,先执行S=S+n ⑴,再执行n=n+1 ⑵ n=1,S=0时,S(0)=1 n=2,S=1时,S(0)=3 n=3,S=3时,S(0)=6 n=4,S=6时,S(0)=10 n=5,S=10时,S(0)=15 n=6,S=15时,S(0)=21„„ 算法的另外一个特征:输入、输出。 练习:水仙花数问题,如153=1^3+5^3+3^3,分析它应满足什么条件才能使用此方法? 二、如何描述算法 1.用自然语言描述算法 ⑴自然语言——人们日常生活中使用的语言。 ⑵此种语言的特点:通俗语易懂,缺乏直观性和简洁,且易产生歧义。 使用此种语言的注意事项:描述要求尽可能精确,详尽。 例:用自然语言描述凯撒密码的原理 第1步:输入26个英文字母,它们分别对应1~26个数学。 第2步:令a=1,k=3,n=26。 第3步:使a的取值范围为1≤a≤26,F(a)=(a+k)mod n,转第5步。 第4步:a=a+1,转第3步。 第5步:输出F(a)相对应的数字。 第6步:把数学转化成相当的字母,输出字母。 第7步:累计字母出现顺序,转第4步。 练习:现有一串字母“PROGRAM”给它加密,请设计算法,用自然语言描述。 2.用流程图描述算法 ⑴特点:描述算法形象、直观,容易理解。 ⑵流程图符号 3.用伪代码描述算法 特点:描述的算法简、易懂,修改容易,容易转化为程序语言代码。 例:分析课本经9页算法描述 第一个条件:y mod 4=0 判断闰年的条件:⑴y不能被100整除;⑵y能被400整除且y能被400整除。 判断不是闰年的条件:⑴y mod 4=0 且y mod 100=0,但y不能被400整除;⑵y不能被4整除。 表示条件判断语句 表示循环处理语句: IF 条件 THEN 执行语句一 Do While 条件循环语句 ELSE执行语句二 Loop END IF 条件语句中可以包含多个子语句 实践:用表格比较自然语言、流程图和伪代码3种描述方法的优缺点。 《程序框图、顺序结构》教学设计 监利县实验高中 万平方 一、内容及其解析 本节内容是在学生学习了算法的概念的基础上进行的,学生知道“在数学中,算法通常是按照一定规则解决某一类问题的明确的和有限的步骤”.在算法概念的表述中,有范围限定词 “在数学中”,因此学习的内容均为数学中的问题.有一个有前缀限制的基本特征词“步骤”,前缀中,“按照一定规则” 指的是解决具体问题时的依据和表达方式,关注的是算法的基本逻辑结构(顺序、条件和循环),也表示算法具有有序性.“解决某一类问题”,强调的是算法适用对象的常态,突出算法的研究价值以及它的普遍适用性,也表明特殊问题的解题与一般问题的算法,存在联系又有区别.“明确和有限”,表示算法的每一步都是明确的、可执行的,总的步骤是有限的.在算法概念中,还特别指出,“算法通常可以编成计算机程序,让计算机执行并解决问题”.这对高中学习的算法提出了要求,也决定了高中算法学习的范围.即仅提出算法概念,认识算法基本逻辑结构是不够的,还必须学习计算机能执行的算法程序,能用程序表达算法,让计算机来验证我们解决问题的算法是否可行.在我们利用计算机解决问题的时候,首先要设计计算机程序,在设计计算机程序时我们首先要画出程序运行的流程图,使整个程序的执行过程直观化,使抽象的问题十分清晰和具体.有了这个流程图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基本和开端,也是使用计算机处理问题前的一个必要的步骤.算法有三种表达方法:算法的自然语言、程序框图和算法程序.算法的自然语言表达,即算法步骤,是与人的表达最接近算法表达方式;算法的程序表达是计算机可以识别的语言,但与人的表达距离较远;而算法的程序框图表达能直观、明确表达算法的基本逻辑结构,又能在前两种算法表达之间架设桥梁,形成编写程序的基础.由此可见,程序框图是算法的直观、准确的表达,是自然语言表达的延伸,也是后面学习算法基本语句的基础.程序框图的学习起着承上启下的作用.二、目标及其解析 [课程目标] 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.[教学目标] 理解程序框图的概念;会用通用的图形符号表示算法,掌握算法的顺序结构,了解算法的条件结构与循环结构;掌握画程序框图的基本规则.[目标解析] 1.知道用程序框图表达算法可以使算法的结构更直观、更条理、更明确,知道算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.2.明确程序框图的基本要求,理解算法的顺序结构特征,会正确画出算法的顺序结构框图.3.通过模仿、操作、探索,经历通过设计算法的顺序结构解决问题的过程.4.认识到算法是数学及其应用的重要组成部分,是计算科学的重要基础,算法更强调思维的条理化、逻辑化和程序化,更注重问题解决的一般性,初步体会算法思想.5.通过程序框图画法规则的学习,体会程序化、规范化的算法思想,渗透对学生进行规范教育.6.了解算法的条件结构与循环结构.三、教学问题诊断分析 1.由于学生初次接触程序框图,可能会感到陌生,因此可以举生活中的例子,也可以举函数图像的例子,让学生感到程序框图并不神秘,让学生感觉到程序框图表达算法更直观、更条理、更明确.2.由于学生对算法思想没有深刻的认识,所以教学中要从学生熟悉的问题入手,让学生从算法的角度给熟悉的问题一个解决办法.但另一方面,学生可能会对很自然的、熟悉的问题不重视,因此要明确算法解决的是一类问题,算法是程序化的步骤,要强调算法适用对象的常态,突出算法的研究价值以及它的普遍适用性.3.由于程序框图是算法的一种新的表达形式,因此要明确算法的自然语言表达与程序框图表达的联系与区别,让学生掌握算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.另外程序框图的符号表示可能学生一下子接受不了,需要给学生以消化的时空.4.由于学生没有上机操作,学生可能会对设计的程序框图是否正确心存疑虑.因此,教学上要强调程序框图只是把算法步骤的自然语言表达翻译成了程序框图表达,并不神秘,只要我们能把一类问题的解题步骤程序化,再按照规范操作就不会出错.四、教法与学法分析 《普通高中数学课程标准》指出,课程算法是高中数学课程中新内容,其思想是非常重要的,但并不神秘.算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法.为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,还需要将自然语言或程序框图翻译成计算机语言.学习算法的主要目的是使学生体会算法的思想,提高逻辑思维能力.不要将此部分内容简单处理成程序语言的学习和程序设计.因此,教学中首先要让学生明确学生程序框图的目的,列举生活中与函数的例子,增强学生学习的信心与兴趣.由于算法程序框图的设计顺序是先用自然语言表达算法步骤,再一一对应的翻译成程序框图,然后仔细推敲,使程序框图简化、细化和精确化.所以教学中必须通过实例进行,通过算法的自然语言表达与程序框图表达的对照学习,在解决具体问题的过程中学习一些基本逻辑结构和语句.至于学法,《课程标准》说的也很明确,那就是通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.要激发学生的学习兴趣和创新潜能,为学生形成积极主动的、多样的学习方式创造有利的条件.以帮助学生养成独立思考,积极探索的习惯.五、教学过程设计 复习提问:什么是算法?算法可以怎么表示?想过这样表示有什么缺点没有? 问题1.1:我们在高一学习过函数,请问函数的表达方法有几种? [设计意图] 比较迁移.教师说明:比较一下,我们可以将自然语言描述的算法看作“列表法”,那么算法的“图像法”有是什么呢?这就是我们要学习的程序框图.程序框图并不陌生,刚才我们进教室看到实验高中新生报名流程图就是例子.问题1.2:你能感觉流程图有什么优点吗? [设计意图] 初步感受流程图的优点.问题2.1: 上节我们学习了“判断整数n2是否为质数”的算法,还记得是哪些步骤吗?它用图形怎样表示呢? [设计意图] 学生画出程序框图,培养学生的动手能力.初步感受流程图是算法的直观的、准确的表达.先整体认识,后面再局面分析.问题2.2: 观察所给的流程图,看看它们有哪些不同的几何形状? [设计意图] 促进对前面算法自然语言表达的理解,为程序框图的定义的得出打下基础.培养观察分析归纳能力,初步感受算法的程序框图.问题2.3:对照课本程序框图表自制作表格并填写,包括各程序框、名称、功能.[设计意图] 培养自学能力和识记能力,掌握各个图形的形状、作用及使用规则.认识程序框图里出现的基本图形符号,并且能很好地掌握他们,是接下来学习程序框图的前提,所以在学习用程序框图来描述算法之前,必须先了解这些符号所代表的意义,那样才能让后面的学习更加顺利.问题3.1: 观察所给的程序框图,说明什么是程序框图? 程序框图又叫流程图,是一种用程序框、流程线及文字说明来表示算法的图形.[设计意图] 通过观察,培养分析归纳能力.问题3.2:程序框图是怎么表示算法的? 在程序框图中,一个或几个程序框表示算法的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.[设计意图] 感受程序框图是建立在算法自然语言表达基础上的图形表示.将新知识纳入到原来认知系统中.练习1:1.流程图的判断框,有一个入口和n个出口,则n的值为()(A)1 (B)2 (C)3 (D)4 2.下列图形符号表示输入输出框的是() (A)矩形框 (B)平行四边形框 (C)圆角矩形框 (D)菱形框 3.下列图形符号表示处理数据或计算框的是() (A)矩形框 (B)平行四边形框 (C)圆角矩形框 (D)菱形框 [设计意图] 让学生熟悉程序框图的符号.问题4: “判断整数n2是否为质数”的程序框图有哪几种逻辑结构? [设计意图] 初步向学生们介绍在程序框图里存在的三种不同的基本逻辑结构.由于这部分知识是学生新接触到的内容,所以主要由老师引导学生一同找出图中存在的三种不同的逻辑结构,根据它们各自所呈现的不同特点总结出它们的特征,之后由老师说出它们的名称.这里对逻辑结构的初步认识,也是为后面对它们的深入探究打下基础.教师说明:(1)三者的特点:①顺序结构在程序框图中的体现是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤; ②条件结构在程序框图中是用判断框来表示,判断框内写上条件,两个出口分别对应着条件满足和条件不满足时所执行的不同指令; ③循环结构在程序框图中是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环体回到判断框的入口处.(2)条件结构与循环结构的区别与联系 区别:循环结构有重复性,条件结构具有选择性、不重复; 联系:循环结构中必定包含一个条件结构,用以判断循环的条件.问题5: 已知一个三角形的三边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.[设计意图] 例题选自课本的例3,它针对的只是顺序结构.在题目里涉及到一个学生不熟悉的概念,那就是海伦公式,所以首先要让学生们了解那是什么,否则将无从解题.之后就引导学生分析算法,这个过程可以培养学生积极思考的能力.然后由学生自己作出这道题的程序框图,锻炼学生的动手能力,加深对顺序结构的理解.练习2:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.[设计意图] 这是对课本第5页的练习第1题提出的新要求,旨在让学生体会算法的两种表达方法的联系,进一步体会设计程序框图的步骤.问题6: 写出下面程序框图的运行结果.[设计意图] 培养学生读图的能力,进一步理解算法的顺序框图.练习3: 根据右边的程序框图所表示的算法,输出的结果是______. 答案 2 解析 该算法的第1步分别将X,Y,Z赋于1,2,3三个数,第2步使X取Y的值,即X 取值变成2,第3步使Y取X的值,即Y的值也是2,第4步让Z取Y的值,即Z取值也是2,从而第5步输出时,Z的值是2.[设计意图] 培养学生读图的能力,初步感受赋值的含义 .问题6: 本节课你有哪些收获?还有哪里疑问? [设计意图] 让学生小结本节课所学知识.1.程序框图的概念与意义.2.顺序结构的程序框图的基本特征:(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.(2)各程序框从上到下用流程线依次连接.(3)处理框按计算机执行顺序沿流程线依次排列.3.条件结构与循环结构在后面学习.作业: 1.画出今天学习的程序框图.2.已知x=4,y=2,画出计算w=3x+4y的值的程序框图.(这是一道要求作出具有顺序结构的程序框图题,很基础,一般的学生都能独立完成) [设计意图] 课后作业的布置是为了检验学生对本节课内容的理解和运用程度以及实际接受情况,并促使学生进一步巩固和掌握所学内容.知识性内容的小结,可把课堂教学传授的知识尽快化为学生的素质;数学思想方法的小结,可使学生更深刻地理解数学思想方法在解题中的地位和应用. 《算法的设计与描述》教学设计 一、教材内容、学情分析(1)教材分析 本节内容为教科版算法与程序设计第一章第二节,通过1.1 节的学习,学生已经了解了计算机解决问题的基本过程,并知道算法是程序设计的灵魂,只要算法正确,就可以用任何一种语言编写程序,再加之本节的学习,更加加深的学生对算法的了解。为后续章节学习程序设计、算法的程序实现打下一定的基础。(2)学情分析 此阶段学生为高二第一学期的学生,在高一的基础上已经对计算机的基本操作及信息的获取处理方法有了一定的掌握。数学方面也已经具备了函数、数列等方面的知识,能够解决计算机中遇到的一些问题。但我校学生很大一部分都是农村学生,基础差,知识的掌握程度差,所以要更加注重基础,课堂用例不能太难,注重循序渐进的教学,分层教学。 二、教学目标 知识与技能:进一步理解什么是算法,知道算法的多样性;能够对设计的算法做简单的评价;学会利用自然语言、流程图和伪代码来描述算法。 过程与方法:培养学生用算法描述问题的能力和正确解决问题的过程。 情感态度价值观:使学生养成遇到问题,找出算法,分析算法的意识。培养学生的高阶思维能力,如综合、评价、分析、思辨。 三、教学重难点 重点:用自然语言流程图伪代码描述算法 难点:用流程图描述算法 四、教学方法及策略 本节课主要通过大量实例及一题多解的方法,帮助学生理解学习,对比式学习,问题引导,先实例展示,后讲解,后总结的方法,适合学生的学习认知顺序,是知识点之间的衔接浑然天成。由易到难的顺序,不至于使学生产生思维跨度。知识点纲要、图文并茂、表格的形式使知识点形象直观容易理解。适当的讨论交流学习,让同学们很好的纠正自己的错误。以上各种方法让学生学会如何利用自然语言、流程图和伪代码来描述算法。引课实例为“农夫过河”的趣味游戏,它一方面可以激发学生的学习兴趣,另一方面可使学生清楚算法的概念,学会利用自然语言描述算法的方法;第一个实践活动“找出1+2+3+……100的方法”,让同学们对不同的算法进行比较,能对不同的算法做出评价,感受算法的多样性与复杂性;第二个实践活动“用自然语言描述求解ax+b=0的过程”,进一步巩固自然语言的描述方法,为后面的学习用流程图描述做铺垫;流程图学习阶段,与自然语言描述进行对比,贯之以实践三“读解一元二次方程流程图,填空”,典型的数学问题,使学生掌握用流程图描述算法的方法;伪代码学习阶段,采用循序渐进的方法,引导学生学习,冠之以实例帮助学生理解。最后对知识点进行小结,完成课后实践 五、教学过程 1.课堂引入 老师:由“农夫过河”游戏引入:算法的概念,算法是程序设计的灵魂,找到合适的算法是程序设计的前提 , 算法的设计分为两个内容:一是寻找一种方法;二是描述实现这个方法的步骤,我们这节课的重点是学习如何描述算法。算法特征的讲解。 学生:玩趣味游戏,找出解决农夫过河问题的方法和步骤,理解算法的概念,特征,地位。 设计意图:通过游戏,激发学生的学习兴趣,顺理成章的引入对本节内容的学习。适当的扩展算法的特征,帮助学生理解。2.学生自主讨论完成实践活动一 学生讨论:学生找出求解“1+2+3+4……+100”的不同算法,看看哪种算法的效率高,体会算法的多样性与复杂性。 老师总结结论。3.用自然语言描述算法 老师讲授: (1)自然语言 —— 人们日常生活中使用的语言。 (2)自然语言的特点:通俗易懂,缺乏直观性,不简洁,且易产生歧义。如很多同学的描述语句和说法相差较大。使用自然语言的注意事项:描述要尽可能精确,详尽。 学生活动: 实践活动二:用自然语言描述求解ax+b=0的过程,巩固所学,为学习流程图做一定的铺垫。4.流程图描述 老师活动: 用自然语言描述算法比较容易接受,但叙述冗长,容易产生 “ 歧义 ”。下面我们再来学习另外一种最常见的算法描述方式——流程图。 (1)给学生展示求解方程ax+b=0的流程,对比自然语言描述,产生共鸣。(2)结合具体实例讲解组成流程图的各种元素,之后列出组成流程图基本元素。(3)总结流程图优缺点:用流程图描述算法直观易懂、逻辑关系清晰,不容易产生歧义。 (4)结合求解ax2+bx+c=0的流程图,巩固讲解流程图相关知识。 学生活动: (1)看解ax+b=0的自然语言和流程图,感受流程图描述的优势,完成对比表格。(2)实践活动三:读解一元二次方程流程图,填空。 设计意图:由简到难,逐步引导,图文并茂,帮助理解,对比学习,产生共鸣。 5.用伪代码描述算法 老师活动: (1)伪代码表示举例讲解 (2)两个实例讲解 ①判断某个数是否偶数 ②伪代码描述求解ax+b=0的过程(3)总结式讲解 伪代码(Pseudocode)是介于自然语言和计算机程序设计语言之间的一种算法描述。它也是专业软件开发人员描述算法的一种常用方法。没有严格的语法限制,书写格式也比较自由,描述的算法简单、易懂,容易修改,且容易转化为程序语言代码。 学生活动:听老师讲解,在老师的引导下,完成对两个实例的讲解,对知识点的掌握 6.课堂总结 (1)算法是指解决问题的方法和思路。(2)算法的特征(2)描述算法的形式有多种,常用的有自然语言、流程图和伪代码。展示同一个问题的三种描述方法,学生对比感受,起到对知识点升华的作用。(3)好的算法需要我们分析、比较、挑选。 六、教学反思 通过本节的教学好的地方在于:以游戏的方式引课,调动学生的学习兴趣。整堂课贯穿着大量的实例帮助学生学习巩固,实例都是由易到难,老师适当引导,帮助各类学生理解,充分的考虑到学生的学情。在讲解三类方法时,始终都是对比式学习,并没有把某个知识点孤立起来。适当的给学生扩展了一些知识点。整堂课程脉路比较清晰。再者就是课堂气氛比较活跃。 不足之处就是:课堂有些地方语言不够精炼。学生活动不是很充分,学生活动的设计不是很到位,课堂上老师与学生的互动较少。学生与学生之间的互动交流也较少,由于受到学生基础的限制,如打字,有部分学生没有很好的完成实践活动。有些知识点没有讲透。由于实践贯穿在课堂,学生做完后只是做了简单的评价,没有详细的评价,课后也没有系统的评价,没能给学生纠正出常见的错误,实践活动的重难点也没有突出出来,没有把知识点做出全方位的诠释。 优点是可以看到的,但存在的缺点也很多,希望在以后的教学中自己能够多多锻炼,慢慢的改掉自己的不足的地方,多多向有经验的前辈请教,希望自己的课能够越上越好。 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 算法设计与分析试题1 一、单选题(每题2分,共40分)1、0518号台风“达维”过后,要对各个单位捐款救灾情况进行分组制表,并进行积分排序,一般使用的专业电子处理软件有(B) A、powerpoing B、Excel C、Word D、Visual Basic 2、一位爱好程序设计的同学,想通过程序设计解决“韩信点兵”的问题,他制定的如下工作过程中,更恰当的是(C) A、设计算法,编写程序,提出问题,运行程序,得到答案 B、分析问题,编写程序,设计算法,运行程序,得到答案 C、分析问题,设计算法,编写程序,运行程序,得到答案 D、设计算法,提出问题,编写程序,运行程序,得到答案 3、交通警察到达案发现场,一般按照下列哪种思路开展工作(D) ①观察、分析现场 ②收集必要的信息 ③进行判断、推理 ④按一定的方法和步骤解决 A、②①③④ B、①③②④ C、③①②④ D、①②③④ 4、下面说法正确的是(A) A、算法+数据结构=程序 B、算法就是程序 C、数据结构就是程序 D、算法包括数据结构 5、下列常量说明中,符合语法的是(D) A、CONST color=red B、CONST const=10*5 C、CONST xl:=3.9; D、CONST color=”abcd” 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 6、VB中将两个字符串连接起来的运算符有:+和&,那么“123”+45结果是(A) A、168 B、12345 C、”123” D、45 7、字符串”ABCD”和字符串”DCBA”进行比较,如果让比较的结果为真,应选用关系运算符(B) A、> B、< C、= D、>= 8、设a,b,c,d,e均为整型变量,且a=13,b=2,c=10,d=3,e=2,则表达式“a-b*c d MOD e”的值是(A) A、13 B、-7 C、ll D、0 9、已知A,B,C,D是简单变量,且都已有互不相同的值,执行语句B=8;A=C;D=A;D=B;后,其值相等的变量是(B) A、A,D B、A,C C、C,B D、B,A 10、结构化程序设计由三种基本结构组成,下面哪个不属于这三种基本结构(B) A、顺序结构 B、输入、输出结构 C、选择结构 D、循环结构 11、下列结果为真的关系表达式是(C) A、”A”<100 B、23.5<20 C、23<45 AND 72>8 D、5 12、以下运算符中运算优先级最高的是(D) A、+ B、OR C、> D、13、整除运算时,若运算量为实数,则先取整,后相除,结果为整型或长整型。下列哪种是整除运算符(D) A、+ B、Mod C、/ D、精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 14、VB结束程序的运行可以单击程序窗体的“关闭”按钮,或单击VB工具栏上的“结果”按钮,哪种是“结束”按钮(B) A、B、C、D、15、图标控件属于哪种基本控件(B) A、标签 B、文本框 C、按钮 D、图像 16、要交换变量A和B之值,应使用的语句组是(B) A、A=B;B=C;C=A B、C=A;A=B;B=C C、A=B;B=A D、C=A;B=A;B=C 17、执行下面的程序段后,x 的值为(A) x=5 For i=1 To 20 Step 2 x=x+i5 Next i A、21 B、22 C、23 D、24 18、在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim I as integer,j as integer,x as integer x=4 For i=1 To 4 For j =1 To 3 x=x+6 Next j 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 Next i Print x End Sub 程序运行后,单击命令按钮,程序循环次数是(B) A、4 B、12 C、3 D、6 19、在窗体上画一个命令按钮,然后编写如下事件过程: Prevate Sub Command1_Click() Dim a as integer,b as integer, x as integer x=0 Do Until x=-1 a = InputBox(“请输入A的值”) a = Val(a) b = InputBox(“请输入B的值”) b = Val(b) x = InputBox(“请输入x的值”) x = cint(x) a = a+b+x Loop Print a End Sub 程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为(A) 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 A、2 B、3 C、14 D、15 20、在窗体上画一个文本框(其中Name属性为Text1),然后编写如下事件过程: Private Sub Form_Load() Dim i as integer,sum as integer Text1.Text=“" For i=1 To 10 Sum=Sum+i Next i Text1.caption=Sum End Sub 上述程序的运行结果是(C) A、在文本框Text1中输出55 B、在文本框Text1中输出0 C、出错 D、在文本框Text1中输出不定值 二、多选题(每题2分,共20分) 1、算法描述可以有多种表达方法,下面哪些方法可以描述“水仙花数问题”的算法(ABC) A、自然语言 B、流程图 C、伪代码 D、机器语言 2、程序设计语言的发展经历哪几个过程(ABC) A、机器语言 B、汇编语言 C、高级语言 D、自然语言 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 3、“闰年问题”的算法可以用哪些语言实现(ABCD) A、Basic B、Pascal C、C++ D、C 语言 4、算法应该具有哪些重要的特征(ABCD) A、有穷性 B、确定性 C、输入、输出 D、可行性 5、“今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?”这个问题属于(ABD) A、“韩信点兵问题” B、“鬼谷算法问题” C、“水仙花数问题” D、“闰年问题” 6、编制计算机程序解决问题的过程有:描述问题、算法设计、编写计算机程序和调试等,其中,对算法描述正确的是(AD) A、算法是解决问题的步骤 B、解题的步骤是有限的 C、算法就是解题的算式 D、算法是可以被表述和实现 7、以下属非法用户自定义标识符(常量和变量命名)的是(ACD) A、8ad B、ad C、_ad D、const 8、为了便于数据的表示与处理,VB提供哪几种基本数据类型(ABCD) A、数值型 B、字符串型 C、布尔型 D、日期型 9、日期型数据专门用来处理日期和时间,哪种属于日期型数据(AB) A、#2005/10/23# B、#2005/01/02# C、2005/10/23 D、“2005/1/2” 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 10、哪些文件属于某一VB工程中的文件(ABCD) A、.vbp B、.frm C、.ocx D、.bas 三、判断题(每题1分,共10分) 1、Visual Basic是美国微软公司于1991年推出的基于Basic的可视化程序设计语言。(1) 2、一个算法可以被认为是用来解决一个计算问题的工具。(1) 3、一个算法可以用多种程序设计语言来实现。(1) 4、计算机是人制造的,所以,它和人脑解决问题没有什么区别。(2) 5、字符串型数据是指用‘ ’括起来的一串字符。(2) 6、我们常说的程序设计语言就是程序设计。(2) 7、控件是应用程序的基本元素,与窗体共同构成应用程序的界面。(1) 8、面向对象的程序设计以对象为中心,以事件为过程的执行起点。(1) 9、MsgtBox函数反回值的类型为数值。(1) 10、Ctrl+T能打开属性窗口。(2) 四、简答题(每题10分,共30分) 1、说说人类和计算机解决问题的区别? 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 2、用流程图描述出“闰年问题”的算法。 算法描述: 输入年份Y IF Y能被4整除 THEN IF Y不能被100整除 THEN 输出“是闰年” ELSE IF Y能被400整除 THEN 输出“是闰年” ELSE 输出“不是闰年” END IF END IF ELSE 输出“不是闰年” END IF 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 3、在“神州号”程序中,我们只判断了飞船成功飞行的条件。当飞船速度继续加大时,飞船将达到第二宇宙、第三宇宙速度。。。。(见下表) 试编写程序,输入不同的飞船速度,判断它的各种飞行状况。 飞船速度(V)单位(km/s) 飞行状况 7.91<=V<11.19 飞船绕地球似做匀速圆周运动 11.19<=V<16.67 飞船离开地球的控制 ,围绕太阳转 V>16.67 飞船挣脱太阳引力飞出太阳系 编程: 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 方法一:Prevate Sub Command1_Click() Dim v As Integer v = InputBox(”请输入飞船速度的值“) If(v >= 7.91)And(v <= 11.19)Then Label1.Caption = ” 飞船绕地球似做匀速圆周运动“ Else If(v >= 11.19)And(v <= 16.67)Then Label1.Caption = ” 飞船离开地球的控制,围绕太阳转“ Else If v >= 16.67 Then Label1.Caption = ” 飞船挣脱太阳引力飞出太阳系“ Else If v <= 7.91 Then Label1.Caption = ” 输入数据错误!“ End If End If End If End If End Sub 方法二:(课本P36) Private Sub Form_Load() Dim v As single 精心收集 精心编辑 精致阅读 如需请下载! 演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 v = InputBox(”请输入飞船速度的值“) select case v case is>16.67 Label1.Caption = ”飞船挣脱太阳引力飞出太阳系“ case is >= 11.19 Label1.Caption = ” 飞船离开地球的控制,围绕太阳转“ case is <= 7.91 Label1.Caption = ” 飞船离开地球的控制,围绕太阳转“ Case else Label1.Caption = ” 输入数据错误!" End select End Sub 精心收集 精心编辑 精致阅读 如需请下载!第二篇:算法描述与设计教案
第三篇:《程序框图、顺序结构》教学设计
第四篇:《算法的设计与描述》教学设计
第五篇:算法设计与分析试题1