(共28张PPT)
基本算法语句
1、输入语句、输出语句和赋值语句的格式:
输入语句
输出语句
赋值语句
【归纳小结】
INPUT “提示内容”;变量
PRINT “提示内容”;表达式
变量=表达式
变量:=表达式
2、输入语句和输出语句中的“提示内容”有时可以省略.
3、条件结构的程序框图以及与之对应的条件语句
IF 条件 THEN
语句1
ELSE
语句2
EDN IF
满足条件?
语句1
语句2
是
否
语句1
满足条件?
是
否
IF 条件 THEN
语句1
END IF
例1.编写一个程序,求实数x的绝对值.
程序框图:
开始
结束
输入x
输出x
输出-x
x≥0
程序:
INPUT x
IF x>=0 THEN
PRINT x
ELSE
PRINT -x
END IF
END
Y
N
方法二:
程序框图:
开始
结束
输入x
输出x
x=-x
x<0
程序语句:
INPUT x
IF x<0 THEN
x=-x
END IF
PRINT x
END
N
Y
例2.说出右图的算法功能,并把图中的程序框图转化为程序.
输出原方程无实数根
输出p
开 始
输入a,b,c
Δ=b2-4ac
p= -b/2a
x1=p+q
Δ=0
Δ≥0
输出实数根x1,x2
结 束
否
是
否
x2=p-q
否
否
是
是
练习: 1、以下给出的是用条件语句编写的一个程序,根据该程序回答:
(1)若输入4,则输出结果是 ,
(2)该程序的功能是求函数 的函数值.
INPUT x
IF x<3 THEN
y=2*x
ELSE
IF x>3 THEN
y=x*x-1
ELSE
y=2
END IF
END IF
PRINT y
END
2、请将下列程序补充完整.
(1)输入两个数,输出其中较大的一个数.
INPUT “a,b=”;a,b
IF a>b THEN
PRINT a
ELSE
END IF
END
(2)判断任意输入的数x是否是正数,若是,输出它的平方值;若不是,输出它的相反数
INPUT “x=”;x
IF THEN
y=-x
ELSE
y=x*x
END IF
PRINT y
END
3、已知函数
试编写程序输入x的值,输出y的值
开始
结束
输入x
输出0
输出-1
输出1
x<0
x>0
Y
N
Y
N
INPUT x
IF x>0 THEN
PRINT 1
ELSE
IF x<0 THEN
PRINT -1
ELSE
PRINT 0
END IF
END IF
END
例7 编写程序,使任意输入的3个数按从大
到小的顺序输出.
自然语言:
第一步 输入3个整数a、b、c
第二步 将a与b比较,并把小者赋给b,大的赋给a;
第三步 将a与c比较,并把小者赋给c,大的赋给a
第四步 将b与c比较,并把小者赋给c,大的赋给b
第五步 按顺序输出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
相应的程序:
开始
t=a,a=b,b=t
t=a,a=c,c=t
t=b,b=c,c=t
输入a,b,c
输入a,b,c
b>a
c>a
c>b
结束
是
是
否
否
是
否
对应的流程图
【作业评讲】
【背景材料】通常说一年有365天,它表示地球围绕太阳转一周所需要的时间,但事实并不是这样简单。根据天文资料,地球围绕太阳转一周所需要的精确时间是365.2422天,称之为天文年。这个误差看似不大,却引起季节和日历之间难以预料的大变动。在历法上规定四年一闰,百年少一闰,每四百年又加一闰。
输出“x是闰年”
开始
结束
400整除x
4整除x
输入x
100整除x
输出“x不 是闰年”
否
是
是
否
否
是
基本算法语句
—循环语句
1、输入语句、输出语句和赋值语句的格式:
输入语句
输出语句
赋值语句
【复习巩固】
INPUT “提示内容”;变量
PRINT “提示内容”;表达式
变量=表达式
变量:=表达式
2、条件语句的格式
IF 条件 THEN
语句1
ELSE
语句2
EDN IF
满足条件?
语句1
语句2
是
否
语句1
满足条件?
是
否
IF 条件 THEN
语句1
END IF
两种循环结构有什么区别?
是
循环体
满足条件
否
Until(直到型)循环
3、循环结构的程序框图
是
否
While(当型)循环
满足条件
循环体
先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立时退出循环。
先判断指定的条件是否成立,如果条件成立,就执行循环体,直到条件不成立时退出循环。
先执行 后判断
先判断 后执行
是
否
While(当型)循环
满足条件
循环体
是
循环体
满足条件
否
Until(直到型)循环
WHILE 条件
循环体
WEND
DO
循环体
LOOP UNTIL 条件
是
否
While(当型)循环
满足条件
循环体
是
循环体
满足条件
否
Until(直到型)循环
i=1
S=0
DO
S=S+i
i=i+1
LOOP UNTIL i>100
PRINT S
END
i=1
开始
结束
S=0
输出S
i=i+1
S=S+i
i>100
否
是
程序框图:
程序:
例1.编写程序,计算1+2+…+100的值
i<=100
i=1
开始
输出S
结束
否
是
S=0
i=i+1
S=S+i
i=1
S=0
WHILE i<=100
S=S+i
i=i+1
WEND
PRINT S
END
程序:
程序框图:
例 2 、编写程序,计算函数
f(x)=x2-3x+5当x=1,2, 3,…,20时的函数值。
练习 P32
1、编写一个程序,输入正整数n,计算它的
阶乘n!(n!=n*(n-1)*…*3*2*1)
开始
结束
i=i+1
m=m*i
m=1,i=1
输入n
输出m
i>n
a
a
b
b
程序框图:
Y
N
m=1
i=1
INPUT "请输入n的值:";n
DO
m=m*i
i=i+1
LOOP UNTIL i>n
PRINT "这个数的阶乘为:";m
END
程序语句:
思考:编写一个程序,输入正整数n,计算sum=1!+2!+...+n!
2、用直到型循环语句设计一个计算
10个数平均数的算法,并写出程序.
开始
结束
输出A
输入x
s=0,i=1
i=i+1
s=s+x
i>10
A=s/10
1
1
2
2
N
Y
程序框图:
算法语句:
s=0,i=1
DO
INPUT x
s=s+x
i=i+1
LOOP UNTIL i>10
A=s/10
PRINT A
END
3、根据下面的程序,画出
其算法的程序框图
i=-1
WHILE i<=1
x=i
y=x*x*x
i=i+0.2
PRINT “y=”;y
WEND
END
开始
结束
i<=1
i=-1
i=i+0.2
y=x*x*x
x=i
输出y
N
Y