课件21张PPT。第一章 算法初步
1.2.2 条件语句复习回顾输入语句INPUT “提示内容”;变量输出语句PRINT “提示内容”;表达式赋值语句变量=表达式INPUT
“提示内容”;变量PRINT
“提示内容”;
表达式变量=表达式可对程序中
的变量赋值可输出表达式的值,计算可对程序中的变量赋值,计算(1)提示内容和它后面 的“;”可以省略(2)一个语句可以给多个变
量赋值,中间用“,”分隔(3)无计算功能(1)表达式可以是变量,
计算公式,或系统信息(2)一个语句可以输入多个表达式,中间用“,”分隔(3)有计算功能(1)“=”的右侧必须是表达式,左侧必须是变量(2)一个语句只能给一个变量赋(3)有计算功能注意:⑴赋值号左边只能是变量名字,而不是表达式.问题1:下列的赋值形式正确吗?为什么?例如: ①x+y=2+3 ②2=x问题2:在数学中x=y与y=x的意义是一样的,那么在赋值语句中一样吗?注意:⑵赋值号左右不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.赋值号与数学中的等号意义不同:
Y=X,表示用X的值替代变量Y原先的取值.
X=Y,表示用Y的值替代变量X原先的取值.
所以“Y=X与 X=Y”的含义运行结果是不同的.注意:⑶不能利用赋值语句进行代数的演算(如化简、因式分解、解方程等)
例如:①x2+10x+16=0
(x+8)(x+2)=0
x=-8,x=-2
②y=x2-1=(x-1)(x+1)这是不能实现的问题3:我们知道a=a+1在数学中是不成立的,但在赋值语句中成立吗?为什么? 答: 在赋值语句中是成立的,意思是将a的原值加1在赋给a,即a的值增加1.如果多次给一个变量赋值,则该变量的值取最后赋予的那个值.数学符号与程序符号的对比 条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.步骤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. IF 条件 THEN
语句体1
ELSE
语句体2
END IFIF 条件 THEN
语句体
END IF(单分支条件结构)(双分支条件结构)例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随堂练习1. INPUT “x= ”; x
IF x>3 THEN
y=x * x
ELSE
y=2 * x
END IF
PRINT “y=”; y
END
若输入4,输出结果是__补充完整下面用来求任意一个实数x的绝对值的程序
INPUT “x= ”; x
_____________
PRINT “|x|= ”; x
ELSE
PRINT “|x|= ”; -x
_____________
END16IF X>=0 THENEND IF3. 根据下面的算法和程序框图写出相应的程序.
开始输入a,ba>b?输出b-a输出a-b结束INPUT “a=”; aEND IFINPUT “b=”; bIF a>b THEN
PRINT a-bELSE
PRINT b-aEND随堂练习 例2.已知y= ,编写程序, 输入自变量的值,输出相应的函数值.结束x<0?否y=x+1输出yy=-2x+1是开始输入xIF x<0 THENy=(-2)*x+1ELSE y=x+1PRINT yEND IFINPUT xEND开始输入a,b,c△≥0?△= 0?结束输出x=p原方程无实
数根NYYN例3.编写程序,输入
一元二次方程的系数,输出它的实数根开始输入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例4.编写程序,使得任意输入3个整数按大到小的顺
序输出.算法分析: 算法思想:3个数两两比较,确定大小.按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c.第一步 输入3个整数a、b、c第二步 将a与b比较,并把小者赋给b,大的赋给a;第三步 将a与c比较,并把小者赋给c,大的赋给a第四步 将b与c比较,并把小者赋给c,大的赋给b第五步 按顺序输出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.右边给出的是用条件语句编写的一个程序,根据该程序回答:INPUT x
IF x<3 THEN
y=2*x
ELSE
IF x>3 THEN
y=x*x-1
ELSE
y=0
END IF
END IF
PRINT y
END(1)若输入5,则输出结果是
____ ;
(2)若输入2,则输出结果是
____ ;244巩固练习2. 下列程序运行后的结果是( )
a=2
b=3
IF a t=a
a=b
b=t
END IF
PRINT “a=”; a
PRINT “b=”; b
END
A. a=2,b=3 B. a=3,b=3
C. a=2,b=2 D. a=3,b=2D小结: 条件语句的一般格式有两种: (1) IF—THEN语句 :
IF 条件 THEN
语句
END IF(2 ) IF—THEN—ELSE语句: IF 条件 THEN
语句1
ELSE
语句2
END IF否是满足条件?语句1