(共45张PPT)
解决温标转换问题
--认识程序和程序设计语言
郑州市郑东新区外国语中学范欣丽
项目六
项目学习目标03.程序的基本控制结构有哪几种?02.程序设计的一般过程是怎么样的?01.什么是程序?什么是程序设计语言。04.程序设计语言产生于发展历史是怎么样的?1.体验程序设计的一般过程2.了解程序的基本控制结构3.优化程序,判断输入有效性1.体验程序设计的一般过程
程序及特征 一般过程 变量
体验程序设计的一般过程
程序
程序实际上是一组操作指令或语句序列,是计算机执行算法的一系列操作步骤。计算机是通过运行该组指令完成预期任务的。
程序设计语言:人们编制程序所使用的计算机语言。
程序的特征
1、解决问题的算法的每一个步骤对应程序中的一个或多个语句,每个语句实现一个或多个操作。
2、在程序中被实行操作的对象称为数据,不同类型的数据有不同的属性、取值范围和运算方法。
3、除了遇到特殊的程序转向控制语句之外,程序都是从第一条语句开始顺序执行。
体验程序设计的一般过程
程序设计的一般过程
1.分析问题 确定解决问题的方法 描述数据
2.设计算法 选择描述算法的方法 设计算法
3.编写程序 选择程序设计语言 编写程序
4.运行调试 修改语法错误 运行程序 发现错误并修改
随着计算机的发展,程序设计语言也在变化吗?
思考
高级语言
汇编语言
机器语言
高级
低级
体验程序设计的一般过程
机器语言
计算机主要由电子元器件组成的电路构成。由于电子元器件的特性,计算机只能识别二进制的代码。早期的程序设计语言就是由二进制代码指令组表示的,称为机器语言。每一条机器指令一般包含两个主要部分:操作码(规定指令功能)和操作数(规定被操作对象)
用机器语言编写的程序(5+12为例,计算机指令采用16位二进制表示,用机器语言编写的指令如下) 指令序号 机器指令 指令说明 指令功能
1 1011 0000 0000 0101 操作码:表示数据传输功能。左操作数(4位)表示0号寄存器,右操作数(4位)是5。 把加数5送到0号寄存器中。
2 0000 0100 0000 1100 操作码:表示加法功能.左操作数表示0号寄存器,右操作数是12。 把0号寄存器中的内容与另一数相加,结果存在0号寄存器中(即完成5+12的运算)。
3 1111 0100 停止功能 停止操作
体验程序设计的一般过程
汇编语言
用机器语言编写程序,对大多数使用者来说非常难。20世纪50年代中期,程序开发人员开始采用一种类似英语缩略词并带有助记符号的语言,替代复杂的二进制代码指令和操作数来编写程序,这就是汇编语言。
指令序号 汇编语言指令 指令功能
1 MOV Al,5 把加数5送到累加器AL中
2 ADD AL,12 把累加器AL中的内容与另一数相加,结果存在累加器AL中(即完成5+12的运算)
3 HLT 停止操作
用汇编语言编写5+12运算
累加器是运算器中的一种寄存器,用于存放计算结果
体验程序设计的一般过程
高级语言
汇编语言仍然是与计算机相关的语言,特定的计算机指集对应特定的汇编语言。使用汇编语言编写的程序不可移植。20世纪60年代中期,接近于人类自然语言的高级语言(high-levellanguage)问世。用高级语言编写的程序更加简洁易懂
用高级语言python编写5+12运算
·解释类:执行方式类似于日常生活中的“同声翻译”,应用程序源代码由相应语言的解释器“翻译”成高目标代码(机器语言),边“翻译”边执行。应用程序不能脱离其解释器。这类语言有Python、BASIC、java、php等。
·编译类:编译是指在源程序执行之前,就将程序源代码通过编译器一次慈宁宫地翻译成目标代码文件。目标程序可以脱离语言环境,独立执行。这类语言有C,C++, PASCAL,DELPHI,C#等。
体验程序设计的一般过程
编程是编写程序的简称,就是用计算机语言,告诉计算机解决问题的细节和步骤.目前世界上有600多种程序设计语言,常用的语言Python,CC++Java.JavaScript等.
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似的语言有PHP和Perl语言。
Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
Python是什么?
程序设计基础
我的第一个Python程序
我们的第一个入门编程代码便是 "Hello World!"
Python基础知识
步骤一:
单击[开始]-[python文件夹]-[IDLE]或者桌面[海龟编辑器]
进入python Shell
我的第一个Python程序
Python基础知识
我的第一个Python程序
步骤二:以海龟编辑器操作为主
在提示符“1”的后面输入 python命令并按运行键,该命令立即执行并显示结果
python命令
命令执行结果
注意:
编程用到的所有符号全是英文符号,一旦用错代码报错会有红色提示。
Python基础知识
我的第一个Python程序
新命令:输出指令
格式:
print(想要输出的内容)
功能:
输出括号内的结果,可以为数学表达式、字符串等
其中数学表达式和数学课本的数学表达式一样,而字符串表达式是用
英文单引号’’或双引号””括起来的一串字符
print可以输出什么内容?是什么格式?动手实践。
思考
print(“hello,world”)
print(12)
print(1+2)
print("Hello, World!")
Python基础知识
解释我的第一个Python程序
Print(“字符串”)或 Print(‘字符串’)
如:print(“你好”)或print(‘23’)
Print(数字)
如:Print(25)
Print(表达式)
解释:Python具有计算的能力,
将要计算的内容直接输入控制台,
它将输出答案(加减乘除,此处/,
用斜杠来分割数字会产生一个小数或浮点数)
如:Print(23+6)
print(10/0)
提示:
凡是加了引号的数字、字母、符号都是字符串,未加引号的数字才是数值,可以进行计算
Python基础知识
解释我的第一个Python程序
Print(表达式)
解释:加减乘除,此处/,
用斜杠来分割数字会产生一个小数或浮点数
/代表具有小数的商
//代表整数商
%代表取余数
**代表幂
如:Print(10/2)
Print(10//2)
Print(10%2)
Print(10**2)
提示:
凡是加了引号的数字、字母、符号都是字符串,未加引号的数字才是数值,可以进行计算
Python基础知识
解释我的第一个Python程序
Print格式:
如果需要输出多个内容,用逗号,隔开,Print(内容1,内容2,内容3)
如:
Print(“加法运算1+2=”,1+2)
用print()函数输出下面内容:
1、12982
2、你好!我是高中生!
3、算式100-1的值是99!
实
践
Python基础知识
在脚本式编程编程环境中,所有 Python 文件将以 .py 为扩展名。我们可以在脚本式编程编程环境中保存或者打开Python 文件。
编写一个程序,显示下面内容:
梯形的上底是4;
下底是5;
高是3.
它的面积是:
(4+5)×3÷2=13.5
实
践
Python的基础知识
常量的概念
任何编程语言都需要处理数据,比如数字、字符串、字符等,我们可以直接使用数据,也可以将数据保存到变量(注意不是常量)中,方便以后使用。
变量
数据
变量是一个打开的箱子,我们可以不断的更换箱子里的“数据”。
即:变量保存的数据可以被多次修改。
每个变量都需要定义一个独一无二的名字,称为变量名。
将数据放入变量的过程叫做赋值。
Python 使用等号“ = ”作为赋值运算符,具体格式为:标识符 = 数据
如:a=100
a=100
print(a) #函数print(),作用是在屏幕上输出a
试一试编写下面的程序:
实
践
Python的常量与变量
变量的命名
在Python中,变量的命名必须遵循以下规则:
由字母(A-Z,a-z),数字(0-9)、下划线(_)组成
第一个字符需是字母或者下划线,不能以数字开头。
不能使用Python中的关键字(保留字)
以下是Python中的关键字
and exec not
assert finally or
break for pass
class from print
continue global raise
注:Ture和 False为数字,也可以理解为是关键字
def if return
del import try
elif in while
else is with
except lambda yield
Python的常量与变量
变量的命名
变量名区分大小写字母
使用不规范的变量名,程序会报错
例:v和V是两个不同的变量名
下列变量的命名,哪些是正确的?
data-1
2data
this_is_a_good_day
if2
True
Python基础知识
我的第三个Python程序
新命令:输入指令
格式:
input()的一般格式:<变量>=input(“提示信息”)
功能:
不论用户输入的什么类型的数据,input()函数的返回结果都是字符串。
input可以输出什么内容?是什么格式?动手实践。
思考
myname=input(“请输入myname:”)
print(“Hello”,myname)
Python的常量与变量
Python中的主要数据类型:
Numbers(数字)
int(有符号整型)a=5
long(长整型,也可以代表八进制和十六进制) a=535633629843L
float(浮点型) a=5.0
complex(复数) a=4+5j
bool(布尔型) a=Ture
String(字符串) a=“abc”
List(列表) a=[“d”,”g”, “o”, “h”, “2”, “t”]
Tuple(元组) a=(“d”,”g”, “o”, “h”, “2”, “t”)
Dictionary(字典) a= {'name': 'runoob','code':6734, 'dept': 'sales'}
True
False
布尔型
真
假
1
0
Python的常量与变量
Numbers(数字)
int(有符号整型)a=5
float(浮点型) a=5.0
String(字符串) a=“abc”
例如:包含数字2和数字3的字符串如何生成整数5
操作字符串上执行:int(“2”+“3”)结果是23
此时需转换执行:int(“2”)+int(“3”)结果是5
原因:字符串不能在数字层面上相加,需转换成整数。
类型转化
Python基础知识
我的第四个Python程序
f=float(input("请输入一个华氏温度:"))
c=5*(f-32)/9
print("%0.2f"%c)
实
践
利用公式C=5x(F-32)÷9(其中C表示摄氏温度,F表示华氏摄氏度)进行计算转化,输入华氏摄氏度F,输出摄氏温度C,要求精确到小数点后2位。
提示:#输入格式:输入一行,包含一个实数F,表示华氏摄氏度(F>=-459.67)
#输出格式:输出一行,包含一个实数,表示对应的摄氏温度,要求精确到小数点后2位。
“格式控制串 ” %(占位符或者值序列)
双引号内是格式控制串,格式控制串中%引出的是格式控制符。值序列中的值以逗号分隔,可以是变量的值,也可以是表达式。
2.了解程序的基本控制结构
格式控制串 for语句
Python基础知识
我的第三个Python程序
f=float(input("请输入一个华氏温度:"))
c=5*(f-32)/9
print("%0.2f"%c)
“格式控制串 ” %(值序列)
整数(int)格式化输出
(1)%d 输出整数,如果实际值不是整数,会自动转为整数;
(2)%wd 输出整数,w指宽度,如果w>0,输出右对齐,w<0时,输出左对齐,如果w宽度小于实际整数的占位数,则会按实际的整数宽度输出;
(3)%0wd 当w>0右对齐时,如果实际的数据长度小于w,则左边用0填充。
浮点数(float)格式化输出
(1)%f 输出浮点数;
(2)%w.pf 输出浮点数,总宽度是w,如w>=0输出右对齐,w<0输出左对齐,如果w宽度小于实际整数的占位数,则会按实际的宽度输出。小数占p位(p>=0),四舍五入原则,p=0表示不输出小数位 ;
(3)注意:输出的小数点要占一位。
Python的基本控制结构
尝试用Python,计算并打印华氏摄氏度100度到105度所对应的摄氏温度
1.分析问题,确定已知数据、所求数据和解决方法。
2.设计算法,并用自然语言或流程图描述算法。
3.创建并编辑程序。
4.运行调试,观察结果
华氏温度 摄氏温度
100 37.78
101 38.33
102 38.89
103 39.44
104 40.00
105 40.56
实
践
Print(“ 华氏 摄氏”)
f=100
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=101
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=102
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=103
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=104
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=105
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
■ 顺序结构
■ 顺序结构
顺序结构是最为简单的一种基本结构,就是由上至下,按先后顺序依次执行。
■ 选择结构
也可以称为分支结构,是根据给定的条件进行判断而做出选择的一种结构。
A
B
条件
A
B
Python的基本控制结构
Python的基本控制结构
■ 循环结构
循环结构是描述重复执行操作的控制结构,它解决了重复操作多次或按条件进行控制的通用性问题。循环结构充分利用了计算机运算速度快和自动执行的优点。典型的结构有当循环和直到循环。
当循环
条件
A
否
是
条件
A
直到循环
否
是
Python的基本控制结构
■ 循环结构
在编写程序时,一般用循环结构来处理重复执行的某一条语句或某一组语句的问题,在Python中根据循环的描述方法不同,循环结构可分为两种类型:计数循环(for循环)和条件循环(while循环)
新命令:循环(计数
即提前预定循环体重复的次数):
for的一般格式:
for <循环变量> in <序列>:
<循环体>
功能:
让程序执行固定的次数。
(for注意:1.冒号:不能丢
2.整个循环体在书写时需要缩进,缩进4个空格,
缩进的语块是重复执行的部分)
<序列>通常是字符串、列表、rang对象实例
Python的基本控制结构
■ for循环结构
通过range()来实现程序for循环的次数。
例如:
for i in range(1,10,2):
print(i)
for i in range(1,10):
print(i)
for i in range(10):
print(i)
range (start,stop,step)函数:
可以产生一个整数序列,从start开始,到小于stop的最大整数结束,间隔为step。start初值省略默认0,Step省略值为1.
Python的基本控制结构
尝试用Python,计算并打印华氏摄氏度100度到105度所对应的摄氏温度
1.分析问题,确定已知数据、所求数据和解决方法。
2.设计算法,并用自然语言或流程图描述算法。
3.创建并编辑程序。
4.运行调试,观察结果
■ 顺序结构
A
B
华氏温度 摄氏温度
100 37.78
101 38.33
102 38.89
103 39.44
104 40.00
105 40.56
实
践
■ 循环结构
条件
A
否
是
Python的基本控制结构
■ 顺序结构
■ 循环结构
Print(“ 华氏 摄氏”)
f=100
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=101
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=102
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=103
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=104
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
f=105
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
Print(“ 华氏 摄氏”)
for f in range(100,106):
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
Python的基本控制结构
1.for函数求和(入门)
计算1+2+3+4+5+6+..n的和
实
践
2.沃利斯公式(提升)
题目描述
使用沃利斯公式求圆周率π
沃利斯公式: = * * * * * * *......
输入格式:无
输出格式:一行一个浮点数,表示圆周率,精确到小数点 后4位
样例输入:无
样例输出:3.1415
题目分析:套用题中公式,当右式枚举至10000项时,累乘项足够小,右式可约等于左式
Python的基本控制结构
实
践
输入下限=0 输入上限=101 华氏温度 摄氏温度
0 -17.78
10 -12.22
20 -6.67
30 -1.11
40 4.44
50 10.00
60 15.56
70 21.11
80 26.67
90 32.22
100 37.78
编写程序,打印指定范围的华氏、摄氏温度对应表,间隔为10,其中上限和下限由用户输入
分析:1.用两个变量分别表示下限和上限,增加语句获取下限和上限的值(input)
2.修改for语句:
for f in range(100,106):
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
3.优化程序,判断输入有效性
if语句 模块和函数
Python的基本控制结构
■ 选择结构
在解决问题的过程中,常常需要对事物进行判断和选择,在程序设计中主要是用if语句来实现判断和选择,if语句包括单分支if语句和双分支if语句
条件
语句块1
否
是
条件
语句块1
语句块2
是
否
单分支
双分支
Python的基本控制结构
■ 单分支选择结构
新命令:选择(判断和选择):
if 的一般格式:
单分支if语句的格式:
if 条件表达式:
语句块1
功能:如果表达式的值为真,即条件成立,语句1将被执行。否则,语句1将被忽略(不执行),程序按顺序执行程序中与if对齐的后续语句。
条件
语句块1
否
是
■注意:
冒号必不可少(作用告知接下来创建新语句块)
语句块1是 复合语句时,所有语句遵循相同缩进
Python的基本控制结构
■ 单分支选择结构
某商店笔记本有促销活动,规定6本以上(含6本)10本以下(含10本)打九折,购买11本(含11本)打八折,给定笔记本单价和购买数量,请问购买总费用。
实
践
s=int(input())
p=float(input)
if s<6:
j=1.0
if s>=6 and s<=10:
j=0.9
if s>=11
j=0.8
t=s*p*j
print(“%.1f:%t)
Python的基本控制结构
■ 双分支选择结构
新命令:选择(判断和选择):
if 的一般格式:
双分支if语句的格式:
if 条件表达式:
语句块1
else:
语句块2
功能:如果表达式的值为真,语句1将被执行。否则,语句2将被执行,
■注意:
冒号必不可少(作用告知接下来创建新语句块)
语句块遵循相同缩进量
条件
语句块1
语句块2
Python的基本控制结构
■ 双分支选择结构
给定整数x,判断奇偶(入门)
实
践
x=int(input())
if x%2==0:
print(“x为偶数“)
else:
print(“x为奇数“)
Python的基本控制结构
■ 单分支选择结构
实
践
人体体温计的合理范围是华氏90度到110度。打印供医务人员使用的指定的范围的华氏摄氏温度对应表。若输入的上下线超出人体体温合理范围,则给予提示。
L=int(input(“输入下限=“))
h= int(input(“输入下限=“))
If L>=h:
Print(“输入的下限应该小于上限”)
Else:
print(“ 华氏 摄氏”)
for f in range(L,h);
c=5*(f-32)/9
print(“%8.0f%10.2f”%(f,c))
开始
输入l和h
l>=h
输出“下限应该小于上限”
打印温度对应表
结束
是
否
Python的基本控制结构
■ 双分支选择结构
给定整数x,判断奇偶(入门)
实
践
x=int(input())
if x%2==0:
print(“x为偶数“)
else:
print(“x为奇数“)
下课