《QBASIC程序的实现.docx》由会员分享,可在线阅读,更多相关《QBASIC程序的实现.docx(20页珍藏版)》请在三一办公上搜索。
1、QBASIC程序的实现QBASIC程序的实现 一、学习目标 1了解机器语言和高级语言各自的特点。 2了解什么是计算机程序。 3了解程序设计的基本步骤。 二、教学重点 程序设计的基本步骤。 三、教学难点 程序设计的应用。 四、教学方法 1演示法。 2实践法。 五、教学手段与教学媒体 多媒体网络教室。 六、教学过程 教学内容、步骤与方法 1机器语言和高级语言各自的主要特点 机器语言:与计算机内部结构有关,不通用,其程序不需“翻译”可直接执行。 高级语言:与计算机内部结构无关,通用,其程序需要“翻译”后才可执行。 2计算机程序 用计算机语言描述的解决问题的程序。 3程序设计的基本步骤 (1)问题分析
2、:对问题详细分析,弄清输入(已知)条件和要求输出的结果,明确解决问题的关键和途径。 (2)算法设计:根据分析结果,确定解决问题的方法和步骤,并描述出来。 (3)程序实现:根据描述的算法编写程序并上机通过。 三、应用实例 1判断下列说法的正误 (1)机器语言是硬件而高级语言是软件。 (2)各种计算机语言编写的程序计算机都可直接执行。 解: (1)说法错误。 分析:计算机语言都属软件,故机器语言和高级语言都是软件。 (2)说法错误。 分析:只有机器语言编写的程序计算机可直接执行,而各种高级语言和汇编语言编写的程序都要先“翻译”成机器语言程序后执行。 2房租收费标准为,住房面积在40m2及其以下的0
3、8元m2;超过40m2的部分为2元m2。写出收房租的算法 解:设住房面积为x,房租为y,那么 据上分析,收房租的算法为: (1)输入x (2)判断是否x=40? 是则)y08x,否则y08 40+2(x一40) (3)输出x,y (4)结束 四、练习实践 1单项选择题 (1)无须了解计算机内部结构就可以使用的计算机语言是( )。 A机器语言 B汇编语言 C高级语言 (2)( )是计算机硬件。 A机器语言程序 BCPU C操作系统 (3)BASIC语言是属于( )。 A机器语言 B高级语言 c汇编语言 2写出解决下列问题的算法 (1)输入底半径R、高H,求圆锥体的底面积S和体积V。 (2)解一元
4、二次方程ax2+bx+c=0(设d=b24ac,二实根为x1、x2;要求如果d0,那么输出“N”,表示无实根,否则求出二实根并输出)。 七、教学后记: 第二节 QBASIC语言基础知识 一、学生特点及教学内容分析 经过了第一节的学习,学生对QBASIC语言有了一个基本的认识,即计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。 二、教学目标 1.知识与技能: 了解计算机语言、计算机程序的基础知识。 了解BASIC语言的基本运用规则。 了解BASIC的函数和变量。 2过程与方法: 能准确运用QBASIC语句的格式 能编辑简单的QBASIC程序。 3
5、.情感态度价值观: 培养良好的生活习惯、与人的沟通与合作、对他人的尊重、面对困难的毅志力与自信心的树立及时间的合理分配和利用。 培养学生信息素养,培养学生的程序员基本道德操守。 培养学生编写程序的兴趣。 三、教学重点、难点 重点: QBASIC语言的基础知识。 编写简单QBASIC程序语句。 难点: 正确理解程序语言QABSIC的常量、变量与函数的定义与作用; 正确理解程序语言QBASIC的变量的数据类型; 四、教学方法 教师讲解、演示、启发;学生上机实践体验;教师个别辅导。 五、教学过程 教师讲解导入:计算机能做很多的事情,包括各种控制活动, 它们都是在程序的控制和指挥下进行的,可以这么说:
6、离开了程序,计算机什么也干不了。程序是用计算机语言描述的解决问题的步骤。人们只有编制出了程序,计算机才会在程序的控制下按我们的意愿忠实地为我们服务。因此,掌握程序设计的方法,就能使我们更好地驾驭计算机这个智力工具,这也是信息社会中,对人们较为有用的、比较重要的能力之一。要培养自己的程序设计能力,首先应了解程序设计的一般步骤和基本方法。 板书课题。 1QBASIC程序的组成 一个QBASIC程序由若干行组成,程序按照语句排列顺序执行。每一行称为一个语句行,一行中可以包含一个语句,也可以包含多个语句,若一行中包含多个语句,语句间应用“:” 分开。注意由于纳英特机器人的微电脑比我们使用的普通电脑处理
7、能力差,在它的QBASIC子系统中规定,一行中只能有一个语句。 每个语句都以一个语句定义符开始,如程序中的stop、dim for 等都是语句定义符。语句定义符用来标识语句的性质,告诉QBASIC执行什么样的功能,语句定义符后面一般还跟有语句体,表示语句执行的对象。如dim i as int 说明变量i是一个整数型变量 一个QBASIC程序一般以“END”语句结束。程序执行到“END”语句时即停止执行。一个程序中可以有多个“END”语句,在程序执行时遇到任何第一个“END”语句都会停止执行。如果程序中只有一个“END”,“END”语句应放在整个程序的最后。但在纳英特机器人QBASIC子系统中,
8、没有END命令,我们用STOP来停止机器人动作。 一个程序可以只包括主程序,也可以包括一个主程序及若干个子程序或函数。 2QBASIC常量、变量、函数介绍 整数:-32767到32767之间的整数;单精度浮点数:可以精确到小数点后7位;双精度浮点数:可以精确掉小数点后15位;字符串:是一个不超过32767个字符的序列。 函数相当于数理化中的计算公式。在QBASIC中,开发人员把一些常用的算法编成一个个标准程序放在解释程序中,称为标准函数。我们编写程序时,只要按约定写出函数名及它的自变量就可以随时调用了。如图5-1程序中的motor,sleep 就是函数名,而其后的数字则是自变量的值。如 mot
9、or 0,50 表示0号马达以50转速前进; motor 0,-50 表示0号马达以50转速反转; sleep 2.0 表示延时2秒。 本节注意点: 字符串需要用引号引起来 变量的数据类型必须在使用前定义 3QBASIC语言的语句格式 QBASIC的基本语句一般格式为: 语句定义符 语句体 、变量说明语句 格式:dim 变量名as 变量类型 举例:dim i as int 解释:定义变量i为一个整数型数字变量。 循环语句 格式: FOR 循环变量初始值 TO 终止值 STEP 步长 命令串 NEXT 循环变量 举例: for i=1 to 4 step 1 motor 0,50 motor 1
10、,50 sleep 2.0 motor 0,-50 motor 1,50 sleep 0.6 next i 解释:第一行程序表示给循环变量i赋初始值1,终止值是4,步长是1,这是循环的开头。第六行是循环体,指挥机器人前进2秒,左转0.6 秒。 、结束语句 格式:stop 功能:终止程序执行 课堂练习 1.将下面的QB表达式写成数学算术式: +2)/ *9/7/2 5+40/ 2.在计算机上验证上面的作业。 方法:进入QBASIC系统后,键入一个?号,空一格,然后将作业题输入,输入后按F5显示答案。 五、探索活动 请编依照本课实例,试着编写一段程序,让机器人实现走“8”字。 在一个表达式中可能包
11、括多个运算符,按以下规则优先顺序: 正负号最优先,它是单目运算符; 先乘除,后加减; 乘方优先于乘除; 函数优先于加减,但次于乘除; 可以用括号改变以上优先顺序,括号最优先。 2.不同类型数据的混合运算 QBASIC规定: 同类型的数据互相运算,结果值的类型不会变。 整型数据与实型数据互相运算,其结果为实型。 整型与长整型运算的结果为长整型。 单精度与双精度运算的结果为双精度型。 注意:数值型数据与字符串型数据不能进行混合运算。 六、教学反思 对于计算机语言,学生理解起来还有一定难度,只有通过多动手实践让学生慢慢体会到它的作用。在这样一节入门课里,学生通过学习理解了QBASIC语言中的常量、变
12、量的概念,了解了QBASIC的标准函数及表达式,学会了程序的输入和运行。内容虽多,但学生不会感觉到困难。整堂课,学生在老师巧妙地指导下,轻松、自由、有趣地学习了信息知识,提高了信息处理能力。 我试图让学生在运用的过程中逐步学习各个语句,先实践后理论,先知道解决问题的方法再知道问题是怎么解决的。此方法的一个问题在于如何将学到的语句整合为一个知识体系。由各个范例程序中学来的语句如何脱离范例而得到应用。 第三节 顺序结构的QBASIC程序 一、学情分析 通过前两节的学习,学生已基本了解了QBASIC程序的工作环境,学会了程序的输入、运行和保存,同时也对QBASIC语言中的常量、变量的概念及标准函数和
13、表达式有了初步掌握,本节主要是掌握几种常用的顺序结构语句,相对来说是最简单的程序结构,所以要充分抓住这一契机,激发学生的学习兴趣,为后面的学习打下坚实的基础。 二、教材内容分析 这是本模块的第三节内容,相对后三节来说,本节的内容是最简单,也是学生最容易学懂的一节。 三、教学目标 知识与技能 1掌握赋值语句的用法; 2掌握输出语句的用法; 3理解程序的顺序结构。 过程与方法 1能准确运用QBASIC语句的格式; 2能编辑简单的顺序结构的QBASIC程序。 情感态度价值观: 1培养良好的生活习惯、与人的沟通与合作、对他人的尊重、面对困难的毅志力与自信心的树立及时间的合理分配和利用。 2培养学生信息
14、素养,培养学生的程序员基本道德操守。 3激发学生编写程序的兴趣,体验成功的快乐。 四、教学重难点 重点:赋值语句的用法、输出语句的用法。 难点:编写简单的顺序结构的QBASIC程序。 五、教学方法和教学手段 1教学方法: 创设问题情境,采用探索讨论法进行教学,学生主动参与提出问题、探索问题和解决问题的过程,突出以学生为主体的探究性学习活动。 2教学手段: 借助计算机在图形动态演示方面的优势,在计算机上进行操作、运行。 六、教学课时 1课时 七、教学过程 提出问题,引入新课 在前一节中,我们使用计算机做了一些算术运算,其实这些工作计算器也会做。大家知道,计算机的功能比计算器要强得多,那么,计算机
15、的这些功能是怎么来实现的呢? 教师讲解:计算机在帮助我们解决复杂问题的时候,一般都是在程序的支持下工作的。怎样的程序是顺序结构呢? 学生就字面含义讨论后回答。 教师小结:任何一个复杂的程序都是由简单的基本程序构成的。基本程序结构有顺序结构、分支结构和循环结构。一个顺序结构的程序,是按语句出现的先后次序执行的,程序中间没有引入任何分支或循环重复的操作。顺序结构是最简单的程序结构。 新课 1顺序结构的主要语句 师:主要包括赋值语句、输入语句、输出语句。 任务一:LET赋值语句 教师出示简单的程序举例: REM 计算并输出X的平方和算术平方根 INPUT X LET Y=X2:Z=SQR(X) PR
16、INT Y,Z END 提问1:观察上述程序,说出计算结果。 提问2:请总结出LET赋值语句的格式: 师小结并板书:LET 变量=表达式 教师提示:请认真阅读书116页“注意”内容,加深理解和记忆。 试一试:输入以上示例程序,核对结果。 教师巡回指导。学生完成。 任务二:INPUT输入语句 学生练习:参照以上示例总结INPUT语句的格式 教师板书:INPUT “提示字符串”;输入变量列表 做中学:学生自主完成P117“做中学”。 教师巡视指导,参与学生讨论。 自主探索:打开保存过的程序文件A1、A2,阅读并运行程序,体会思考LET赋值语句、INPUT输入语句在程序中的作用以及各自的特点,并试着
17、把它写下来。 LET赋值语句的特点: 。 INPUT输入语句的特点: 。 任务三:PRINT输出语句 学生练习:参照教师示例总结PRINT语句的格式 教师板书:PRINT 输出项列表。 做中学:学生自主完成P118“做中学”。 多学一手:请认真阅读书118页“多学一手”,并自主练习,观察运行结果。 任务四:P118页“自主探索”。 请在电脑上运行以下各程序,将运行结果填写在书上。 (1) a=5 b$=”5*6 = ” s=a*6 PRINT b$;s (2) a=3 b=6 a=b+1 b=z PRINT “a=”;a;”b=”;b (各小组间交流,教师对操作速度较快的同学予以表扬,对个别基
18、础较差的同学给予及时鼓励,帮助其树立信心,争取更大的进步。) 2顺序结构程序示例 任务五:以小组合作形式完成:试编写一个小学生加法心算练习的程序。 教师讲解提示:利用计算机完成工作是从问题开始的,设计解决问题的方法和、步骤是关键!设计出的算法可以用自然语言和流程图两种形式描述。 请同学们认真阅读书119页加法程序流程图,结合要求完成任务。 3课堂练习 P119页“做中学”; P120页“自主探索”,将结论写在书上空白处。 4课堂小结 说一说顺序结构QBASIC程序的语句格式及特点。 八、作业布置 1下面语句的写法是否正确?如有错误,请改正。 LET x+y=5 LET 8=x LET a=a+
19、2 LET a=b=3 PRINT x=3 PRINT “y=3” 2.P120页“实践与提高”第2题。 九、附录 多媒体网络教室、QBASIC程序 十、教学反思 从课堂效果来看,整堂课气氛融恰,学生兴趣浓厚,表现积极,师生交流。由于内容相对简单,绝大多数学生都完成得较好,虽然课堂练习增加了难度,但因为采用了小组合作的方式完成得也不错。今后需要注意的就是要对个别基础较弱的学生给予更多的动手实践机会,以增强他们的自信,从而提升整体水平。 第四节 选择结构程序语句设计 一、教学目标 1、 掌握选择结构程序中常用的Qbasic语句。 2、 掌握选择结构程序设计方法。找教案 3、 能利用选择结构程序设
20、计解决简单的实际问题。 二、教学重点: 1选择结构的语句及功能 2选择结构中程序设计方法。 三、教学方法:讲授法,对比法,分组讨论法。 四、教学时间:2课时 五、教学教程: 引入新课:前面我们学习了顺序结构程序设计,利用顺序结构只能设计一些较简单的程序,如果要处理复杂的问题,就需要采用另外两种基本结构:选择结构和循环结构。选择结构,是一种常用的主要基本结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特性是:无论分支多寡,必择其一;纵然分支众多,仅选其一。 讲述新课 l 单行条件选择语句IF 1、单行结构条件语句IFTHENELSE 格式:IF THEN ELSE 功能:最简单
21、的条件选择语句,用来进行条件判断,使语句有条件的执行。 说明: 1)当为真时,则执行。 2)ELSE语句可以省略。 3)当为假时,而且语句中有ELSE语句则执行。 4)IF、THEN、ELSE必须在同一行上。 2、示例 A、 输入x的值,计算y的值。 REM 程序名为:eg1.bas INPUT “请输入x的值:”,x IF x=0 THEN Y=1+X ELSE Y=1-2*X PRINT Y=;Y END 例: 求一元二次方程Ax2+Bx+C=0(A0)的实数根。 分析:写写出程序的流程图,参考流程图来写程序。 程序清单如下: INPUT A,B,C D=B*B-4*A*C IF D=5时
22、,输入x的值并计算表达式y=2x-5的值。 INPUT x IF x=5 THEN y=2*x-5 找教案 PRINT y END 2、 输入a、b、c三个数,要求将绝对值最大者打印出来。 INPUT a,b,c IF ABS(a)ABS(b) AND ABS(a)ABS(c) THEN PRINT “绝对值最大的为”;a IF ABS(b)ABS(a) AND ABS(b)ABS(c) THEN PRINT “绝对值最大的为”;b IF ABS(c)ABS(a) AND ABS(c)ABS(b) THEN PRINT “绝对值最大的为”;c END l 块结构条件语句IFTHENELSEEN
23、D IF 1、格式:IFTHEN ELSEIF THEN ELSEIF THEN ELSE END IF 2、说明 THEN必须放在IF或ELSEIF语句的尾部。 3、举例 :编写程序,任意输入一个整数,判定该整数的奇偶性。 讲解其中的一种方法,让学生想第二种方法。 Input “Enter a number:”;n IF n MOD 2=0 THEN PRINT n:“is even”ELSE PRINT n:“is odd” END 或者用块IF语句: INPUT “Enter a number:”;n IF n MOD 2=0 THEN PRINT n;“is even” ELSE PR
24、INT n;“is odd” ENDIF END 六、小结 七、作业:课后练习1-4题。 教学后记: 第五节 循环结构的QBASIC程序 一、教学对象分析 通过前几节的学习,学生已经对顺序结构程序和选择结构程序有关的语句有了一定的了解,如果要将某项任务转化为重复多次去执行某一项操作时,学生用前面所学的知识能否完成,学生没有整体概念,因此可以在在地激发学生探求新知的欲望。 二、教学内容分析 本节是节模块的最后一节,虽然看起来较难,但在解决实际问题的过程中是比较容易的,主要掌握的内容就是FOR-NEXT语句的用法。 三、教学目标 知识与技能 1理解循环结构语句的用法; 2看懂循环结构的程序; 3理
25、解循环结构在程序中的作用。 过程与方法 通过FOR/NEXT语句的学习,理解循环过程,能写出简单的循环程序。 情感态度价值观 激发学生学习热情,培养学生学习的积极性以及学生分析问题,解决问题的能力。 四、教学重难点 重点:掌握FOR/NEXT循环语句的格式,并能运用它来编写程序。 难点:解决问题的思路和方法,流程图制作,确定循环变量和循环体。 五、教学课时 2课时 六、教学过程: 复习引入: 同学们,我们学习了QBASIC语言的一些基本语句,下面我们一起来编写一个程序:打印5个竖排的“*”。 设问: 同学们做得很好,那么,我想画10行,100行,1000行“*”呢?难道就这样顺序写下去吗?这样
26、编写是不是太繁琐了。如果能让计算机去完成这部分重复的内容,而我们只要告诉计算机重复操作的次数就可以了,这个愿望能否实现呢?能!通过我们今天学习的FOR/NEXT循环语句,就可以很容易的实现这个愿望。 学生稍做思考并编写出程序: CLS PRINT “*” PRINT “*” PRINT “*” PRINT “*” PRINT “*” END 设计思路通过复习,设置简单的任务,激发学生的求知欲望;通过设问,导出新课,说明循环的重要性。 新课学习 1任务一:观察并总结FOR-NEXT语句格式。 教师讲解:循环结构程序主要使用计数型语句FOR-NEXT语句。 教师示例:给出上例的程序代码,并通过流程
27、图加以理解 : CLS FOR I=1 TO 5 STEP 1 PRINT “*” NEXT I END 分析: 循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。但重复一般都是有条件的,即在满足FOR语句中的条件下才执行循环体,否则退出循环体。 学生根据上述例子,讨论总结一下FOR-NEXT语旬的基本格式。 学生回答后,教师小结并板书: FOR循环变量名=循环变量初值TO循环变量终值STEP循环变量增量 语句序列 NEXT 循环变量 说明: 1)当步长为1时,STEP 1可省略不写; 2)语句序列中可以含有任意多条语句,也可无 任何语句,称为空循环; 3)语句
28、序列中可以含有循环结构; 4)FOR语句与NEXT语句必须成对出现,缺一不可。 5)FOR语句与NEXT语句的循环变量是同一变量。 6)有时需中途退出循环,这时用EXIT FOR命令。 在上例中,FOR语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化,从而控制循环的次数;I是循环变量,它的值在执行过程中是变化的,它的初值为1,终值为5,循环增量为1。 2设置“陷阱”,深化理解语句格式 1)学生分成七组讨论,然后每组完成一题,发现错误并纠正。 2) 教师收集结果并作分析。 3请同学们阅读下面程序,写出结果并上机验证,画出流程图,说明程序功能。示题: for i=1 to 3 step
29、 1 print i next i end 程序执行过程分析 第几次 循环 循环开始时i的值 执行NEXT之后i的值 i与终值 比较 执行下一次循环否? 1 2 3 1 2 3 2 3 4 3 执行 执行 停止执行 4阅读下面程序,深化对程序的理解。 任务二:P 129“做中学” 要求:1)做完后画出流程图; 2)认真阅读书最下面的”注意”内容,加深理解。 5突破难点,尝试独立编程。 任务三:P130页“做中学”,将运行结果与书中结果做比较。 自主探索:自主完成P130页内容,将运行结果填写在书上,并与同组同学比较结果。 任务四:编写程序计算S=1+2+3+4+100的值 学生小组合作完成,先
30、讨论画出流程图,再编写程序,并在电脑上运行,观察结果。 教师巡回指导,参与学生讨论,学生完成后各小组间评价。 6课堂练习 任务五:编写程序从键盘上任意输入10个数,求其中的正数之和。 小组合作完成,并画出流程图,写出程序并运行,验证结果。 7教师根据完成情况对各小组进行评价。 8课堂小结 请同学们说一说什么时候用哪种结构比较合适? 9实践与提高 完成课本提高练习的上机验证工作,将结果写在书上。 七、作业布置 完成P137“回顾与反思”。 八、课堂练习 二、学习指导 1计数循环语句 (1)格式:FOR 循环变量=初值 TO 终值 STEP 步长 语句组(循环体) NEXT循环变量 FOR语句为循
31、环说明语句,NEXT语句为循环终端语句。 FOR和NEXT后面的循环变量必须相同。 初值、终值和步长都是数值表达式。 步长为1时,STEP可省略不写。 (2)功能:根据FOR语句说明设定的循环次数重复执行循环体。其中循环变量超过终值的规则是:步长为正,大于终值;步长为负,小于终值。 一般地循环次数可用下列公式计算: 循环次数=INT(终值一初值)步长)+1 2条件循环语句 (1)格式:DO WHILE条件 语句组(循环体) LOOP (2)功能:当条件成立(即为真)时,执行DO和LOOP之间的语句组(循环体),否则终止循环,转到LOOP语句的下一句执行。 3计数循环程序设计关键是确定循环的次数
32、和重复循环的操作;条件循环程序设计的关键是确定循环的条件和重复循环的操作 三、应用实例 1编程求1+2+4+8+16+2n(n64)的值 解:(1)此题的计算公式是一个和式,加数为2的乘方,可考虑用累加求和的方法来计算。设累加变量为s,加数为2K,K=On。构造一个关于K的循环,重复执行ss+2K,即可算出和式的值。 根据分析,可编程序如下: INPUT N LET S=0 FOR K=O TO N LET S=S+2K NEXT K PRINT“S=”:S END 运行结果如下: ?63 S=1844674E19 (2)数列各项为2的0、l、2n次乘方,即乘数始终为2的累乘积,可构造一个n次
33、循环,用卜T*2累乘(T的初值为1)依次生成数列各项,用Ss+T依次累加各项。循环结束,其累加和s的值即所求和式的值。 根据分析,可编程序如下: INPUT N LET T=1 LET S=T FOR K=l TO N LET T=T*2 LET S=S+T NEXT K PRINT“S=”;S END 运行结果如下: ?63找教案 S=1844674E19 四、练习实践 1写出下列程序的运行结果 (1)FOR A=1 T0 5 PRINT A,A*A,2A NEXT A END (2)LET M=1 INPUT A,B,C FOR I=A To B STEP CLET M=M*I NEXT
34、I PRINT M END 输入l,5,1 输入50,-l,-1 结果为: 结果为: 2根据题意,把程序填写完整 (1)求12+23+34+99100的值。 LET S=0 FOR I=l TO LET S= NEXT I PRINT S END (2)把输入的6个数中绝对值大于5的数打印出来,并统计这样的数的个数。 LET T=0 FOR J=1 T0 6找教案 INPUT X IF THEN PRINT X, END IF NEXT J PRINT “T=”;T END 十、课后反思:这节课还没有进行,就设计意图来说估计学生的兴趣会比前两节更浓厚,但难度的增加,也会让一部分基础较薄弱的学生失去信心。在上课过程中要利用小组合作学习的优势,取长补短,争取每一个学生都能积极在参与,并体会到成功的快乐!