公开课课堂使用配套--基本算法语句


第一章 算法

1.1

1.2

基本算法语句

东联高级中学数学组

【探究新知】 我们知道,顺序结构是任何一个算法都离不开 的基本结构。 输入、输出语句和赋值语句基本上对应 (如右图) 于算法中的顺序结构. 计算机从上而下按照语句排列 的顺序执行这些语句. 输入语句和输出语句分别用来 实现算法的输入信息,输出结果的功 能.

语句n 语句n+1

输入语句和输出语句分别用来实现算法的 输入信息,输出结果的功能。
例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 -------------------------表示结束

一.输入语句 输入语句的一般格式 INPUT “提示内容”;变量

说明: (1)输入语句的作用是实现算法的输入信息功能; (2)“提示内容”提示用户输入什么样的信息, 变量是指程序在运行时其值是可以变化的量; (3)输入语句要求输入的值只能是具体的常数, 不能是函数、变量或表达式; (4)提示内容与变量之间用分号“;”隔开, 若输入多个变量,变量与变量之间用逗号“,”隔开

注意: INPUT语句不但可以给单个变量赋值,还可以 给多个变量赋值,其格式为:
INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,…

例如,输入一个学生数学,语文,英语三门课的成绩, 可以写成:
INPUT “数学,语文,英语”;a,b,c 练一练:请你用输入语句表达课本P5和P9 页程序框图中输入框中的内容. P7页: INPUT “n=”; n P9页: INPUT a, b, c

二.输出语句 输出语句的一般格式 PRINT “提示内容”;表达式 说明: (1)“提示内容”提示用户输出什么样的信息,表 达式是指程序要输出的数据; (2)输出语句的用途: ①输出常量,变量的值和字符串等系统信息。 ②输出数值计算的结果。

(3)同输入语句一样,表达式前也可以有“提示内 容”. 如P9页的输出框 输出S 可以转化为输出语句: PRINT “S=”; S 〖思考〗:在课本P7页图1.1-2程序框图中的输 出框的内容怎样用输出语句来表达? 参考答案: 输出框: PRINT “n is a prime number .” PRINT “n is not a prime number.”

三.赋值语句 (1)赋值语句的一般格式: 变量=表达式 (2)赋值语句的作用是:先计算出赋值号右边表达 式的值,然后把这个值赋给左边的变量,使该变量的 值等于表达式的值。 (3)赋值语句左边只能是变量名字而不是表达式, 如:2=x是错误的;右边表达式可以是一个数据、 常量或算式;不能利用赋值语句进行代数式的 演算。(如化简、因式分解、解方程等) (4)赋值语句中的“=”称作赋值号,与数学中的等 号的意义是不同的.赋值号的左右两边不能对换. (5)对于一个变量可以多次赋值。

【例题解析】 〖例2〗:编写程序,计算一个学生数学、语文、 英语三门课的平均成绩。 分析:先写出算法,画出程序框图,再进行编程。 程序框图
开始 输入a,b,c
a?b?c y? 3

程序: INPUT “Maths,Chinese,English”;a,b,c y=(a+b+c)/3 PRINT “y=”;y END

输出y

结束

〖例3〗:给一个变量重复赋值。
程序: A=10 A=A+15 PRINT A END A的输出 值是多少?

分析:此程序给变量A赋了两次值.A 的初值为10,第二次赋值后,初值被“覆 盖”,A的值变为25,因此输出值是25.

〖例3〗:给一个变量重复赋值。
程序: A=10 A=A+15 PRINT A END [变式引申]:在此程序的基础上,设计一个程序, 要求最后A的输出值是30. 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 问题:能否用下列赋值 语句交换A,B的值? A=B B=A
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 语句和赋值语句设计程序。

INPUT “R=”;R C=2*3.14*R S=3.14*R^2 PRINT “C=”;C PRINT “S=”; S END

算法中的条件结构是由条件语句来表达的, 条件语句是处理条件分支逻辑结构的算法语句 . 条件语句的一般格式 只含一个“分支”的条件结构 写成条件语句为
满足条件?





语句

IF 条件 THEN 语句体 END IF

当计算机执行这种形式的条件语句时,首先对 IF后的条件进行判断,如果条件符合,就执行 THEN后的语句体,否则执行END IF之后的语句.

含两个“分支”的条件结构
满足条件?

写成条件语句为

否 语句2

是 语句1

IF 条件 THEN 语句体1 ELSE 语句体2 END IF

当计算机执行上述语句时,首先对IF后的 条件进行判断,如果条件符合,就执行THEN后 的语句体1,否则执行ELSE后的语句体2.

条件语句的作用 在程序执行过程中,根据判断 是否满足约定的条件而决定是否需 要转换到何处去。需要计算机按条 件进行分析、比较、判断,并按判 断后的不同情况进行不同的处理。

【例题解析】 1、编写一个程序,求任意实数的绝对值。 开始 程序框图: 程序如下: 输入 x 否 y=x INPUT “x=”;x IF x<0 THEN y=-x ELSE y=x END IF PRINT “︱x︱=”;y END

x<0? 是 y=-x
输出 y

