当前位置:
文档之家› 人教版高中数学必修三 基本算法语句
人教版高中数学必修三 基本算法语句
注:BASIC语言中的标准函数SQR(x),表示数x 的算术平方根,ABS(x)表示x的绝对值等.
即: SQR( x) x , ABS(x)=|x|.
〖作业2〗
程序:
INPUT “a,b,h=”;a ,b,h p=a+b s=p*h/2 PRINT “s=”;s END
算法中的条件结构是由条件语句来表达的, 条件语句是处理条件分支逻辑结构的算法语句 . 条件语句的一般格式 只含一个“分支”的条件结构 写成条件语句为
“\”用来取商.此处表示 x除以10的商.
“MOD”用来取余数.此处表示 x除以10所得余数为b.
[问题]如输入的数x=86,则输出 的结果是什么? 68 此程序用于交换一个两位数的 个位和十位数字.
INPUT “a,b,c=”; a,b,c IF a+b>c AND a+c>b AND b+c>a THEN PRINT “Yes.” ELSE PRINT “No.” END IF END
否
是
(2)UNTIL语句的一般格式是: 直到型循环结构 DO 循环体 LOOP UNTIL
循环体
条件
满足条件?
否
是
从UNTIL型循环结构分析,计算机执行该语句时,先 执行一次循环体,然后进行条件的判断,如果条件不 满足,继续返回执行循环体,然后再进行条件的判断, 这个过程反复进行,直到某一次条件满足时,不再执 行循环体,跳到LOOP UNTIL语句后执行其他语句, 是先执行循环体后进行条件判断的循环语句.
一.输入语句 输入语句的一般格式 INPUT “提示内容”;变量
说明: (1)输入语句的作用是实现算法的输入信息功能; (2)“提示内容”提示用户输入什么样的信息, 变量是指程序在运行时其值是可以变化的量; (3)输入语句要求输入的值只能是具体的常数, 不能是函数、变量或表达式; (4)提示内容与变量之间用分号“;”隔开, 若输入多个变量,变量与变量之间用逗号“,”隔开
〖例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.
循环体 循环体
满足条件? 否
是
满足条件?
否
是
对应于程序框图中的两种循环结构,一般 程序设计语言中也有当型(WHILE型)和直到型 (UNTIL型)两种语句结构。
即WHILE语句和UNTIL语句。
(1)WHILE语句的一般格式是: WHILE 条件 循环体 WEND WHILE——当…… 时候
WEND——朝……方向 行走
(1)WHILE语句的一般格式是
(2)UNTIL语句的一般格式是: 直到型循环结构 DO 循环体 LOOP UNTIL DO——做什么 UNTIL——绕环回线走,直到达到某种 条件为止 思考:参照其直到型循环结构对应的程序框图,说说 计算机是按怎样的顺序执行UNTIL语句的? LOOP
循环体
条件
满足条件?
【例题解析】
〖例1〗:编写程序,输入一元二次方程ax2+bx+c=0的系 数,输出它的实数根。
算法分析: 一元二次方程的根有三种不同情况: 设判别式△=b2-4ac (1)当△>0时,一元二次方程有两个不等的实数根. b b b b x11 , ,xx2 x 2 2a a 2a 2a 2a 2 (2)当△=0时,一元二次方程有两个相等的实数根. b b p x1 x2 2a 2a (3)当△<0时,一元二次方程没有实数根.
否 语句2
是 语句1
当计算机执行上述语句时,首先对IF后的 条件进行判断,如果条件符合,就执行THEN后 的语句体1,否则执行ELSE后的语句体2.
条件语句的作用 在程序执行过程中,根据判断 是否满足约定的条件而决定是否需 要转换到何处去。需要计算机按条 件进行分析、比较、判断,并按判 断后的不同情况进行不同的处理。
INPUT “a=”; a IF a MOD 2 =0 THEN PRINT “Even.” ELSE PRINT “Odd.” END IF END
算法中的循环结构是由循环语句来实现的 .
循环结构有两种-----当型与直到型. 当型循环结构(当条件满 直到型循环结构(反复执 行循环体直到条件满足) 足时反复执行循环体)
q 2a
开始
输入a,b,c
【程序框图】
是 否
输出p
1
△=0?
2
△=b2-4ac
△≥0?
否 x1=p+q
是
b p 2a
q 2a
x2=p-q
输出x1,x2
原方程无实根
结束
1
2
【程序】
INPUT “ a,b,c =”;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 “One real root:”;p ELSE x1=p+q x2=p-q PRINT “Two real roots:“;x1,x2 END IF ELSE PRINT “No real root!” END IF
满足条件?
是
否
语句
IF 条件 THEN 语句体 END IF
当计算机执行这种形式的条件语句时,首先对 IF后的条件进行判断,如果条件符合,就执行 THEN后的语句体,否则执行END IF之后的语句.
含两个“分支”的条件结构
满足条件?
写成条件语句为 IF 条件 THEN 语句体1 ELSE 语句体2 END IF
INPUT B PRINT A,B X=A A=B B=X PRINT A,B END
不能!!!!!!
〖练习1〗:编写一个程序,要求输入一个圆的半径, 便能输出该圆的周长和面积.( π取3.14) 分析:设圆的半径为R,则圆的周长C=2πR,面积 S=πR2,可以利用顺序结构中的INPUT语句,PRINT 语句和赋值语句设计程序。
其中循环体是由计算机反复执行的一组语句 构成的。WHLIE后面的“条件”是用于控制计算机 执行循环体或跳出循环体的。
WHILE 条件 循环体 当计算机遇到WHILE语句时, WEND 先判断条件的真假,如果条件 符合,就执行WHILE与WEND之间 的循环体;然后再检查上述条 当型循环结构 件,如果条件仍符合,再次执行 循环体,这个过程反复进行,直 循环体 到某一次条件不符合为止.这 时,计算机将不执行循环体,直 满足条件? 是 接跳到WEND语句后,接着执行 否 WEND之后的语句.
注意: INPUT语句不但可以给单个变量赋值,还可以 给多个变量赋值,其格式为:
INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,…
例如,输入一个学生数学,语文,英语三门课的成绩, 可以写成:
INPUT “数学,语文,英语”;a,b,c
二.输出语句 输出语句的一般格式 PRINT “提示内容”;表达式 说明: (1)“提示内容”提示用户输出什么样的信息,表 达式是指程序要输出的数据; (2)输出语句的用途: ①输出常量,变量的值和字符串等系统信息。 ②输出数值计算的结果。
Байду номын сангаас
例1 用描点法作函数y=x3+3x2-24x+30的图象 时,需要求出自变量和函数的一组对应值.编写程序, 分别计算当x=-5,-4,-3,-2,-1,0,1, 2,3,4,5时的函数值. 程序: INPUT “x=”;x -----------------输入语句 y=x^3+3*x^2-24*x+30---------赋值语句 PRINT x -------------------------打印语句 输出语句 PRINT y -------------------------打印语句 输出语句 END -------------------------表示结束
我们知道,顺序结构是任何一个算法 都离不开的基本结构。 输入、输出语句和 赋值语句基本上对应于算法中的顺序结构. (如右图) 计算机从上而下按照语 语句n 句排列的顺序执行这些语句. 输入语句和输出语句分 别用来实现算法的输入信息, 输出结果的功能.
语句n+1
输入语句和输出语句分别用来实现算法的 输入信息,输出结果的功能。
〖例4〗交换两个变量A和B的值,并输出交换前后 的值。 分析:引入一个中间变量X,将A的值赋予X,又将B 的值赋予A,再将X的值赋予B,从而达到交换A, B的值.(比如交换装满水的两个水桶里的水需要 再找一个空桶) 程序: INPUT A 问题:能否用下列赋值 语句交换A,B的值? A=B B=A
【例题解析】 〖例2〗:编写程序,计算一个学生数学、语文、 英语三门课的平均成绩。 分析:先写出算法,画出程序框图,再进行编程。 程序框图
开始 输入a,b,c
abc y 3
程序: INPUT “Maths,Chinese,English”;a,b,c y=(a+b+c)/3 PRINT “y=”;y END
【程序框图】
开始
输入a,b,c
交换a,b的值
b>a?
是
t=a
是
t=a a=c c=t
否 否
c>a?
a=b
b=t
c>b?