内容正文:
专题三 程序的三种结构
考纲要求
(1)掌握分支语句、循环语句的使用方法;
(2)了解常用算法的实现:累加、累乘、求平均、求最大/最小值等。
一.顺序结构
按程序的执行顺序来划分,程序分为以下三种基本结构,它们的流程图如图6-3-1所示。由这三种基本结构可以组成各种更加复杂的程序。
图6-3-1 程序基本结构
顺序结构
分支结构
条件
真
假
假
循环结构
条件
真
顺序结构描述的程序是从第一条语句开始按自上往下顺序执行,直到最后一条语句结束。顺序结构是最基本的结构,其它两种结构也要用到顺序结构。
一.顺序结构
例1:输入语文、数学两科成绩,输出总分和平均分。
a=float(input("请输入语文:"))
b=float(input ("请输入数学:"))
s=a+b
v=s/2
print("总分是:",s, "平均分是:", v)
例2:输入一个三位数,输出各位数码的和,如输入234,输出9。算法分析:
①键盘上输入一个三位数n,变成数值;
②取出百位上的数字存入变量a,a=n//100;
③取出十位上的数字存入变量b,b=n//10%10或b=n%100//10;
④取出个位上的数字存入变量c,c=n%10;
⑤对个、十、百位上的数字求和,s=a+b+c;
⑥输出和s。
程序代码如下:
n=int(input("请输入一个三位数:"))
a=n//100 #取百位上数字
b=n//10%10 #取十位上数字
c=n%10 #取个位上数字
s=a+b+c
print("个十百位数码的和是:",s)
一.顺序结构
【实践体验】根据以下题目要求设计程序。
(1)有一根长度为c厘米的绳子,用它围成一个边长为整数的最大等边三角形,输入c的值输出三角形的边长(厘米)。
(2)输入一个秒数,把它转化成“×小时×分钟×秒”的形式输出,如输入3723,输出1小时2分钟3秒。
(3)输出两个整数,计算它们的平方和及平方差并输出结果。
(4)通过键盘输入变量a,b的值,交换它们的值并输出结果。
(5)输入某物体匀速运动的速度v和运动时间t,计算并输出运动的路程s,s=v×t。
二.分支结构
现实生活或工作中的问题复杂多样,并不是所有问题都可以用编写顺序执行的计算机程序语句来解决。经常需要对某些条件进行判断和选择。例如,根据学生的分数判断成绩是否合格。在程序设计中,要实现判断和选择需要使用分支语句,同时还需要使用关系运算符和逻辑运算符。分支语句也叫选择语句,分支语句会根据对条件判断的结果来执行不同的语句块。
1.单分支if语句。其语法形式如下:
if <条件>:
语句块
使用说明:语句块中包含的语句必须缩进,缩进一般使用4个空格,缩进是Python程序结构的标志。条件可以是一个布尔型常量或变量,也可以是关系表达式或逻辑表达式。如果条件的值为True,则执行语句块里的语句序列;如果条件的值为False,则语句块里的语句会被跳过,继续执行if后面的语句。这种形式的if语句相当于汉语里的“如果……就……”,其流程图如图6-3-2所示。
图6-3-2 单分支结构
例如:输入一个整数,判断是否为偶数,若是输出“是偶数”,代码如下:
a=int(input("请输入一个数:"))
if a%2==0:
print("是偶数")
【补充说明】使用if语句时,如果只有一条语句,语句可以直接写到冒号的右侧,上面例子中的if语句可以写成如下格式:
if a%2==0:print("是偶数")
2.双分支if语句。其语法形式如下:
if <条件>:
语句块1
else:
语句块2
使用说明:如果条件是True,则执行if后面的语句块1,执行完语句块1后退出if语句;否则执行else后面的语句块2。这种形式的if语句相当于汉语里的“如果……否则……”,其流程图如图6-3-3所示。
图6-3-3 双分支结构
二.分支结构
二.分支结构
例1:输入一个数输出它的绝对值。
x=float(input("请输入一个数:"))
if x>=0:
y=x
else:
y=-x
print("绝对值是:",y)
【使用技巧】if…else…语句可以使用条件表达式进行简化,如上例中求绝对值的代码可简写成:
y=x if a>=0 else -x
例2:输入两个数,输出较大的一个数。
a=float(input("输入第一个数:"))
b=float(input("输入第二个数:"))
if a>b:
max=a
else:
max=b
print("较大的数是:",max)
二.分支结构
【实践体验】根据以下题目要求设计程序。