(共17张PPT)
例1:用数学语言和程序框图描述求一元二次方程ax2+bx+c=0的根的过程.
S1 计算△=b2-4ac;
S2 如果△<0,则原方程无实数解;
否则(△≥0), x1= ,
x2= ;
S3 输出x1,x2,或“无实数解”信息.
△=b2-4ac
输出x1,x2
△≥0
Y
N
输出
“方程无实数解”
输入a, b, c
开始
结束
a=input(“a=”);
b=input(“b=”); //输入a,b,c的值
c=input(“c=”);
d=b*b-4*a*c; //计算判别式的值
if d<0 //如果d<0
disp(“no solution”); //输出无解信息
else t=sqrt(d); //否则计算d的平方根
x1=(-b+t)/(2*a); //计算x1的值
x2=(-b-t)/(2*a); //计算x2的值
print(%io(2),x2,x1) //输出x1,x2的值
end //结束条件语句
△=b2-4ac
输出x1,x2
△≥0
Y
N
输出
“方程无实数解”
输入a, b, c
开始
结束
思考:条件语句的基本格式是什么?需要注意什么?
1. if语句的一般格式是:
if 表达式
语句序列1;
else
语句序列2;
end
2.注意点:
每个if后面要有end作结束
例2:比较a与b的大小,并按大小顺序输出.
S1 输入2个数a、b;
S2 将a与b比较,并把小者赋给b,大者赋给a;
S3 按顺序输出a、b.
a=input(“a=”);
b=input(“b=”);
If ax=a; a=b; b=x;
End
Print(%io(2), b, a)
开始
输入a, b
结束
输出a, b
If ax=a, a=b, b=x
是
否
a=input(“a=”);
b=input(“b=”);
If ax=a; a=b; b=x;
End
Print(%io(2), b, a)
开始
输入a, b
结束
输出a, b
If ax=a, a=b, b=x
是
否
思考:这种条件语句的基本格式是什么?
最简单的条件语句的一般格式为:
if 表达式
语句序列1;
end
随堂练习:
1.当a=3时,下列程序的输出结果是( )
a=input(“a=”);
if a<10
y=2*a;
else
y=a*a;
end
print(%io(2),y);
A.9 B.3
C.10 D.6
答案:D
随堂练习:
2.当输出的y值的范围大于1时,则输入的x的取值范围是( )
x=input(“x=”);
if x>0
y=sqrt(x);
else
y=0.5^x-1;
end
print(%io(2),y);
A.
B.
C.
D.
答案:C
3:已知分段函数
画出程序框图,编写程序,输入自变量x的值,输出其相应的函数值.
随堂练习:
x= input(“x=”);
if x<0
y=-x+1;
else
if x=0
y=0;
else
y=x+1;
end
end
否
是
开始
输入x
x>0
y=x+1
输出y
结束
x<0
y=0
y=-x+1
否
是
4.写出算法步骤并编写程序,使得任意输入的3个整数按从大到小的顺序输出。
S1 输入3个整数a、b、c;
S2 将a与b比较,并把小者赋给b,大者赋给a;
S3 将a与c比较,并把小者赋给c,大者赋给a,此时a已是三者中最大的;
S4 将b与c比较,并把小者赋给c,大者赋给b,此时a、b、c已按从大到小的顺序排列好;
S5 按顺序输出a、b、c.
上述操作步骤可以用程序框图更直观地表达出来.
随堂练习:
a= input(“a=”);
b= input(“b=”);
c= input(“c=”);
if b>a
t=a;a=b;b=t;
end
if c>a
t=a;a=c;c=t;
end
if c>b
t=b;b=c;c=t;
end
Print(%io(2),c,b,a)
课堂小结:
1、条件语句的if语句格式
2、会编写简单的条件语句