运用顺序结构描述问题求解过程 
学习目标 
掌握顺序结构。 
学习内容 
将程序的基本结构按一定规律组成并对算法进行描述,是保证和提高算法的质量,以及编写优质程序的基础。按语句的先后顺序执行的结构称为“顺序结构”。顺序结构是结构化程序的基本结构之一。 
探究活动 
项目小组成员在某网购站点上获取到如下信息:笔记本1的单价是3元,笔记本2的单价是5元,如果两种笔记本同时购买,价格可以打八折。计算一下,购买笔记本1和笔记本2各n本,可以优惠多少元?(以元为单位,四舍五入到小数点后两位。) 
数据的输入与输出 
在程序设计中,数据的输入输出是最基本的操作之一。在 Python中,数据的输入输出通过函数来实现。 
数据的输入 
在 Python程序设计语言中,数据输入通过input()函数来实现,input()的一般格式为: 
<变量>= input('提示信息:') 
该函数返回输入的对象,可输入数字、字符串和其他任意类型对象。在 Python3.x中,不论用户输入什么类型的数据,input()函数的返回结果都是字符串,需要将其转换为相应的类型再处理。 
数据的输出 
在 Python3.x中,数据输出通过print()函数来实现,print()的一般格式为: 
print([object, …][, sep=' '][, end='\n']); 
 (1)方括号中的项是可选的,可以省略,如省略则取系统的默认值。 (2)object是要输出的对象,可以是常量、变量或表达式等。 
(3)sep后面的空格(可以指定为其他字符)表示每个输出对象之间的分隔符,如果缺省的话,默认值是一个单个的空格。 
例如,“print(4,5,6,sep='***')”,则输出结果为“4***5***6”。 
(4)end后面的字符串含义为输出文本尾的一个字符串,如果缺省的话,默认值是一个\n换行符。如果设为其他字符,如end=' ',则输出当前行的所有内容后,在末尾加一个空格,不换行接着输出下一个print()的输出对象。 
例如, print()输入示例程序如下: 
print( "hello",end=' ') 
print("world") 
输出为“hello world”。 
(5)print()函数支持参数格式化,与C语言的 printf类似。 
顺序结构的应用 
顺序结构是最常用、最简单的程序结构,其语句执行顺序是自上而下依次执行的。如“第三章第二节“三种基本控制结构”所述,只要按照解决问题的顺序写出相应的语句,便可设计出程序的顺序结构。顺序结构的流程图如下图所示。 
实践 
各小组编程解决本节探究活动“购买笔记本的费用优惠”的问题。) 
按照“3.1.2计算机解决问题的过程”,解决上述问题的方法有多种,其中一种方法步骤如下: 
(1)分析问题。 
先求出不使用优惠而单独购买所需费用,再求出使用优惠方案购买所需费用,两者相减即为节省的费用。 
(2)设计算法。 
根据上面的分析,设计算法如下: 
①输入n的值; 
②令a=3Xn; 
③令b=5Xn; 
④令y=(a+b)×(1-0.8); 
⑤输出结果y; 
⑥结束。 
其顺序结构流程图如右图所示。 
(3)编写程序。 
根据上面设计的算法,可以编写出该问题的程序代码如下: 
(4)调试程序。 
将程序代码输入计算机,然后运行程序,输入n的值为50,得到结果如下所示。经验算,结果正确。 
输入购买的笔记本1和笔记本2的本数均为:50 
购买笔记本1和笔记本2的数量均为:50本 
可节省的费用为:80.00元 
课内任务:项目小组成员在某网购站点上获取到如下信息:笔记本1的单价是3元,笔记本2的单价是5元,如果两种笔记本同时购买,价格可以打八折。计算一下,购买笔记本1和笔记本2分别m本和n本,可以优惠多少元?(以元为单位,四舍五入到小数点后两位。) 
试计算:m为5,n为2时,可以优惠的金额为5元。