4.1 用计算机程序解决实际问题
1教学目标
认知:初步掌握编制程序解决问题的过程
技能:1、能在高级语言编程环境操作执行一段简单的计算机程序代码。
2、初步理解计算机程序代码的执行目的。
情感:培养学生坦频道学习程序设计的兴趣。
2学情分析
我们的学生已经可以熟练使用常用应用程序完成简单的信息加工任务,对程序有模糊的感性的认识。对程序与计算机的关系没有理性分析。本节课之前学生已学完了高中信息技术必修前三章,初步掌握信息获取和部分信息的加工方法,具备了使用常用应用程序解决问题的能力,但本节内容涉及的是面向对象高级编程语言,对于完全没有接触过编程的高一学生来说有一定难度。同时学生因为在初中没有接触过程序设计,对用计算机程序解决问题普遍陌生,对自己编程来解决问题,既感觉新奇有趣,又担心程序设计的技术难度,自己不能适应。鉴于这样的情况,学生不可能在一节课的时间内完全认识计算机编程,但让他们在修改程序的基础上,在VB中执行一段简单的计算机程序,感受用计算机解决问题的魅力,激发学生学习程序设计的兴趣,是完全可以达到的。
3
重点:计算机工作原理 程序代码的作用
难点:1、VB的初步使用
2、利用编制计算机程序解决问题的意识
4教学过程
活动1【导入】激情导入
生活中学生QQ号被盗,信箱信息泄漏引出刘丽的妈妈遇到的问题及解决办法,引出:用编制程序解决问题。板书课题。用两种方法解密m1.txt内容。说明用计算机程序更快,更准确。
学生实践操作:
1、学生用<密文与明文>对照表解密m1.txt
2、使用解密.exe解密m1.txt
教学意图是:
1、通过比较很直观的得出结论,顺理成章引出课题。
2、初步了解使用计算机程序解决问题的优势
活动2【讲授】认识计算机与程序
一、认识计算机与程序
同学们平时都使用过程序也看到了老师用解密.exe这个程序来解密,但有没有想过这个程序在计算机中是如何运行的?计算机与程序又有什么关系?
(一)
1、计算机基本和组成及其关系。
2、计算机中数字电路的表示方法。
3、计算机程序设计语言有哪些。
4、做游戏(见课件)
学生表述完自己的观点后,教师总结
学生活动:1、阅读教材4.1.1内容、思考问题。P74
2、表述自己观点,结合教师讲解,理解计算机工作原理。
3、做游戏 (1时男,拍1下,0时女拍2下) 让学生认识计算机与程序之间的关系
做游戏的意图在:通过游戏的方式让学生更容易理解计算机与程序的关系
活动3【活动】体验程序的作用及其编制环境
A、任务一(VB运行环境,看微课资源《VB运行环境》P76
1、尝试运行加密.frm,查看代码,介绍VB编程环境。
2、计算机就是按顺序执行这段代码,来完成任务的,一起来了解一下加密解密原理。
B、任务二(参照教材77页图4-7)
1、学生运行VB程序,打开加密.frm将其修改为解密程序,生成解密.exe保存到桌面上,对m1.txt进行解密。
2、分组完成:在E盘新建文本文档 aa.txt,打开输入内容并保存,20字以内。用加密程序对aa.txt文件加密。让同组里另一同学用解密程序对你刚加密的aa.txt文件解密。
3、检测学习成果,完成任务。
4、展示学生提交加密文件并解密。
C、任务三(修改程序)
1、在VB中打开加密程序后将代码第10行的10改为20后将文件生成为.EXE文件。并对前面的aa.txt文件进 行加密。
2、用解密程序尝试能否将刚才加密的文件进行解密,不行的话对在VB中打开解密文件原程序,和加密程序比较一下,看看该如何修改才能够进行解密。
学生活动:
1、尝试运行:加密.frm
2、参照教材修改加密程序将其变解密程序,并保存。
3、跟随教师总结VB不同保存方式适用阶段。在运行的过程中有问题还可以参照微资源《VB运行环境》进行自我学习。
4、在E盘新建文本文档aa.txt,使用加密程序给自己的文件加密并提交。
5、分组另一同学用解密程序对aa.txt文件解密。
6、学生修改加密程序第10行中的10为20,再对aa.txt加密,另一同学解密。
设计意图:
1、学生初次体验程序,亲历VB的编程环境。感受程序的魅力,初步树立自己编写程序的信心,激发兴趣。
2、在理解加密解密原理基础上修改程序更容易。
3、通过游戏进一步说明计算机与程序的关系,活跃学习氛围
4、通过展示学生提交加密文件,进一步增强学习编写程序的自信心,体验成功的快乐。
5.程序本身是什么样子、有些什么内容我们是看不到的,下面我们通过在VB中输入应用程序来体验一下程序的作用和它的编制环境。
6、为进一步加深学生对程序代码的理解,设计任务三,通过修改程序代码,调试程序加深对程序的认识。
使用加密程序给自己的文件加密并提交。
活动4【活动】(三)拓展提升
1、在桌面上找到,函数图像.txt文档,将其中的代码复制,粘贴到VB代码窗里,调试并运行显示结果。
2、你想知道自己名字的机内代码吗?
看书P78页,LX1.frm
自己输入,调试找到自己名字的机内代码。
3、学生演示作品。
学生活动:
1、粘贴,调试运行程序。
2、根据已有知识经验,修改程序。
3、展示自己作品。
4、有学习好的学生可进行第二个任务。
设计意图:
1、将本课内容与学生的数学学习联系在一起,让学生充分理解编制程序是为了解决某些问题,感受它的强大作用。
2、培养学生发现问题,尝试解决问题的能力。
活动5【作业】三、分析及总结
通过上述的学习我们知道,计算机机是不会自己解决问题的,但它可以在人们编好的程序指示下帮助人们解决问题。要想利用计算机解决问题,人们可以使用现成工具软件,也可以根据问题的需要,通过设计程序来解决问题。程序一旦编写并调试通过,可以重复应用来解决问题。
1、通过总结,将知识系统化。
2、引导学生关注生活,要用计算机解决生活中的问题意识。
活动6【作业】课后作业
运行光盘中的”口令.vbp“程序,查看其功能。并尝试修改口令密码。
注:在引入新课时,用两种方法解密,参考了吴忠高级中学周吉萍老师设计
课件16张PPT。4.1 编制计算机程序解决问题 第四章 信息的加工与表达重庆市渝西中学 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神在创造世界的时候,在其中一根针上从下到上穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片。一次只移动一片,不管在哪根针上,小片必在大片上面。当所有的金片都从穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,梵塔、庙宇和众生都将同归于尽。 重庆市渝西中学 不管这个传说的可信度有多大,如果考虑一下把64片金片,由一根针上移到另一根针上,并且始终保持上小下大的顺序。这需要多少次移动呢?运用数学中的递归的方法。不难证明f(n)=2^n-1。
n=64时,
f(64)= 2^64-1=18446744073709551615 假如每秒钟一次,共需多长时间呢?一年大约有 31536926 秒,计算表明移完这些金片需要5800多亿年,比地球寿命还要长,事实上,世界、梵塔、庙宇和众生都已经灰飞烟灭。
重庆市渝西中学 程序体验
任务一:同学们运行汉诺塔,移动5个盘子,竞赛看哪位最快?
用计算机可以快速地解决一些人力所无法的问题,这是计算机的优势。
在学习编制计算机程序解决问题之前,我们先来进一步认识一下计算机和程序。重庆市渝西中学 本节首页重庆市渝西中学 计算机基本工作原理思考:
1、计算机各部件如何配合工作?
2.计算机中数字电路的表示方法是怎样的?
计算机是一种数字化电子设备,在工作时每段电路只有两种状态,可形象地称为开和关。
输入计算机时把1、0代码直接转换为开关电路,就可以让计算机工作了。重庆市渝西中学 逐条顺序执行预先存放在存贮器中指令 4.1编制计算机程序解决问题 冯诺伊曼:存储程序控制原理输入输出存储器预先将程序输入存储器计算机运算器 控制器中央处理器重庆市渝西中学 0100010001 01101010101 1000
0100010001 01101010111 1001
0100010011 01101010101 01101010111 Mov ax,8
Mov bx,10
Add ax,bx Y=8
X=Y+104.1编制计算机程序解决问题指令序列的集合 程序高级语言汇编语言机器语言重庆市渝西中学 BASIC(Beginners'All-purpose Symbolic Instruction Code)
“初学者的全方位符号式指令代码”,
给初学者使用的程序设计语言 4.1编制计算机程序解决问题高级编程语言有:BASIC, PASCAL,C,VISUAL BASIC,FORTUAN….重庆市渝西中学 刘丽的妈妈是公司经理,需要对业务信函邮件进行加密……她的表哥建议可以从一些工具类软件中找加密软件……刘丽想自己来编写加密程序来对邮件加密,并钻研了计算机编程……任务一、先解决文件中的文本内容的加密重庆市渝西中学 任务二:利用加密还原程序,解密一个加密文件!重庆市渝西中学 前面我们演示操作的加解密程序和汉诺塔程序都是用计算机程序设计语言VB编写的,下面我们就来看看这几段程序的具体内容。重庆市渝西中学 探究加密程序,如何加密? 打开素材中的加密代码:在工程1窗体中阅读代码秘密:把每个字符的编号(ASC码)做相应修改。例如:+3,算法: 显示出新编号相对应的字符 a-d A-D o-r重庆市渝西中学 Private Sub Command1_Click()
yw$ = Text1.Text 接收用户输入的字符
n = Len(yw$) 用函数len()计算用户输入的字符个数
For i = 1 To n
yz$ = Mid$(yw$, i, 1) 用函数mid()读取出Text1中的第i个字符
xz$ = Chr(Asc(yz$) - 10) 用函数asc()计算出字符的编号
减10得到新编号
再用chr()转换成对应的字符
xw$ = xw$ & xz$
Label2.Caption = xw$ 把新字符连接成新文本串显示在Label2中
Next
End Sub
重庆市渝西中学 任务三:探究解密程序Private Sub Command2_Click()
yw$ = Label2.Caption
n = Len(yw$)
For i = 1 To n
yz$ = Mid$(yw$, i, 1)
xz$ = Chr(Asc(yz$) + 10)
xw$ = xw$ & xz$
Label2.Caption = xw$
Next
End Sub下节课见!