八年级信息Small Basic 自编教程.docx
- 文档编号:11569200
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:27
- 大小:36.78KB
八年级信息Small Basic 自编教程.docx
《八年级信息Small Basic 自编教程.docx》由会员分享,可在线阅读,更多相关《八年级信息Small Basic 自编教程.docx(27页珍藏版)》请在冰豆网上搜索。
八年级信息SmallBasic自编教程
八年级信息教案
SmallBasic自编教
一、学情分析
对于学生来说,正就是想象力丰富、朝气蓬勃的年纪,必定对本节课的内容充满兴趣,只要教师把握得当,一定能激发学生的学习热情,达到最好的教学效果。
二、教材分析
本节课的内容可能初学者会有些难以理解,所幸的就是在上节课中也已经初步教授了蒙板的基本知识与蒙板的基本原理,这将会大大降低本节课学生使用蒙板的难度。
三、目标设计
1、知识与技能:
(1)Variables变量语句表达式
(2)对象
2、方法与过程
通过讲解演示、学生自主操作、教师指导等环节,提高学生的模仿能力、动手能力,让学生在的基础上掌握将抠取出,并尽量做到融合的天衣无缝。
3、情感态度与价值观
通过使用工具,培养学生欣赏、并创造的能力,使用提升学生的素养。
4、教学重点与难点
教学重点:
Variables变量语句表达式
教学难点:
对象
四、教学方法
多媒体课件教学
五、教学过程
一、Variables变量
变量就是程序用来保存信息与数据的,变量取名的规则如下:
1、变量名长度必须小于等于40个字符
2、变量名里面可以出现下划线_、字母、数字
3、第一个字符必须就是英文字母
4、不能用SmallBasic的保留单词作为变量名,例如:
if不好作为变量名。
5、实践证明变量名里面出现汉字不太好处理。
建议使用具有实际含义的较长的变量名,可以提高程序的可读性;例如下面的变量名就是比较好的:
StartingTime
Interest_Value
Letter05
JohnsAge
Number_of_Days
TimeOfDay
二、数据类型
每个变量用来存放的数据类型不同,共有三种数据类型:
1、数字用来保存十进制的整数、小数,可以就是负数。
2、字符串也称为文本类型(text)用来保存一个文字序列,例如一句话、一个单词、一个人的姓名。
字符串常量总就是被用双引号括起来。
3、布尔(Boolean)类型,只能保存“true”或“false”。
此处的双引号也就是必须的,这里“true”<>1。
通常用来表示条件、性别等。
当变量被第一次使用时,系统自动定义变量的类型。
赋值不匹配时系统会智能转换,但编程者心目中还就是需要区分这几种数据类型的。
数组arrays,稍微复杂了点,略去。
A[1]="星期一"
A[2]="星期二"
A就是一个数组,A=["星期一","星期二"];注意理解数组名、引用下标。
系统支持两维数组。
自定义子程序(子过程)的定义与调用,稍微复杂了点,略去。
用户定义子程序,为自定义的MySub名称
1、SubMySub
2、'代码
3、EndSub
用户调用自定义子程序
MySub()
三、语句表达式
关键词、变量名、函数名等不区分大小写。
3、0说明语句
‘单引号表示注解(说明文字)。
可以在语句的行末出现,可以在注解行行首出现。
在源程序里,只有注解、字符串常量可以使用中文与中文标点符号。
其它地方一定要用半角英文。
3、1赋值语句
赋值=,例如:
i=1将1赋值给变量i、
赋值语句的左端必须就是一个变量名,右端必须就是表达式。
函数、常量、变量以及函数的嵌套(复合),它们的运算都就是表达式。
smallbasic自动计算表达式。
表达式中用小括号()表示运算的优先次序变化,不用中括号表示。
算术运算符:
+-*/
比较运算:
><<=>==<>(不等于),(等于号第二个用途)
逻辑运算:
and(且,与)or(或)
字符串连接运算:
+(这里的加号出现了第二个用途)
几个简单的数学函数:
Math、Abs(x)取绝对值;
Math、Ceiling(x)进一法取整;
Math、Floor(x)去尾法取整;
Math、Round(x,y)x四舍五入取整
Math、GetDegrees(x)弧度化度数;
Math、GetRadians(x)度数化弧度;
Math、GetRandomNumber(x)取不超过x的随机正整数。
Math、Log(x)10为底得对数
Math、Max(x,y)取两者中较大者
Math、Min(x,y)取两者中较小者
Math、Pi()圆周率
Math、Power(x,y)x的y次幂
Math、Remainder(x,y)x除以y的余数。
3、2跳转语句(不建议使用)
GotoMyLabel
……
MyLabel:
’自定义的行标
……
3、3条件语句
1、If(逻辑表达式)Then
2、代码段
3、EndIf
1、If(逻辑表达式)Then
2、代码段
3、Else
4、代码段
5、EndIf
以下语句有点像case语句
1、If(逻辑表达式1)Then
2、代码段
3、ElseIf(逻辑表达式2)Then
4、代码段
5、ElseIf(逻辑表达式3)Then
6、代码段
7、Else
8、代码段
9、EndIf
3、4循环语句
1、While(逻辑表达式)
2、代码段
3、EndWhile
1、ForVariable=StartToEndStepIncrement
2、'语句toexecutegoeshere,增量Increment可以就是负数
3、EndFor
四、对象
对象就就是软件世界的一个东西,面向对象就是新一代程序员的基本方法。
对象可有属性(变量值)、方法(与对象相关的子程序)、事件
objectcanhaveproperties,methodsand/orevents
设置属性值:
Object、Property=表达式
获取属性值:
变量=Object、Property
调用方法:
Object、Method(参数)
键盘按键、鼠标点击、计时器到时间都可以瞧作为事件,必须要一个子程序赋值给事情。
事件触发执行子程序:
Object、Event=EventSub
部分对象Object
SmallBasic编程系统自带的有20种对象,随着这种语言的流行与第三方扩展的丰富将会有一些新的对象可以使用。
1Mouse鼠标
2text字符串常用,有些字符串的处理被简化成了普通变量操作。
Text、GetLength(text)获取字符串的长度,单位就是字符。
一个汉字的长度就是一,一个英文字母的长度也就是一。
因为本编程系统采用了Unicode国际编码。
Text、GetSubTextToEnd(text,start)获取子字符串,从start位置开始到最后的。
Text、GetSubText(text,start,length)获取子字符串,从start位置开始长度为length的。
Text、GetIndexOf(text,subText)定位子字符串出现的位置。
Text、GetCharacter(characterCode)根据字符的机器码(Unicode、Ascii)获取字符,对一些不可打印的特别特别有用。
3Clock计算机的实时时钟
4Shapes几何形状,可制作简单的动画
5Math数学方法(函数),除了前面提到的还有三角函数等等。
6TextWindow字符窗口,利用它输入输出字符类的数据。
Hide()隐藏,隐藏后能加快执行速度。
Show()显示,往往与隐藏成对使用
PauseWithoutMessage()等待用户输入然后关闭程序(窗口里面没有‘PressAnyKey’信息)、
WriteLine(data)输出文本,自动换行。
Write(data)输出文本,不换行。
TextWindow、WriteLine("")输出一个换行符
Read()读入键盘输入的文本,直到回车为止。
ReadKey()读入键盘的一次输入
ReadNumber()读入键盘输入的十进制数,直到回车为止。
7GraphicsWindow
默认的:
背景色就是白色,大小宽(Width)624像素高(Height)444像素。
PenWidth线条粗细就是2像素,PenColor线条颜色就是黑色。
字体就是“Tahoma”、字号就是12磅,粗体。
在图形窗口里:
可以画点画线段
可以画圆、椭圆
可以画长方形、正方形
可以画三角形、文字
可以载入图片、实现简单的变换
GraphicsWindow、ShowMessage(text,title)’显示一个简单的对话框
图形窗口在Windows桌面居中的语句:
GraphicsWindow、Left=0、5*(Desktop、Width-GraphicsWindow、Width)
GraphicsWindow、Top=0、5*(Desktop、Height-GraphicsWindow、Height)
8Program程序指当前执行的程序。
不常用
9File对磁盘上的文件进行操作常用
(),
10Network网上的网页与文件
11ImageList内存中的图形
12Timer定时器
13stack堆栈,常用。
14Array数组,有些操作已经简化为普通运算。
五、其它
SmallBasic源程序编辑窗口很简单,智能化程度很高,比较友好,但速度不快。
本系统生成的可执行程序本身速度也不佳。
学习它序可以理解编程的思想方法,理解计算机解决问题的方法,而且充满了乐趣。
例如:
我们可以用它设计一个保存密码的软件。
熟练掌握了SmallBasic之后,任何编程语言的学习都会变得很简单。
B(Beginner's)
A(All-Purpose)
S(Symbolic)
I(Instruction)
C(Code)
第二课小海龟画正五边形
在学习了repeat重复命令后,进一步学习用repeat画正多边形的方法,并通过书上介绍的方法掌握画任意正多边形的规律。
书上有一句提示:
(重复命令中每次转动的角度=360/正多边形的边数)我觉得,不仅要让学生知道怎么做,还要让学生知道为什么要这么做。
但就是书上没有给出原因。
如何让学生理解这个规律呢?
第一种尝试:
做一个课件,把虚线表示的每次转动的角通过动画演示拼在一起,让学生瞧到六个角正好就是一个周角。
问:
1、六个需要转动的角的与就是多少度?
(360°)
2、因为画的就是正多边形,所以每一个需要转动的角大小怎么样?
(相等)
3、那么每一个角的度数怎么计算呢?
列出算式。
360/6
第二种尝试:
板书出:
等边三角形、正方形,每次画都用白板笔演示小海龟画图的过程,白板笔的笔套表示小海龟的头,以表示方向。
让学生直观感受,并理解小海龟每次画正多边形都就是转动一圈,即总的就是转动了360度。
推理就同上。
第三种设想:
经过前两次的尝试后,发现学生虽然最终能有几个学生发现规律,但就是大多数学生都就是云里雾里,所以前两种方法都不完美。
现在设想如下,以后教的时候再试试:
(1)先不用repeat命令,复习等边三角形的画法,让学生画一画,然后说一说,小海龟在画的过程中,一共旋转了多少度?
怎么知道的?
(2)复习画正方形,画一画,说一说小海龟在画的过程中,一共旋转了多少度?
怎么知道的?
(3)如果要画正五边形,小海龟一共会转过多少度呢?
(360)
(4)那么画正五边形画完一条边后,小海龟要转动多少次呢?
(5)试试画画。
(6)试着用这样的规律画一个正七边形。
如果要画正十五边形呢?
我们要重复执行多少次?
有什么命令可以让画正多边形简单些呢?
从而引出repeat命令。
思路就是:
先学会画正多边形的画法,然后再用repeat,简化画正多边形的程序。
赋值语句
第三课小海龟画正多边形
一、教学目标:
1.熟练掌握REPEAT命令;
2.学会绘画正三角形、正方形、正五边形、正六边形、圆;
3.提高学生LOGO语方编程能力与兴趣。
二、教学重点:
学会绘画正多边形
三、教学难点:
实践园
(1)
(2)
四、教学过程:
(一)导入
同学们,上节课我们学习了REPEAT命令,REPEAT命令非常有用,帮助我们省去了很多重复的语句,利用它可以画正多边形与圆。
上节课,我们只就是纸上谈兵,这节课我们就一起来上机操作,瞧瞧上机操作过程中会遇到哪些问题呢?
(二)巩固、操作
1.展示公示,画正多边形
REPEATN[FD步长RT360/N]
提问:
在输入的时候,有哪些问题要注意呢?
2.布置任务
画如下的图形:
(1)正三角形、正方形、正五边形、正六边形(边长为50)
(2)圆(边长为2)
3.讨论:
在画圆的时候发现什么问题?
结论:
当N大于等于360的时候,就可以瞧作一个圆,但事实上REPEAT360[FD2RT1]画出来只就是一个正十二边形,根据不就是圆。
我们再改一下:
REPEAT36[FD20RT10]
这就是我们龙芯一体机的精度问题,她不能解决精度太高的问题。
所以说,理论与实践有时就是不能完全统一的,我们通过实践发现了问题,并成功化解了。
4.完成实践园中:
练习1、练习2,比一比,谁做的又快又好。
(请一个学生上台绘制,其她学生在下面操作)
教师巡视,小助手帮忙,个别指导。
5.点评实践园练习,并表扬优胜者。
6.小结:
今天,我们通过上机实践,牢牢掌握了REPEAT命令,更可以利用此命令,让计算机绘制正多边形,并且发现了一些细节问题,解决问题很得了很大的进步,希望同学们在以后的学习中也能多多发现问题,解决问题,做学习的主人。
(三)作业设计:
1.思考实践园中的练习3
2.预习下一课《画星星》
五、教学反思:
第四课循环语句应用—累加累乘(梁锦均)
重点:
循环三要素(循环体、循环条件与初值)的分析,循环结构语句的选择
难点:
分析与编写简单的累加累乘程序
教学目标知识目标:
巩固循环结构语句的格式,掌握循环结构程序设计的方法
能力目标:
培养学生分析问题、解决问题的能力,训练学生逻辑思维与判断能力
发展目标:
教给学生灵活的思维方法,培养学生的学习兴趣与勇于探索、勇于创新的精神,提高综合素质、
教法:
以讲授为主,并请学生演示编程、
一、复习循环语句
1、三种循环的格式与注意点
while(表达式)
{
语句;
}
只要表达式的值为非0,就重复执行语句,直到表达式值为0时止。
先判断后执行,循环次数>=0。
do
{
语句;
}while(表达式);
首先执行语句,然后判断表达式的值。
如果表达式为0,继续向下执行,否则,再次执行语句,再次判断表达式的值。
语句会被至少执行一次。
for(表达式1;表达式2;表达式3)
{
语句;
}
“表达式1”用来实现循环变量初始化工作;
“表达式2”作为循环条件;
“表达式3”用于循变量的更新。
若循环体只有一条语句,则“{}”可省略。
循环次数>=0。
2、选择三种循环的一般原则
如果循环次数已知,用for
如果循环次数未知,用while
如果循环体至少要执行一次,用do-while
这只就是“一般”原则,不就是“原则”
一、新课引入
1+2+3+……+100
1-2+3-4+……+99-100
1-1/3+1/5-……-1/19+1/21
1*2*3*……*20
2*4*6*……*20
让学生观察这些式子,找出特点,我总结学生的答案,引入累加累乘的概念。
并给出概念。
累加:
就就是定义一个变量(s=0)来保存结果,另定义一个变量(i)实现数值的变化。
把数值变化的那个变量(i)的值每次与保存结果的变量(s)进行加运算,结果赋给s、
比如1----10的累加,就就是先把1赋给i,与s相加结果给s,之后i变成2,再与s相加结果给s。
如此反复就就是累加。
累乘也一样,但变量p=1。
二、新课内容
1、累加累乘基本知识:
累加
累乘
初值公式
初值公式
0S=S+I
1P=P*I
1、现场编程
例1、求1+2+3+……+n
分析
1、n个数求与问题,用到累加;
2、用循环语句反复累加,循环体内用S=S+X形式赋值语句;
3、变量S初值为0。
代码
#include
main()
{
inti,,n,s;
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++)
s=s+i;
printf(“%d\n”,s);
}
同学练习
求一百以内奇数与sum=1+3+5+……+99
#include
main()
{
intn,i,sum;
n=100;
sum=0;
for(i=0;i {if(i%2==1) sum=sum+i; } printf(“sum=%d\n”,sum); } 例2、求n! =1*2*3*……*n的值 分析 1、运用到累乘,循环体内用P=P*I形式赋值语句; 2、变量p初值为1; 3、当n较大时,阶乘可能超出整形范围,所以可将累积值设为doouble型。 代码 #include main() { inti,n; doublep; scanf("%d",&n); p=1; for(i=1;i<=n;i++) p=p*i; printf("p=%、0f\n",p); } 同学练习 计算二十以内偶数积P=2*4*6+……*20 #include main() { intn,i,p; n=20; 第五课条件判断语句 共1课时 条件语句 1教学目标 1、知识与技能目标: (1)理解条件语句与条件结构之间的对应关系。 (2)掌握条件语句的语法规则与用算法解决问题的一般步骤。 (3)提高学生的逻辑思维能力,发展有条理的思考与表达能力。 2、过程与方法目标: (1)教师设置情境,引导学生提出问题这一过程,培养了学生创造性思维。 (2)写算法步骤,画程序框图,编写程序,实现算法这一解决问题的步骤,培养理性精神与实践能力。 3、情感、态度、价值观目标: 在教学过程中培养学生创新意识与数学应用意识,提高学生学习数学的兴趣并注意在小组合作学习中培养学生的合作精神。 2教材分析。 “条件语句”就是算法中最基本语句之一,它就是学生在学习了“程序框图”、“输入、输出与赋值语句”之后的后续内容,就是“循环语句”的基础,更就是计算科学的基础。 而算法思想在初中数学已有所体现,并渗透于高中数学的各个部分。 所以通过对“条件语句”的学习,可以帮助学生更好地学习与体会算法的基本思想,提高逻辑思维能力,发展有条理的思考与表达能力。 算法教学只能立足于让学生认识到解决某些问题存在算法,并能找到其中一种算法,而不必引导学生去研究算法的多样性,更不能去研究不同算法的优劣.同时,本模块的主要目的就是使学生体会算法的思想,提高逻辑思维能力,因此不要将此部分内容简单处理成程序语言的学习与程序设计 3重点难点 重点: 条件语句的格式、结构;用所学算法语句解决问题的过程与方法。 难点: 利用条件语句编写解决问题的程序。 4学情分析 1、高一已经开设了信息技术课程,对计算机知识有了一定的了解,她们对计算机有着较浓厚的兴趣。 2、学生具备一定的模仿、探索、操作能力,合作精神较好。 3、前面已经学习了输入、输出与赋值语句。 4、学生已学习过的条件语句的程序框图就是条件语句两种形式的认知起点。 5教学过程5、1第一学时教学活动活动1【活动】教学过程 教学过程设计: 创设情景 某市电信部门规定: 拨打市内电话时,如果通话时间不超过3min,则收取通话费0、2元;如果通话时间超过3min,则超过部分以0、1元/min收取通话费(t以分钟计,不足1min按1min计),试设计一个算通话费用的算法,画出程序框图。 如何写出程序呢? 学生思考并且再想一些生活中、数学中的其她例子并回答。 现实生活中的实际例子可以使同学们对数学产生更大的兴趣。 概念形成 条件语句: 处理条件分支逻辑结构的算法语句叫条件语句 IF条件THEN 语句1 ELSE 语句2 ENDIF IF条件THEN 语句 ENDIF 学生自阅课本P25例5前面的内容,通过学生自主学习后认真填写表格。 先让学生知道概念,理解程序框图与程序之间的关系。 培养学生的自学能力。 例1: 编写一个程序,求实数的绝对值。 步骤一,写出算法步骤: 1: 输入一个实数x; 2: 判断x的符号, 若x>=0,则输出x; 否则输出-x。 步骤二,画程序框图 步骤三,编写程序: INPUTx IFx>=0THEN PRINTx ELSE PRINT–x ENDIF END 讨论: 用“条件语句”编写程序的步骤与注意事项有哪些? 应合理的选择逻辑判断的条件(这就是关键); (2)解决问题时应按“写算法步骤、画程序框图、编写程序”的步骤进行。 (3)IF、条件、THEN及输入、输出语句后的空格不能漏;(4)IF与ENDIF就是成对出现的;(5)条件语句中,语句体内缩几格,就是为了增强程序的可读性与修改方便。 变式练习: 编写一个程序,判断任意输入的整数的奇偶性。 学生先阅读P25例5,并相互讨论,合作学习,二人一组输入程序,然后教师让学生充分表达条件语句的特点,对条件语句格式加以补充与强调 加深概念的理解,指导解题,让学生进行初步模仿,并让学生瞧到算法在计算机上实现的过程,提高她们学习的兴趣。 应用举例 儿童乘坐火车时,若身高不超过1、1m,则无须购票;若身高超过1、1m不超过1、4m,则购买半票票;若身高起过1、4m,则购买全票。 试设计一个购票的算法,写出程序并划出程序框图 程序: INPUTh IFh<=1、1THEN PRINT免费乘车 ELSE IFh<=1、4THEN PRINT半票乘车 ELSE PRINT全票乘车 ENDIF ENDIF END 可以师生共同分析得此题的算法步骤为: 1: 测量儿童身高h。 2: 如果h≦1、1,那么免费乘车;如果h≦1、4, 那么购半票乘车;否则,购买全票。 归纳小结 本节课学习了什么内容,解决了哪些问题,还有哪些未解决的问题? 解决问题的步骤与注意事项就是什么? 最关键之处就是什么? 由一位学生总结,其她同学补充,教师完善。 引导学生对所学的知识进行小结,有利于学生对已所学知识加强理解记忆。 布置作业: 必做题: P29练习题4 编写一个程序,求不等式(可随意输入)的解集。 选做题: 设计一个程序,求出任何一个一元二次不等式的解集。 作业布置有弹性,避免一刀切,使学有余力的学生的创造性得到进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八年级信息Small Basic 自编教程 年级 信息 Small 教程