3.3.2编程解决问题 课件+教案 (3)

文档属性

名称 3.3.2编程解决问题 课件+教案 (3)
格式 zip
文件大小 413.3KB
资源类型 教案
版本资源 沪教版
科目 信息技术(信息科技)
更新时间 2016-07-13 17:24:23

文档简介

2.编程解决问题 教学设计
本节的课程标准内容:
(二)信息加工与表达(3)初步掌握用计算机进行信息处理的几种基本方法,认识其工作过程与基本特征。
本节课程标准分析:
1.通过具体实例,了解算法含义,理解算法是程序设计的核心。
2.了解计算机解决问题的基本过程,让学生体验用算法与程序设计解决问题的思想方法,即从遇到的问题出发,分析问题,发现问题的本质,选择、设计相应的算法,通过程序设计语言的使用来编制程序,最终实现问题的解决。
【教材分析】
本节位于《信息技术基础》(沪教版)的第三章《信息的加工与表达》第三节,教材通过演示并解剖小球做抛物线运动轨迹的计算机程序,来帮助学生了解利用高级语言解决实际问题的基本工作过程,然后以这段计算机程序为例,讲解用计算机程序解决问题的基本过程。使学生对计算机程序的结构和作用有初步的认识,为学生学习选修模块打下基础。但对学生来说,在短时间内编写程序很困难,学生很难在一节课中完整地体验“用计算机程序解决问题”这一过程。
【学情分析】
编程对于高一学生来说,是高深而神秘的。即使学生在初中甚至小学已经接受过系统的信息技术学习,但对于利用计算机来进行编程方面,绝大多数学生还是不熟悉。部分地区的初中教材中有涉及VB,但一般放在9年级,学生面临中考,一般没有很好的学习。因此,老师就要选择最容易上手的编程工具,避开复杂的代码,引导这些零起点的学生编写最简单的程序,使其亲历如何利用编程来解决现实中的问题这一过程。
【任务分析】
算法教学和数学是密切联系的。《课标》指出:算法教学要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题。所以教师选择的实例最好来源于生活,让学生深刻体会计算机是现代信息处理的基本工具。为此,我选择编写程序来分析“读心术”游戏为实例,该实例贴近生活,趣味性强,对学生具有一定的吸引力。
【教学目标】
1.知识与技能
掌握scratch的基本操作,能使用scratch来编写简单的程序;
初步了解什么是算法和常见的编程语言。
2.过程与方法
能归纳利用计算机程序解决问题的基本思想方法——“分析问题、设计算法、编写程序、调试运行、检测结果”,能设计多种算法来实现分析“读心术”。
亲历用计算机程序解决问题的过程。
3.情感态度与价值观
引导学生了解程序设计的更多知识,体验信息技术的强大魅力;
激发学生对计算机编程解决现实问题的学习欲望,提高学习兴趣。
【重点难点】
教学重点:计算机程序解决问题的基本过程。
教学难点:编写程序分析“读心术”。
【设计思想】
程序设计是信息技术教育的重要组成内容。新课标强调要“培养解决问题的能力,倡导运用信息技术进行创新实践”,因而,我认为程序设计的教学要尽量满足以下两点:一是选择的例子(载体)尽可能贴近学生实际,既要达到吸引学生的目的,又能体现技术的真实内涵;二是要让学生理解计算机解决问题的基本过程,即通过把抽象的问题分析成为具体步骤或方法,从而形成算法,然后根据算法设计进行编制程序。最终让学生体验到信息技术的强大魅力。
因为这节课的教学必须要让学生初步尝试编程。但实际上在一节课中无论让学生用QB还是VB来编程,都显得太难。为此,我选择scratch了作为该实例的程序设计语言。因为教材强调的是通过算法与程序设计解决实际问题的方法,对程序设计语言的选择不作具体规定。scratch充满童趣的编程界面,流程图即代码的特点,减少学生对编程的神秘感,有效地突破了教学难点。
【教学流程】
1.设置情境。
引出一个读心术的游戏。
这是吉普赛人的一个古老而神秘的游戏。你先想好一个10 ~ 99之间的数,把这个数的十位与个位相加,再把想好的数减去这个和。例如:你想的数是23,然后2+3=5,再然后23-5=18。在图表中找出与最后得出的数相对应的符号。把这个符号牢记心中,然后点击水晶球,奇迹就出现了……
2.分析问题。
(1)出示具体问题,引导学生分析。
水晶球真的会“读心术”吗?全班这么多同学,想好的数字肯定不会都相同,为什么选择的图案却一样?
通过讨论,推荐一个看上去很“笨”却很有效的办法:将所有的二位数逐一计算,根据结果来分析,最终找出原因。
计算机因为其计算速度快,最适合来解决这种重复的计算工作。那么如何用计算机程序来解决这个问题呢?
(2)分析问题。
给出一个数i,i=10;
取出i的十位上的数字;
取出i的个位上的数字;
计算i-十位上的数字-个位上的数字的结果,输出;
把i的值加上1;
重复执行①-⑤,直到i=100。
小结:现在,我们已经把抽象的问题分析成为具体步骤或方法。在程序设计中,我们把解决问题的方法和步骤称之为算法。它是“用计算机程序解决问题”的一个重要步骤。
3.编写程序
(1)介绍编程软件(scratch)演示:
教师打开scratch,按照算法,编写程序演示。
(2)学生实践:
使用Scratch编写分析读心术的程序。
如果学过VB或者其他的编程语言,也可以用其他的编程语言来编写这个程序。
(3)解决问题:
教师根据程序运行结果,分析读心术的数字原理。
一个二位数可以看作10x+y;
二位数减去十位和个位上的数字,也就是:(10x+y)-x-y=9x;
9x当然就是9的倍数了。
4.课堂总结。
(1)概括用计算机程序解决问题的一般过程。
(2)介绍常见的编程语言,分析适用计算机程序解决的问题的特点。
5.布置作业:
通过网络了解常见的编程语言,并用scratch编写“韩信点兵”。
【知识结构】板书设计
4.1用计算机程序解决问题
课件25张PPT。2.编程解决问题一个古老的读心术相传,这是吉普赛人的一个古老而神秘的游戏。请先想好一个10 ~ 99之间的数,把这个数的十位与个位相加,再用想好的数减去这个和。例如:你想的数是23,然后2+3=5,23-5的结果就是你最后的得数。
请在图表中找出与最后得数相对应的符号。把这个符号牢记心中,背三遍,然后点击水晶球,奇迹就出现了……奥秘在哪里?全班这么多同学,想好的数字肯定不会都相同,为什么记住的图案却一样?这个神奇的水晶球,真的读懂了大家的“心”?分析可以用数学公式推导,但是如何简单地去推导这个公式?推荐一个办法:将所有的二位数逐一计算,根据结果来判断原因。办法有效,但是太笨了:要计算90个数字!
读心术游戏涉及到的数字是有限的,我们可以一一验算。
根据结果,找出规律,然后再推导出数学公式,这是一个完全可行的办法。前提:我们需要一个聪明的傻瓜!计算机的特点计算准确、速度快——聪明;
可以按照我们规定的指令重复运算 ——傻瓜,不会拒绝,不会生气。计算机如何计算结果?给出一个数i,如i=88;
取出i的十位上的数字(8);
取出i的个位上的数字(8);
计算(i-十位上的数字-个位上的数字)的结果,输出(72);如何让计算机重复工作?给出一个数i,i=10;
取出i的十位上的数字;
取出i的个位上的数字;
计算(i-十位上的数字-个位上的数字)的结果,输出;
把i的值加上1;
重复执行②-⑤,直到i=100。分析问题,设计算法我们已经把抽象的问题分析成为具体步骤或方法。在程序设计中,我们把解决问题的方法和步骤称之为算法。它是编程之前必须完成的工作,也是用计算机编程解决问题的一个重要步骤。 选择计算机编程工具C、C++;
VB;
C#;
JAVA;
Pascal;
Delphi;
……
十分钟学会编程秘技!编程工具(Scratch)介绍Scratch是一款由麻省理工学院设计开发的一款面向儿童的编程工具。针对 8 岁以上孩子们的认知水平而设计开发。麻省理工学院是美国一所综合性私立大学,有“世界理工大学之最”的美名,在全世界都有非常重要的影响力,培养了众多对世界产生重大影响的人士,是全球高科技和高等研究的先驱领导大学。程序界面练习使用Scratch编写分析读心术的程序。
如果学过VB或者其他的编程语言,也可以用其他的编程语言来编写这个程序。读心术的奥秘原来都是9的倍数!读心术后面的数学知识一个二位数可以看作10x+y;
二位数减去十位和个位上的数字,也就是:(10x+y)-x-y=9x;
9x当然就是9的倍数了。用计算机程序解决问题的过程分析问题设计算法编写程序调试运行解决问题读心术研究——VB代码Dim i, one, ten, result
i = 10
Do While i < 100
one = i Mod 10
ten = (i - one) 10
result = i - ten - one
List1.AddItem result
i = i + 1
Loop读心术研究—— C语言代码 int i, one, ten, result;
i=10;
while (i<100)
{
one=i % 10;
ten=(i - one) / 10;
result=i-ten-one;
printf("%dn",result);
i++;
}学会真正的读“芯”术读懂计算机——了解计算机解决问题的过程;
读懂问题——分析问题,设计算法(算法是程序的灵魂);
读懂程序——至少会一门编程语言(如scratch、VB等)。具备使用编程来解决问题的意识哪些问题最适合用计算机编程来解决?
复杂的计算;
重复而有规律的操作;
在有限的步骤中完成;
例子:
圆周率计算、成绩统计、密码分析等等。最后的问题“读心术”游戏真的是吉普赛人祖传的吗?请说出理由。作业通过网络了解常见的编程语言,并用scratch编写“韩信点兵”。
韩信带1500名兵士打仗,战死四五百人。他让士兵站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人,然后马上说出人数。请你算出剩余的士兵人数。学会编程,做计算机的主人!