算法基本语句(共3课时)

文档属性

名称 算法基本语句(共3课时)
格式 rar
文件大小 83.6KB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2007-11-18 00:49:00

文档简介

课件15张PPT。1.2 基本算法语句1.2.1 输入语句、输出语句和赋值语句1、计算机语言是一种计算机能理解的特殊语言,如BASIC,FORTRAN,C++,FOXBASE等,它们都是用一些特定意义的符号和语言描述的。自然语言必须转换成计算机语言才能为计算机接受,并实施算法。
2、考虑到通用性和普及性,本节采用BASIC语言中的关键词来编写伪代码。伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法。
例1用描点法作函数y=x3+3x2-24x+30的图象是时,需要求出自变量和函数的一组对应值。编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。程序:INPUT “x=”; xy=x^3+3*x^2-24*x+30 PRINT xPRINT yEND算法:1、输入语句的一般格式:举例:输入语、数、英三门课成绩或 INPUT  ”Maths,Chinese,English”;a,b,c INPUT “maths”;a
INPUT “Chinese”;b
INPUT “English”;cINPUT “提示内容”;变量INPUT “提示内容1,提示内容2,提示内容3,…”; 变量1,变量2,变量3,…2、输入语句的作用是 :实现算法的输入信息功能 (即对程序中的变量赋值)3、 “提示内容”提示用户输入什么样的信息 变量 是指程序在运行时其值是可以变化的量(一)输入语句:INPUT “n=”;nINPUT “a,b,c”;a,b,c输入框:INPUT “请输入需判断的整数n=”;n注:①“提示内容”与变量之间必须用分号“;”隔开。
②各“提示内容”之间以及各变量之间必须用逗号“,” 隔开。但最后的变量的后面不需要。
③提示内容和它后面的“;”可省略
④由键盘输入的数据必须是常量,输入多个时用“,”分隔,个数与变量个数要相同。输出语句的一般格式 PRINT “提示内容”;表达式输出语句的作用是实现算法的输出结果功能; “提示内容” 提示用户输出什么样的信息,
表达式 是指程序要输出的数据; 输出语句可以输出常量、变量或表达式的值以及字符。 例: PRINT “s=”; s 输出框:PRINT n;“是质数”
PRINT n;“不是质数” (二)输出语句The Fibonacci Progression is:1 1 2 3 5 8 13 21 34 55 …输出框:PRINT n;“是质数。”
输出框:PRINT n;“不是质数。” 〖思考〗:在1.1.2中程序框图中的输出框的内容怎样用输出语句来表达? 例2: 编写程序,计算一个学生数学、语文、英语三门课的平均成绩。程序算法INPUT “数学=”;a
INPUT “语文=”;b
INPUT “英语=”;c
PRINT “The average=”; (a+b+c)/3
END(三)赋值语句:用来表明赋给某一个变量一个具体的确定值的语句。 变量=表达式赋值语句也可以给变量提供初值。它的一般格式是:其中“=”叫做赋值号。 赋值语句的作用:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值。注:①赋值号左边只能是变量名字,而不能是表达式。如:2=X是错误的。
②赋值号左右不能对换。如“A=B”“B=A”的含义运行结果是不同的。
③不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)
④赋值号“=”与数学中的等号意义不同。〖例3〗:给一个变量重复赋值。A=10
A=A+10
PRINT A
END
程序: 在此程序的基础上,设计一个程序,要求A的输出值是 多少?A=10
A=A+15
PRINT A
A=A+5
PRINT A
END〖例4〗:交换两个变量A和B的值,并输出交换前后的值。分析:引入一个中间变量X,将A的值赋予X,又将B的值
赋予A,再将X的值赋予B,从而达到交换A,B的值。
(比如交换装满水的两个水桶里的水需要再找一个空桶)INPUT A
INPUT B
PRINT A,B
X=A
A=B
B=X
PRINT A,B
END
程序: 〖例〗:编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积。(INPUT “半径为R=”;R
C=2*3.14*R
S=3.14*R^2
PRINT “该圆的周长为:”;C
PRINT “该圆的面积为:”;S
END可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序。 P24 练习 1. 2. 3 参考答案:
1.程序: INPUT “请输入华氏温度:”;x
y=(x-32)*5/9
PRINT “华氏温度:”;x
PRINT “摄氏温度:”;y
END〖提问〗:如果要求输入一个摄氏温度,输出其相应的华氏温度,又该如何设计程序? X=a+b
Y=a-b
Z=a*b
Q=a/b
PRINT a,b
PRINT X,Y,Z,Q
END程序:
p=(2+3+4)/2
t=p*(p-2)*(p-3)*(p-4)
s=SQR(t)
PRINT “该三角形的面积为:”;s
END 【课堂小结】
本节课介绍了输入语句、输出语句和赋值语句的结构特点及联系。掌握并应用输入语句,输出语句,赋值语句编写一些简单的程序解决数学问题,特别是掌握赋值语句中“=”的作用及应用。编程一般的步骤:先写出算法,再进行编程。我们要养成良好的习惯,也有助于数学逻辑思维的形成。课件12张PPT。§1.2.2 条件语句数学符号与程序符号的对比练习1、判断下列赋值语句是否正确
(1) 4=m (2) x+y=10 (3) A=B=2 (4) N=2*N2、写出下列语句描述的算法的输出结果 a=5
b=3
c=(a+b)/2
d=c*c
PRINT “d=”; a=1
b=2
c=a+b
b=a+c-b
d PRINT a,b,c a=10
b=20
c=30
a=b
b=c
c=a
PRINT a,b,c×××√d= 161 2 3 20 30 20 条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.步骤A满足条件?
步骤B
是否步骤A满足条件?是否复习:条件语句:
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。 1、条件语句的一般格式有两种: (1) IF—THEN语句 :
IF 条件 THEN
语句体
END IF 计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行END IF 之后的语句。 步骤A满足条件?是否(2) IF—THEN—ELSE语句: IF 条件 THEN
语句体1
ELSE
语句体2
END IF 步骤A满足条件?
步骤B
是否 当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2。 例1、编写程序,输入一个x的值,要求输出它的绝对值.是程序框图:开始输入xx≥0?输出x否输出-x结束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开始输入a,b,c△≥0?△= 0?结束输出x=p原方程无实
数根NYYN〖例〗编写程序,输入
一元二次方程的系数,输出它的实数根开始输入a,b,c△≥0?△= 0?结束输出p原方程无
实数根NYYNINPUT a,b,c
d=b*b-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,〖例2〗:编写程序,使得任意输入的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.开始输入a,b,cb>a?c>a?c>b?输出a,b,c结束t=aa=bb=tt=aa=cc=tc=tb=ct=bYNYNNYINPUT “a,b,c=”;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) IF—THEN语句 :
IF 条件 THEN
语句
END IF(2 ) IF—THEN—ELSE语句: IF 条件 THEN
语句1
ELSE
语句2
END IF否是满足条件?语句1课件18张PPT。1.2.3 循环语句循环结构的定义: 在一些算法中,从某处开始,按照一定条件,
反复执行某一处理步骤的情况,这就是循环结构。
反复执行的处理步骤称为循环体。 两种循环结构有什么差别?两种循环结构有什么差别? 先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环。 先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环。先执行 后判断先判断 后执行While(当型)循环Until(直到型)循环两种循环语句: WHILE 条件
循环体
WEND(1)WHILE语句的一般格式: 当计算机遇到WHILE语句时,先判断条件的真假,如
果条件符合,就执行WHILE与WEND之间的循环体;然
后再检查上述条件,如果条件仍符合,再次执行循环体,
这个过程反复进行,直到某一次条件不符合为止.这时,
计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.练习、编写计算机程序来计算1+2+…+100的值i<=100?i=1开始输出sum结束否是sum=0i=i+1sum=sum+ii=1
sum=0
WHILE i<=100
sum=sum+i
i=i+1
WEND
PRINT sum
END程序:Until(直到型)循环 DO
循环体
LOOP UNTIL 条件(2)UNTIL语句的一般格式:思考1:参照直到型循环结构,说说计算机是按怎样
的顺序执行UNTIL语句的? 思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.i=1
sum=0
DO
sum=sum+i
i=i+1
LOOP UNTIL i>100
PRINT sum
ENDi=1结束sum=0程序框图:程序:开始输入ni=2i=i+1i>n-1或r=0?n不是质数结束r=0?否是求n除以i
的余数rn是质数是否11思考3:图1.1-2,用按照算法执行的顺序,把程序
框图中的内容转化为相应的程序语句。 INPUT “n=”;n
i=2
DO
r = n MOD i
i=i+1
LOOP UNTIL i>n-1 OR r=0
IF r=0 THEN
PRINT n;“不是质数."
ELSE
PRINT n;"是质数."
END IF
END练习1 根据你画出的用二分法求方程x2-2=0的近似根的程序框图,写出相应的程序语句.否是否f(a) f(m)<0?开始f(x)=x2-2输入误差d
和初值a,ba=mb=m|a-b|END否是是否f(a) f(m)<0?开始f(x)=x2-2输入误差d
和初值a,ba=mb=m|a-b|当x=1, 2, 3, …, 20 时的函数值。x=1
WHILE x<=20
y=x^2 -3*x+5
PRINT "x=";x
PRINT "y=";y
x=x+1
WEND
END练习3. 编写一个程序,输入正整数n,计算它的
阶乘n!(n!=n× (n-1) ×…×3×2×1)练习5、青年歌手电视大赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分时,必须去掉一个最高分和一个最低分后再求平均分。试设计一个程序,解决该问题。(假定分数采用10分制,即每位选手的分数最高为10分,最低为0分)S=0
i=1
max=0
min=10
DO
INPUT x
S=S+x
IF max<=x THEN
max=x
END IF
IF min>=x THEN
min=x
END IF
i=i+1
LOOP UNTIL i>12
S=S-max-min
a=S/10
END
小 结WHILE 条件
循环体
WENDDO
循环体
LOOP UNTIL 条件两种循环语句:(2)Until(直到型)循环