(共28张PPT)
基本的算法语句:
知识回顾
赋值语句
输入语句
输出语句
条件语句
循环语句
赋值语句:
赋值语句伪代码的一般格式:
变量←表达式(公式或运算式)或变量.
符号表示“←”.
如:“x←y”表示将y的值赋给x.
赋值语句:
赋值语句伪代码的一般格式:
变量←表达式(公式或运算式)或变量.
注意:
赋值号左边只能是变量,不能是表达式 或常数;
赋值号左右两边不能调换;
赋值号左右两边可以出现同一个变量,但值可能不相同;
赋值号左右两边的量应该是同类型的.
输入语句:
输入语句的一般格式: Read a,b .
输入语句也是赋值语句,只不过是从键盘等输入设备上接受数据,而且可以批量接受数据.
输出语句:
输出语句的一般格式: Print a,b .
注意使用输出语句输出字符串时,字符内容应加在括号内.
基本算法语句(2)
A
N
Y
C
B
If A Then
B
Else
C
End If
注1.块If语句
2. If Else End If对齐,
B,C缩进且与A对齐
A表示判断的条件;
B表示满足条件时执行的操作内容;
C表示不满足条件时执行的操作内容.
A
N
Y
B
A表示判断的条件;
B表示满足条件时执行的操作内容.
If A Then B
注1.行If语句
2.一行内写完
3.缺省 Else 分支,
缺省End If结束语
问题:某居民区的物管部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元:超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数计算应收取的卫生费.
析:设人数为n,应收费c元,则
S1 输入人数n;
S2 如果n≤3,那么c←5,
否则c←5+1.2(n-3);
S3 输出c.
c←5
结束
输出c
c←5+1.2(n-3)
开始
输入n
n≤3
Y
N
Read n
If n≤3 Then
c←5
Else
c←5+1.2(n-3)
End If
Print c
【学生活动1】用条件语句表示:输入两个数,输出较大的数。
【学生活动2】
已知函数 ,
试写出计算y值的一个算法的伪代码.
例1.儿童乘坐火车时,若身高不超过1.1米,则无需购票;若身高超过1.1米但不超过1.4米,可买半票;若超过1.4米,应买全票,试设计一个购票的算法,画出流程图并写出伪代码.
S1 测量儿童身高h;
S2 如果h≤1.1,那么免费乘车;
否则,如果h≤1.4,那么购半票乘车;
否则,购买全票.
开始
h≤1.1
h≤1.4
结束
输入h
输出“免费”
Y
N
N
Y
输出“半票”
输出“全票”
Read h
If h≤1.1 Then
Print “免费”
Else
If h≤1.4 Then
Print “半票”
Else
Print “全票”
End If
End If
A
Y
N
B
If A Then
B
Else
If C Then
D
Else
E
End If
End If
C
D
E
Y
N
条件结构的嵌套
例2.已知函数 ,
试写出计算y值的一个算法.
Read x
If x>0 Then
y←1
Else
If x=0 Then
y←0
Else
y←-1
End If
End If
Print y
伪代码
流程图
开始
x>0
x=0
结束
输入x
y←1
Y
N
N
Y
y←0
y←-1
输出y
作业3.设计一个解关于x的方程:ax+b=0的程序, 图中给出了程序的一部分, 请在横线上填上适当的语句, 使程序完整.
① ;
② ;
③ .
Read a,b
If a≠0 Then
x←-b/a
Print ① .
Else
If b≠0 Then
Print ② .
Else
Print ③ .
End If
End If
x
“方程无解”
“解为任意实数”
作业7. 某次考试规定: 共考三门课, 凡考试符合下列条件之一的, 发给优秀证书. (1)三门成绩之和大于280分的;
(2)三门都不低于90分.
试写出算法伪代码.
Read a,b,c
s←a+b+c
If s >280 Then
Print “发给优秀证书”
Else
If a≥90且b≥90且c≥90 Then
Print “发给优秀证书”
Else
End If
End If
例3设计一个算法,实现求绝对值的功能.
S1 输入x;
S2 如果x<0 ,y ←-x,
否则 y ← x;
S3 输出y.
自然语言-算法1:
Y
开始
输入x
x<0
y←-x
y←x
N
结束
输出y
N
x←-x
结束
输出x
Y
开始
输入x
x<0
Read x
If x < 3 Then
y ← -x
Else
y ← x
End if
Print y
自然语言-算法2:
条件语句伪代码格式2:
If A Then B
S2 如果x<0 ,
x ←-x;
S1 输入x;
S3 输出x.
10 Read x
20 If x<0 Then x ←-x
30 Print x
例3 编写程序,使得任意输入3个整数按大到小
的顺序输出。
算法分析:
算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。
S1 输入3个整数a、b、c
S2 将a与b比较,并把小者赋给b,大的赋给a;
S3 将a与c比较,并把小者赋给c,大的赋给a
S4 将b与c比较,并把小者赋给c,大的赋给b
S5 按顺序输出a,b,c
Read 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
结束
是
是
否
否
是
否
小结与作业:
1.教案;
2.订正,复习.