1.2基本算法语句(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.2基本算法语句
1.2.1输入语句、输出语句和赋值语句
一、教学目标:
1、知识与技能
(1)正确理解输入语句、输出语句、赋值语句的结构;
(2)会写一些简单的程序;
(3)掌握赋值语句中的“=”的作用.
2、过程与方法
(1)让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、模仿;(2)通过对现实生活情境的探究,尝试设计出解决问题的程序,理解逻辑推理的数学方法.
3、情感与价值观
通过本节内容的学习,使我们认识到计算机与人们生活密切相关,增强计算机应用意识,提高学生学习新知识的兴趣.
二、教学重点、难点:
重点:正确理解输入语句、输出语句、赋值语句的作用.
难点:准确写出输入语句、输出语句、赋值语句.
三、教学用具:
PPT、计算器、图形计算器
四、教学设想:
(一)复习提问、导入课题
1.算法的的基本逻辑结构有哪几种?
2.设计一个算法的程序框图的基本思路如何?
第一步,用自然语言表述算法步骤.
第二步,确定每个算法步骤所包含的逻辑结构,并用相应的程序框图表示.
第三步,将所有步骤的程序框图用流程线连接起来,并加上两个终端框.
计算机完成任何一项任务都需要算法.但是,用自然语言或程序框图表示的算法,计算机是无法“理解”的. 因此还需要将算法用计算机能够理解的程序设计语言(programming-
language)来表示计算机程序.
程序设计语言有很多种.为了实现算法的三种基本逻辑结构,各种程序设计语言中都包含下列基本的算法语句,并且形式类似.
输入语句、输出语句、赋值语句、条件语句、循环语句 (板书课题) (二)师生互动、探究新知
我们知道,顺序结构是任何一个算法都离不开的基本结构.输入、输出语句和赋值语句基本上对应于算法中的顺序结构.(如右图)计算机从上而下按照语句排列的顺序执行这些语句.
输入语句和输出语句
输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能. 输入语句、输出语句分别与程序框图中的输入、输出框对应.
在每个程序框图中,输入框与输出框是两个必要的程序框,我们用什么图形表示这个程序框?其功能作用如何?
表示一个算法输入和输出的信息.
例1:已知函数302432
3
+-+=x x x y ,求自变量x 对应的函数值的算法步骤如何设计? 算法:
第一步,输入一个自变量x 的值. 第二步,计算302432
3
+-+=x x x y 第三步,输出y.
程序框图: 程序:
这个程序由4个语句行组成,计算机按语句行排列的顺序依次执行程序中的语句,最后一行的END 语句表示程序到此结束.
①在该程序中第1行中的INPUT 语句就是输入语句.这个语句的一般格式是:
其中,“提示内容”一般是提示用户输入什么样的信息,它可以用字母、符号、文字等来表述. 变量是指程序在运行时其值是可以变化的量,一般用字母表示. INPUT 语句不但可以给单个变量赋值,还可以给多个变量赋值,若输入多个变量,变量与变量之间用逗号隔开. 提示内容加引号,提示内容与变量之间用分号隔开.
其格式为:
练习:尝试把输入框转化为输入语句
INPUT “a ,b ,c=”;a ,b ,c
开始
y=x
3+3x 2
-24x+30
输入a ,b ,c
INPUT “x=”;x
y=x^3+3*x^2-24*x+30 PRINT “y=”;y END
②在该程序中,第3行中的PRINT 语句是输出语句。

它的一般格式是:
其中,“提示内容”一般是提示用户输出什么样的信息,它通常是常量或变量的值;表达式一般是表示输出信息所对应的字母或代数式. PRINT 语句可以在计算机的屏幕上输出运算结果和系统信息.
练习:在计算a 与b 的和S 时,输出框转化为输出语句可以怎样表述?
PRINT “S=”;S 或 PRINT “Sum=”;a+b
例2:编写程序,计算一个学生数学、语文、英语三门课的平均成绩. 第一步,输入该学生数学、语文、英语三门课的成绩a ,b ,c.
第二步,计算 3c
b a y ++=
第三步,输出y. 程序
INPUT “Chinese=”;a INPUT “Maths=”;b INPUT “English=”;c
PRINT “The average=”;(a+b+c)/3 END 赋值语句
赋值语句与程序框图中的处理框对应.
在算法的程序框图中,处理框是一个常用的程序框,我们用什么图形表示这个程序框?其功能作用如何?
表示赋值、计算.
在该程序中,第2行中的语句是赋值语句:
其基本含义是将表达式所代表的值赋给变量,赋值语句中的“=”叫做赋值号,它和数学中的等号不完全一样.计算机在执行赋值语句时,先计算“=”右边表达式的值,然后把这
输出
S
个值赋给“=”左边的变量.
所以赋值语句的作用:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值.
注:①赋值号左边只能是变量名字,而不能是表达式. 如:2=X 是错误的.
②赋值号左右不能对换. 如“A=B ”“B=A ”的含义运行结果是不同的. ③不能利用赋值语句进行代数式的演算. (如化简、因式分解、解方程等) ④赋值号“=”与数学中的等号意义不同.
练习:把执行框 转化为赋值语句.
()
2/*32y x z +=∧
(三)讲练结合,巩固提高
例3:给一个变量重复赋值.
那么,A 的输出值是多少? 25
例4: 交换两个变量A 和B 的值,并输出交换前后的值
思考:程序中的3个赋值语句用来交换两个变量的值.变量x 的作用是什么?
2
32y x z +=INPUT A ,B PRINT A ,B
X=A A=B B=X
PRINT A ,B END A=10 A=A+15 PRINT A END
(四)小结
1、利用输入语句、输出语句和赋值语句可以写出任何一个顺序结构的算法程序.
2、输入语句和输出语句中的“提示内容”有时可以省略.
(五)布置作业
P24练习:1,2,3,4.
1.2.2条件语句
一、教学目标:
1、知识与技能
(1)正确理解条件语句的概念,并掌握其结构的区别与联系;
(2)会应用条件语句编写程序.
2、过程与方法
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力.
3、情感与价值观
了解条件语句在程序中起判断转折功能,在解决实际问题中起决定作用. 通过本小节内容的学习,逐步养成严谨的数学思维以及正确处理问题的能力.
二、教学重点、难点:
重点:条件语句的步骤、结构及功能.
难点:准确编写程序中的条件语句.
三、教学用具:
PPT、计算器、图形计算器
四、教学设想:
(一)复习提问、导入课题
1.输入语句、输出语句和赋值语句的一般格式分别是什么?
输入语句:INPUT “提示内容”;变量
输出语句:PRINT “提示内容”;表达式
赋值语句: 变量=表达式
2.对于顺序结构的算法或程序框图,我们可以利用输入语句、输出语句和赋值语句写出其计算机程序.对于条件结构的算法或程序框图,要转化为计算机能够理解的算法语言,我们必须进一步学习条件语句. (二)师生互动、探究新知
条件语句⑴
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句. 它的一般格式是:
你能理解这个算法语句的含义吗?
当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句体,否则执行END IF 之后的语句. 其对应的程序框图为:(如上右图)
条件语句⑵
以下是用程序框图表示的另一种形式,它对应的条件语句的一般格式设定为:
你能理解这个算法语句的含义吗?
当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句体1,否则执行ELSE 后的语句体2. 其对应的程序框图为:(如上右图)
条件语句的作用:在程序执行过程中,
根据判断是否满足约定的条件而决定是否需要转
换到其他地方去. 需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理.
例5:编写一个程序,求实数x 的绝对值.
因为实数X 的绝对值为
()()⎩⎨
⎧〈-≥=00x x x x x ,所以算法步骤可以写成: 第一步,输入一个实数x.
第二步,判断x 的符号.若x ≥0,则输出x ;否则,输出-x. ①该算法可以用什么逻辑结构来实现?它的程序框图如何表示?
②这个算法含有顺序结构和条件结构,你能写出这个算法对应的程序吗?
(三)讲练结合,巩固提高
练习1:阅读下面的程序,你能画出对应的程序框图吗?你能得出什么结论?
INPUT x
IF x ≥0 THEN PRINT x ELSE
PRINT -x END IF END
INPUT x
IF x ﹤0 THEN x=-x END IF PRINT x END
练习2:将解一元二次方程ax2+bx+c=0的程序框图转化为程序.
INPUT“a,b,c =”;a,b,c
d=b∧2-4*a*c
IF d>=0 THEN
p=-b/(2*a)
q=SQR(d)/(2*a)
IF d=0 THEN
PRINT “x1=x2=”;p
ELSE
PRINT “x1,x2=”;p+q,p-q
END IF
ELSE
PRINT “No real root.”
END IF
END
练习3:写出“对实数a,b按从小到大排序”的程序.
INPUT“a,b =”;a,b
IF a>b THEN
x=a
a=b
b=x
END IF
PRINT a,b
END
练习4:阅读下面的程序,你能说明它是一个什么问题的算法吗?
INPUT “x=”;x
IF x≥1 THEN
y=x∧2+3*x
ELSE
y=x-4
END IF
PRINT y
END
求分段函数
⎩⎨
⎧〈-≥+=141
32x x x x x y 的函数值.
例7:编写程序,使任意输入的3个整数按从大到小的顺序输出.
算法分析:用a ,b ,c 表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a ,b ,c 表示,并使a ≥b ≥c.具体操作步骤如下:
第一步:输入3个整数a ,b ,c.
第二步:将a 与b 比较,并把小者赋给b ,大者赋给a.
第三步:将a 与c 比较. 并把小者赋给c ,大者赋给a ,此时a 已是三者中最大的.
第四步:将b 与c 比较,并把小者赋给c ,大者赋给b ,此时a ,b ,c 已按从大到小的顺序排列好.
第五步:按顺序输出a ,b ,c. (四)小结
1、条件语句有两种形式,应用时要根据实际问题适当选取.
2、编写含有多个条件结构的程序时,每个条件语句执行结束时都以END IF 表示. (五)布置作业
P29练习:1,2,3,4.
INPUT a ,b ,c IF b>a THEN
t=a a=b b=t END IF
IF c>a THEN
t=a a=c c=t END IF
IF c>b THEN
t=b b=c c=t END IF
PRINT a ,b ,c END
1.2.3循环语句
一、教学目标:
1、知识与技能
(1)正确理解循环语句的概念,并掌握其结构的区别与联系;
(2)会应用循环语句编写程序.
2、过程与方法
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力.
3、情感与价值观
深刻体会到循环语句在解决大量重复问题中起重要作用,能减少大量繁琐的计算. 通过本小节内容的学习,逐步养成严谨的数学思维以及正确处理问题的能力.
二、教学重点、难点:
重点:循环语句的步骤、结构及功能.
难点:准确编写程序中的循环语句.
三、教学用具:
PPT、计算器、图形计算器
四、教学设想:
(一)复习提问、导入课题
1.算法的的基本逻辑结构有哪几种?
顺序结构、条件结构、循环结构
2.为了实现算法的三种基本逻辑结构,各种程序设计语言中都包含哪些算法语句?
输入语句、输出语句、赋值语句、条件语句、循环语句
3.输入、输出语句的一般格式分别是什么?
4.赋值语句的一般格式是什么?
5.两种条件语句的一般格式分别是什么?
(二)师生互动、探究新知
算法中的循环结构是由循环语句来实现的. 对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE 型)和直到型(UNTIL 型)两种语句结构.即WHILE 语句和UNTIL 语句.
(1)UNTIL 语句的一般格式是:
其对应的程序结构框图为:(如上右图)
你能理解这个算法语句的含义吗?
先执行一次DO 和UNTIL 之间的循环体,再对UNTIL 后的条件进行判断.如果条件不符合,则继续执行循环体;然后再检查上述条件,如果条件仍不符合,则再次执行循环体,直到条件符合为止.这时,计算机将不执行循环体,而执行UNTIL 语句之后的语句.
回顾例6:设计一个计算1+2+3+…+100的值的算法,并画出程序框图. 算法:
第一步, 令i=1,S=0. 第二步, S =S+i. 第三步, i=i+1.
第四步,判断i>100是否成立.若是,则输出S ,结束算法;否则,返回第二步. 你能利用UNTIL 语句写出这个算法对应的程序吗?
DO
循环体
LOOP UNTIL 条件
练习:在下面的程序运行中,计算机输出的结果是多少?
(2)WHILE 语句的一般格式是:
你能理解这个算法语句的含义吗?
先对条件进行判断,如果条件符合,则执行WHILE 和WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,则再次执行循环体,直到某一次条件不符合为止.这时,计算机将不执行循环体,而执行WEND 语句之后的语句.
其中循环体是由计算机反复执行的一组语句构成的. WHLIE 后面的“条件”是用于控制计算机执行循环体或跳出循环体的.
当计算机遇到WHILE 语句时,先判断条件的真假,如果条件符合,就执行WHILE 与WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进
WHILE 条件
循环体 WEND
i=1
s=0 DO
s=s+i i=i+1
LOOP UNTIL i>100 PRINT s END
x=20 DO x=x-3
LOOP UNTIL x<0 PRINT x END
行,直到某一次条件不符合为止. 这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句. 因此,当型循环有时也称为“前测试型”循环. 其对应的程序结构框图为:(如上右图)
问题:计算1+2+3+…+100的值还有其他算法吗?:
分析:这是一个累加问题,我们可以用WHILE型语句,也可以用UNTIL型语句.由此看来,解决问题的方法不是惟一的,当然程序的设计也是有多种的,只是程序简单与复杂的问题.
算法:
第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
i=1
s=0
WHLIE i<=100
s=s+i
i=i+1
WEND
PRINT s
END
(三)讲练结合,巩固提高
练习:阅读下面的程序,你能说明它是一个什么问题的算法吗?
x=1
WHILE x∧2<1000
PRINT x
x=x+1
WEND
END
求满足x2<1000的所有正整数x的值.
例8:已知函数302432
3+-+=x x x y ,写出连续输入自变量的11个取值,分别输出相应的函数值的程序.
回顾例2:写出用“二分法”求方程
()0022〉=-x x 的近似解的算法. 算法分析:
令f(x)= 22-x ,则方程
()0022〉=-x x 的解就是函数f (x )的零点. 第一步,令f(x)= 22
-x ,给定精确度d.
第二步,确定区间[a ,b],满足f(a)·f(b)<0.
第三步,取区间中点
2b
a m +=
.
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m],否则,含零点的区间为[m ,b]. 将新得到的含零点的区间仍记为[a,b];
第五步,判断[a,b]的长度是否小于d 或f(m)是否等于0.若是,则m 是方程的近似解;否则,返回第三步.
n=1 DO
INPUT x
y=x ∧3+3*x ∧
2-24*x+30 PRINT y n=n+1
LOOP UNTIL n>11 END
INPUT “a,b,d=”;a,b,d
DO
m=(a+b)/2
g=a∧2-2
f=m∧2-2
IF g*f<0 THEN
b=m
ELSE
a=m
END IF
LOOP UNTIL ABS(a-b)<d OR f=0
PRINT m
END
(四)小结
1、两种循环语句源于两种循环结构,UNTIL语句先执行循环体,再判断条件;WHILE 语句先判断条件,再执行循环体.
2、UNTIL语句在条件不符合时再执行循环体,WHILE语句在条件符合时再执行循环体. (五)布置作业:
P32练习:1,2.
P33习题1.2A组:3.
B组:2.。

相关文档
最新文档