课件23张PPT。课本练习解答1.已知一个正三棱柱的底面边长为2,高为3,用输入、输出语句和赋值语句表示计算此三棱柱的体积的算法.解:算法的伪代码为
Read a,h
V←sqr(3)a2h/4
Print V2.若三角形的三边长分别为a,b,c,借助三角形的面积公式
S= ,其中 ,用输入、输出语句和赋值语句表示计算三角形面积的一种算法.解:算法的伪代码为
Read a,b,c
p←(a+b+c)/2
S←sqr(p(p-a)(p-b)(p-c))
Print S3.某市2004年1~12月的产值分别为3.8, 4.2, 5.3, 6.1, 5.6, 4.8, 7.3, 4.5, 6.4, 5.8, 4.7, 6.5(亿元),该市要统计每季度的月平均产值及2004年的月平均产值,试分别用赋值语句和输入、输出语句表示计算上述各个平均值的算法.解:设1~12月的产值分别为a1,a2,a3,…,a12.第1~4季度的月平均产值分别为x1,x2,x3,x4,年月平均产值为x,则起算法的伪代码为:
x1←(a1+a2+a3)/3
x2←(a4+a5+a6)/3
x3←(a7+a8+a9)/3
x4←(a10+a11+a12)/3
x←(x1+x2+x3+x4)/4
Print x1,x2,x3,x4,x条件语句条件语句 某居民区的物管部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.
如何设计算法,根据输入的人数计算应收取的卫生费?
其流程图如图所示
从流程图可以看出这是一个选择结构.在执行此算法时,要根据一定的条件选择箭头流线的方向.If A Then
B
Else
C
End If 其中A表示判断的条件,B表示满足条件时执行的操作内容,C表示不满足条件时执行的操作内容,End If表示条件语句结束。伪代码If A Then
B
End If 其中A表示判断的条件,B表示满足条件时执行的操作内容,条件不满足时直接退出条件语句,End If表示条件语句结束。伪代码If A Then
B
Else
C
End If伪代码If A Then
B
End If伪代码令c(单位:元)表示应收取的费用,t表示这户人家的人口数,则有现在,我们来解决开始提出的问题:解决这一问题的算法步骤如下:S1 输入人数t;
S2 如果t≤3,那么c←5,
否则c←5+1.2(t-3);
S3 输出c.从而可以把这个算法用条件语句表示为:我们把步骤“ c←5 ”称为“Then”分支,
步骤“c←5+1.2(t-3)”称为“Else”分支. 这些分支一般缩进书写伪代码为:Read t
If t≤3 Then
c←5
Else
c←5+1.2(t-3)
End If
Print c例2 儿童乘坐火车时,若身高不超过1.1m,则无需购票;若身高超过1.1m但不超过1.4m,可买半票;若超过1.4m,应买全票.试设计一个购票的算法,写出伪代码,并画出流程图.解 上述购票的算法步骤为:
S1 测量儿童身高h;
S2 如果h≤1.1,那么免费乘车;
否则,如果h≤1.4,那么购半票乘车;
否则,购买全票乘车.流程图如图所示:用条件语句表示为:Read h
If h≤1,1 Then
Print 免费乘车
Else
If h≤1.4 Then
Print 半票乘车
Else
Print 全票乘车
End If
End If条件语句“If-Then-Else”可以嵌套例3 已知函数
试写出计算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解:算法为:
S1 输入x;
S2 若x≥0,则输出x,
否则输出-x.
伪代码表示为:
Read x
If x≥0 Then
Print x
Else
Print -x
End If练习1 已知函数y=|x|,试用条件语句写出计算y值的一个算法解法二:算法为
S1 输入x
S2 若x<0,则x←-x
S3 输出x
伪代码为:
Read x
If x<0 Then
x←-x
End If
Print x2.设计判断x是偶数或是奇数的一个算法。伪代码为:
Read x
If mod(x,2)=0 Then
Print x;“是偶数”
Else
Print x;“是奇数”
End ifmod(x,2)=0结束N输出 x是奇数3.用条件语句表示:输入两个数,输出一个较大的数.Read a,b
If a≥b Then
Print a
Else
Print b
End If4.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费.试用条件语句描述汇款额为x(元)时,求银行收取的手续费y(元)的算法过程,并画出流程图.4.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费.试用条件语句描述汇款额为x(元)时,求银行收取的手续费y(元)的算法过程,并画出流程图.伪代码为:
Read x (x≤1000000)
If x≤100 Then
y←1
Else
If x≤5000 Then
y←0.01x
Else
y←50
End If
End If
Print y作业:
P24 3、4习题1.2 用算法语句给出公式法求解方程:x2-3x-4=0的算法.解:用语句表示的算法是:
Read a,b,c(△≥0)
△←b2-4ac
x1←(-b+sqr(△))/2a
x2←(-b-sqr(△))/2a
Print x1,x2