结束

【例题解析】
〖例6〗:编写程序,输入一元二次方程ax2+bx+c=0的系 数,输出它的实数根。

算法分析: 一元二次方程的根有三种不同情况: 设判别式△=b2-4ac (1)当△>0时,一元二次方程有两个不等的实数根. b ? ? b? ? ? ?b ? ?b ?? ? x x11 ? ? ? ? , ,xx 2 2? 2a 2a 2a 2a 2a (2)当△=0时,一元二次方程有两个相等的实数根. b b p?? x1 ? x2 ? ? 2a 2a ? (3)当△<0时,一元二次方程没有实数根.
q? 2a

【程序】

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

〖例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.

【程序】
INPUT “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

算法中的循环结构是由循环语句来实现的 .

循环结构有两种-----当型与直到型. 当型循环结构(当条件满 直到型循环结构(反复执 行循环体直到条件满足) 足时反复执行循环体)
循环体 循环体
满足条件? 否



满足条件?





对应于程序框图中的两种循环结构,一般 程序设计语言中也有当型(WHILE型)和直到型 (UNTIL型)两种语句结构。

即WHILE语句和UNTIL语句。 WHILE——当…… 时候

(1)WHILE语句的一般格式是: WHILE 条件 循环体 WEND

WEND——朝……方向 行走

其中循环体是由计算机反复执行的一组语句 构成的。WHLIE后面的“条件”是用于控制计算机 执行循环体或跳出循环体的。

WHILE 条件 循环体 当计算机遇到WHILE语句时, WEND 先判断条件的真假,如果条件 符合,就执行WHILE与WEND之间 的循环体;然后再检查上述条 当型循环结构 件,如果条件仍符合,再次执行 循环体,这个过程反复进行,直 循环体 到某一次条件不符合为止.这 时,计算机将不执行循环体,直 满足条件? 是 接跳到WEND语句后,接着执行 否 WEND之后的语句.

(1)WHILE语句的一般格式是

(2)UNTIL语句的一般格式是: 直到型循环结构 DO 循环体 LOOP UNTIL DO——做什么 UNTIL——绕环回线走,直到达到某种 条件为止 思考:参照其直到型循环结构对应的程序框图,说说 计算机是按怎样的顺序执行UNTIL语句的? LOOP
循环体

条件

满足条件?





(2)UNTIL语句的一般格式是: 直到型循环结构 DO 循环体 LOOP UNTIL
循环体

条件

满足条件?





从UNTIL型循环结构分析,计算机执行该语句时,先 执行一次循环体,然后进行条件的判断,如果条件不 满足,继续返回执行循环体,然后再进行条件的判断, 这个过程反复进行,直到某一次条件满足时,不再执 行循环体,跳到LOOP UNTIL语句后执行其他语句, 是先执行循环体后进行条件判断的循环语句.

WHILE语句的一般格式 WHILE 条件 循环体 WEND

UNTIL语句的一般格式
DO 循环体 LOOP UNTIL

条件

提问:通过对照,大家觉得WHILE型语句与UNTIL型 语句之间有什么区别呢? 区别:在WHILE语句中,是当条件满足时执行循环 体,而在UNTIL语句中,是当条件不满足时执行循环 体。

例1.编写程序, 计算自然数1+2+3+…+99+100的和. 分析:这是一个累加问题.我们可 以用WHILE型语句,也可以用UNTIL型语 句。

当型循环结构
开始 i=1 S=0 i=i+1 i≤100? 否 输出S 结束

WHILE语句 i=1 S=0 WHLIE i<=100 S=S+i i=i+1 WEND PRINT S END



S=S+i

直到型

开始
i=1 S=0 S=S+i i=i+1 否

UNTIL语句 i=1 S=0 DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S END

i>100?
是 输出S

结束

变式训练(1): 编写程序求:n!=1×2×3×4×5×……×n的值. 开始 如何修改? WHILE语句 输入n INPUT “n=”;n i=1 i=1 S=0 S=1 S=1 S=0 n WHLIE i<=100 i=i+1 S=S+i S=S*i i=i+1 S=S+i S=S*i 是 WEND i≤100? i≤n? PRINT S 否 当型循环 输出S END
结构

变式训练(2): 编写程序求:1×3×5×7×……×101的值. 直到型 开始 如何修改? UNITL语句
i=1

S=1 S=0
S=S *i S=S+i
i=i+2 i=i+1 i>100? i>101?
是 输出S 否

i=1 S=0 S=1 DO S=S+i S=S *i i=i+1 i=i+2 LOOP UNTIL i>100 101 PRINT S END

结束

? 五、回顾小结: ? 1.循环语句的概念,并掌握其结构; ? 2.“For循环”、“While循环”在用法上 的区别与联系.


相关文档

公开课堂使用--基本算法语句1
公开课课堂使用——基本算法语句2
公开课课堂使用--基本算法语句3
《基本算法语句(复习课)》课件
公开课《算法语句》汇总
词语教学方法在课堂中的运用
公开课《算法语句》
3基本算法语句习题课
1.2.2算法基本语句条件语句 公开课课件
电脑版