2.过程与方法:借助框图中的循环结构,借助Scilab语言中的循环语句来设计程序,进一步体会算法的重要性和有效性
1.知识与技能:(1)通过具体的实例理解,了解循环语句的结构特征,掌握循环语句的具体应用;
(2)利用循环语句表达结局具体问题的过程,体会算法的基本思想;
教学环节 |
教学内容 |
师生互动 |
设计意图 |
复 习 引 入 |
1、 提问:画程序框图的图形符号及规则是什么? 2、 一个实例: 某市电信部门规定:拨打市内电话时,如果通话时间不超过3min,则收取通话费0.2元;如果通话时间超过3min,则超过部分以0.1元/min收取通话费(t以分钟计,不足1min按1min计),试设计一个算通话费用的算法,用Scilab语句描述. 3、怎样设计这个算法呢? |
师问生答. 学生思考并且再想一些生活中、数学中的其他例子并回答. |
画程序框图是解决问题的必要的一步,能使问题得到简化,所以有必要复习一遍。 现实生活中的实际例子可以使同学们对数学产生更大的兴趣. 学生带着问题听课可以提高听课效率. |
概 念 形 成 教学环节 |
条件语句:处理条件分支逻辑结构的算法语句叫条件语句. Scilab语言中的条件语句分为if语句和select━case语句. if语句的一般格式是: if 表达式 语句序列1; else 语句序列2 end 该语句的功能:如果表达式结果为真,则执行表达式后面的语句 教学内容 |
学生从这些例子中得到:这些问题所牵扯到的算法都包含了一种基本逻辑结构━条件分支结构. 老师讲过if语句的格式后,可以问if语句最简单的格式是什么? if表达式 语句序列1; end 师生互动 |
先让学生知道概念并理解概念,然后指导解题. 设计意图 |
|
序列1;如果表达式结果为假, 则执行else后面的语句序列2 |
|
|
概 念 深 化 |
1、
任给一个实数,求它的绝对值.
开始 解:a=input(“a=”) if a 0 输入a x=a else a 0 x=--a 是 否 end x=a x=-a print(%io(2),x) 输入x 结束 |
学生自阅课本P26第二段、第三段及例子。 |
加深对概念的理解. |
应 用 举 例 应 用 举 例 |
2、 儿童乘坐火车时,若身高不超过1.1m,则无须购票; 若身高超过1.1m不超过1.4m,英买全票.试设计一个购票的算法,写出程序并划出程序框图. 程序: h=input(“h=”) if h<=1.1 print(%io(2), “免费乘车”) else if h<=1.4 print(%io(2), “半票乘车”) else print(%io(2), “全票乘车”) end end 程序框图如图: 开始 输入h h≦1.1 是 否 输出“免费乘车” h≦1.4 是 否 输出“半票乘车” 输出“全票乘车 结束 |
可以师生共同分析得此题的算法步骤为: S1测量儿童身高h S2如果h≦1.1,那么免费乘车; 如果h≦1.4, 那么购半票乘车;否则,购买全票. 仿照例子由学生做这节课刚开始的引例及课本P27A2、B1 师生共同完成P27B4 |
实际问题要先建立模型 |
归 纳 小 结 |
1、 条件语句的基本形式、应用范围及对应的程序框图。 2、 条件语句与算法中的条件结构相对应,语句形式较为复杂,要借助框图写出程序。 |
有一位学生总结,其他同学补充,教师完善。 |
引导学生对所学的知识进行小结,由利于学生对已有的知识结构进行编码处理,加强理解记忆,引导学生对学习过程进行反思,为在今后的学习中,进行有效调控打下良好的基础。 |
布 置 作 业 |
1、 看课本 2、 必做题:P27 B2,3 3、 选做题:(1)P27 B4 (2)从生活中找出一个例子,写出它的程序及框图。 |
|
作业布置有弹性,避免一刀切,使学有余力的学生的创造性得到进一步的发挥。 |
重点:程序框图的画法、程序的编写.
难点:程序的编写
3、 情感、态度、与价值观目标:在教学过程中培养学生创新意识和数学应用意识,提高学生学习数学的兴趣并注意在小组合作学习中培养学生的合作精神
2、 过程与方法目标:在教学过程中体现的主要数学能力及数学思想方法。
(1)逻辑思维能力:通过实例使学生体会算法的思想加强学生逻辑思维能力和推理论证能力的培养。
(2)转化的思想方法:通过实例使学生能将自然语言整理成程序框图进而翻译成计算机语言,体现转化的思想方法。
1、 知识与技能目标:通过实例掌握条件语句的格式及程序框图的画法、程序的编写.
教学环节1:提出问题
教学内容:
教师提出前面的例子:鸡兔同笼问题的一个算法:
S1: 输入鸡和兔的总数量M
S2: 输入鸡兔腿的总数N
S3: 鸡的数量
S4: 兔的数量B=M-A
如何才能把这些文字语言写成计算机识别的程序语言并能够运行呢?
对于题目中的输入,输出及鸡和兔的数量的表示A,B的表示使同学们对程序语言的表述产生了兴趣,抓住时机进入下一个环节,介绍定义.
在上一节,我们学习算法和程序框图时,就指出了用顺序结构,条件分支结构和循环结构就可以表示任何算法.如何将算法的这些控制结构,转变成计算机能够理解的程序语言和能在计算机上实现的程序呢?现在计算机能够直接或间接理解的程序语言有很多种,这些程序语言都包含了一些基本的语句结构:输入语句,输出语句,赋值语句,条件语句和循环语句.本节课我们就结合Scilab的程序语言,学习赋值语句,输入和输出语句进行分析,帮助大家更好地理解这些语句地结构以及在解决数学问题中的应用.
教学环节.2.概念形成及深化
(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值,用来表明赋给某一个变量的一个具体的确定值的语句叫做赋值语句.
赋值语句的一般格式:变量名=表达式
教师引导对于赋值语言的格式和意义进行进一步的探究.
①“=”的意义和作用:赋值语句中的“=”号,称作赋值号.
教师指出:赋值号与等式中等号的区别.
②赋值语句的作用:先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.
教师指出:赋值语句是程序中是最常用的一种语句.例如:
关于赋值语句,需要注意几点:
①赋值号左边只能是变量名,而不是表达式.例如 都是错误的.
②赋值号左右不能对换.
教师指出:赋值语句是将赋值号右边的表达式赋值给赋值号左边的变量.例如: ,表示用 的值替代变量 原先的取值,不能改写成 ,因为后者表示用Y的值替代变量X的值.
③不能利用赋值语句进行代数式(或符号)的演算.
教师指出:在赋值语句中的赋值符号右边的表达式中的每一个变量都必须事先赋值给确定的值,不能用赋值语句进行如化简,因式分解等演算,如 是不能实现的.在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”.
④赋值号和数学中的等号的意义不同.
教师指出:赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值.例如 等;如果原来已经有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.例如: 在数学中是不成立的,但在赋值语句中,意思是将 的原值加1再赋给 ,即 的值增加1.
⑤在一些程序中,也可以在界面窗口中直接赋值.
教师指出:比如在Scilab窗口界面内赋值并计算三个数的平均数,可在窗口中输入:
-->a=5;b=7;c=9
-->aver=(a+b+c)/3
aver=
7
这个程序中前2行是给变量赋值,后两行是显示变量aver的值.
(2)输入语句
在某些算法中,变量的初值要根据情况经常的改变,一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可,这个过程在程序语言中,用输入语言来控制.
教师指出:输入语句的意义是,在编写程序中可以把程序和初始数据分开,达到用程序解决一类问题的目的,也就是说在程序中用字母(变量)代替数,在解决具体问题时,对变量赋值.下面以Scilab为例,说明输入语句的用法.
输入语句的一般格式:变量=input(“提示内容”)
教师指出:我们来看一个例子
我们要计算任一个学生的语文,数学和外语三门考试的平均成绩,就要输入这个学生三门课的成绩,在Scilab文本编辑器中写出如下程序:
a=input(“Chinese”);
b= input(“math”);
b= input(“foreign language”);
av er=(a+b+c)/3
程序中分别请求输入语文,数学,英语成绩并分别赋值给a,b,c,并把(a+b+c)/3的值赋给aver.把程序保存在一个文件中,点击打开时立即会在Scilab截面中运行:
-->exec(`c:\gaobook\aver.sci`)
chinese--> 这时输入一个学生的语文成绩例如90,点“Enter”,界面出现:
math--> 这时输入一个学生的语文成绩例如80,点“Enter”,界面出现:
foreign language--> 这时输入一个学生的语文成绩例如79,点“Enter”,界面出现:
aver=83
学生通过这个例题的讲解,结合计算机程序上机运用,可以掌握在Scilab语言程序中,input叫做键盘输入语句,体会到输入语句在程序中的意义和作用.
几点说明:
①输入语句中a=input(“Chinese”)中,真正起作用的是a=input( ),它将键盘输入的数值赋给a,括号中的chinese仅仅是提示作用,提醒用户输入的是语文成绩.
②输入语句要求输入的值只能是具体的常数,不能是函数,变量或者表达式,例如 等都不行;另外输入语句可以输入单个或者多个字符,例如:x=input(“I am a student”); x=input(“what is your name?”)等等.
③在Scilab中,还有“read”等其他输入语句,在其他各种语言程序中,一般都有自己的输入控制语言,它们的作用是相同的,只是每种语言的控制代码和表现形式不同.
④以鸡兔同笼为例写出一个算法程序,并写出每步程序语句的作用.解体过程见课本,巩固赋值语言和输入语言的作用和意义.
(3)输出语句
任何求解问题的算法,都要把求解的结果输出,因此任何的程序语言也都有自己的输出语句来控制输出,不同的程序语言都有自己的输出语句和表现形式,但功能是一样的,就是以某种形式把求解结果输出出来.以Scilab为例,有各种输出语句,入print,write,format,printf,disp.
输出语言一般格式: print(%io(2),表达式)
课本对“print”语句举例说明.
例题:一个算法是,用Scilab中的rand()函数,首先生成一个0~1之间的随机数并把它赋值给变量a,再把3赋值给变量b,把a+b赋值给变量c,最后把它们都输出到屏幕上.这个算法用Scilab程序写出,并用print(%io(2),a,b,c)语句控制输出,运行界面内写出程序如下:
a=rand();b=3;c=a+b; print(%io(2),a,b,c)
c=
307560439
b=
3.
a=
.7560439
教师指出:
①print(%io(2),表达式)中的表达式指程序要输出的数据,输出语句可以输出常量,变量或表达式的值,例如print(%io(2),B), print(%io(2),4*3)等.
②print(%io(2),a,b,c)在屏幕上输出的顺序是c,b,a
③print(%io(2),a,b,c)中的io表示input-output(输入-输出)
教学环节3:概念的初步应用.
教学内容:关于赋值,输入和输出三种语言的基本格式,应用和意义在概念深化中已经有所体现,并结合例题的讲解进行了适当的说明和补充,此处借助课本的课后练习对三种语言进行初步的应用,仿照课本例题的结构内容写出相应的程序,并按照要求写出每个语句的作用和意义,并借助计算机进行程序的实现.
练习1.课本25页A组第3题.
a=input(“a=”)
b= input(“h=”)
S=a*h
print(%io(2),S)
教师讲解:让学生自主发现每步程序的意义,体会赋值,输入和输出语句的意义和作用.
练习2.课本25页B组第4题
x1=input(“x1=”);
x2=input(“x2=”);
y1=input(“y1=”);
y2=input(“y2=”);
d=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
教师讲解:注意Scilab程序语言中一些常用的规定,比如表达式中的乘号*一定不能省略,也不能用原点或者 代替;表达式中的括号一律用小括号,方括号[]另有它用;除法用符号“/”,不能写成分式的形式,被除式与除式必要时应各自加小括号,以免混淆;标准函数的自变量应放在小括号内,如sin(x),圆周率 写成“%pi”,自然对数的底 写成“%e”,绝对值 写成abs(x),x的平方写成x*x或x^x.
教学环节4.归纳总结
学生总结:赋值语句,输入语句,输出语句的一般格式
教师介绍:本节课通过通过分析具体实例,掌握三种语言的特点和一般格式,会用三种语言编写最基本的程序.
课后作业:课本25页练习A组第1,2,4题,B组第3题.
引导与合作交流相结合,学生在体会三种语句结构格式的过程中,让学生积极参与,讨论交流,充分挖掘三种算法语句的格式特点及意义,在分析具体问题的过程中总结三种算法语句的思想与特征.运用计算机教学,
2.教学难点:三种语句的意义及作用.
湖北省互联网违法和不良信息举报平台 | 网上有害信息举报专区 | 电信诈骗举报专区 | 涉历史虚无主义有害信息举报专区 | 涉企侵权举报专区
违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com