运用顺序结构描述问题求解过程
学习目标
掌握顺序结构。
学习内容
将程序的基本结构按一定规律组成并对算法进行描述,是保证和提高算法的质量,以及编写优质程序的基础。按语句的先后顺序执行的结构称为“顺序结构”。顺序结构是结构化程序的基本结构之一。
探究活动
项目小组成员在某网购站点上获取到如下信息:笔记本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元。