内容正文:
运用顺序结构描述问题求解过程
第四章 程序设计基础
信息技术(必修1):数据与计算
情境:
习近平提出:我们要坚持以增强人民体质、提高全民族身体素质和生活质量为目标,完善全民健身体系,增强广大人民群众特别是青少年体育健身意识,增强我国竞技体育的综合实力和国际竞争力,加快建设体育强国步伐。
身体质量指数,是BMI(Body Mass Index )指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。很多小程序上都可以测,是怎么实现的呢?
情境:
探究活动1:我的BMI
根据公式编程序输入、计算并输出自己的BMI指数,了解自己的健康状况(BMI指数在18.5-23.9之间为正常)
计算公式为: BMI=体重÷身高的平方 。(体重单位:千克;身高单位:米)
分析表:
需要的运算:/(除运算)、**(幂运算)或者*(乘)
bmi=height/(weight*weight)或者
bmi=height/weight**2
抽象与建模
数据 变量名 类型 含义
输入 height float 身高
输入 weight float 体重
输出 bmi float BMI指数
设计算法
顺序结构
其中按语句先后顺序执行的结构成为“顺序结构”,顺序的结构是结构化程序的基本结构。
顺序结构流程图
顺序结构是最常用、最简单的程序结构,其语句执行顺序是自上而下依次执行的。它是三种基本控制结构之一。其程序流程图如图所示:
数据的输入
在Python程序设计语言中,数据输入通过input( ) 函数来实现。input( ) 的一般格式为:
< 变量 > =input(“提示信息:”)
数据的输入
通过input函数,我们可输入数字、字符串和其他任意类型对象。但是在python3.x中,无论用户输入什么样的数据类型的数据,input函数的返回结果都是字符串,需要特定数据类型时需要进行类型转
t=int(input(“请输入一个整数:”))
通常可以通过int()函数或float()函数转换数据类型,将输入的值数据类型。
数据的输出
在Python 3.x中,数据输出通过print( )函数来实现,print( )的一般格式为:
print( [object, …][, sep=' '][,end='
'] )
说明:(1)方括号中的项是可选的,可以省略,如省略则取系统的默认值。
(2)object是要输出的对象,可以是常量、变量或表达式等。
(3)sep后面的空格(可以指定为其他字符)表示每个输出对象之间的分隔符,如果
缺省的话,默认值是一个单个的空格。
例如,“print(4,5,6,sep='***')”,则输出结果为“4***5***6”。
数据的输出
(4)end后面的字符串含义为输出文本尾的一个字符串,如果缺省的话,默认值是一个
换行符。如果设为其他字符,如end=' ',则输出当前行的所有内容后,在末尾加一个空格,不换行接着输出下一个print( )的输出对象。
数据的输出
print()函数格式化输出
%f 格式化浮点数字,可指定小数点后的精度。
%.2f 是指保留小数点后两位。
%y 是指格式化的对象是y。
height=input(“请输入身高(m):")
weight=input(“请输入体重(kg):")
bmi=height/weight*weight
print(“BMI=:",BMI”%.2f”%sf)
编写程序
height=float(input(“请输入身高(m):"))
weight=float(input(“请输入体重(kg):"))
bmi=height/(weight*weight)
print(“BMI=:", bmi”%.2f”%sf)
探究活动2: 燃烧我的卡路里
卡路里=((年龄*0.074+体重*0.05741+心率*0.4472)-20.4022)*时间/4.184
(以女士为例)
体重单位:千克
心率单位:次/分钟
时间单位:分钟
卡路里单位:千卡
算法流程图
编写程序
先输入以下程序:
a=float(input(“a:”))
b=float(input(“b:”))
c=float(input(“c:”))
d=float(input(“d:”))
e=round(((a*0.074+b*0.05741+c*0.4472)-22.4022)*d/4.184,1
print(e)
编写程序
调试后:
age=float(input(“请输入年龄:”))
weight=float(input(“请输入体重(kg):”))
hr=float(input(“请输入心率(次/分钟):”))#hr心率
time=float(input(“请输入时间(分钟):”))
cal=round(((a*0.074+b*0.05741+c*0.4472)-22.4022)*d/4.184,1
print(“消耗卡路里=”,e,”千卡”)
课堂小结
我的BMI
燃烧我的卡路里
1.今天计算是以女士为例的,如果要计算男士的,怎样在算法中实现?
2.如何在程序中实现更多人的BMI?
思考与拓展
感谢聆听,欢迎指正!
$$