中图版 高中信息技术 必修1 2.3 程序设计基本知识 课件 (40张PPT)

文档属性

名称 中图版 高中信息技术 必修1 2.3 程序设计基本知识 课件 (40张PPT)
格式 pptx
文件大小 1.7MB
资源类型 试卷
版本资源 中图版(2019)
科目 信息技术(信息科技)
更新时间 2021-10-09 11:43:55

图片预览

文档简介

(共41张PPT)
第2章 算法与程序实现
人教版(2019版) 信息技术(高中)
必修1 数据与计算
2.1 解决问题的一般过程和用计算机解决问题
学习目标
1
2
运用顺序、选择和循环三种结构编写程序,提高利用计算机解决问题的能力。
掌握python语言的基本知识,体验通过编程解决问题的基本过程,感受计算机编程的魅力。
体验探究
编程绘制交通信号灯
我们可以编写Python程序绘制各种图形。例如,绘制一个圆形红色信号灯的程序代码如P55所示:
思考:
1. 如果要绘制如图2.3.1所示的“红绿”信号灯,应该如何编写程序代码?分析其中两盏信号灯的位置坐标有何关系,描述出对应的算法。
2. 如果要绘制如图2.3.2所示的“红黄绿”信号灯,又应该如何修改程序代码?分析其中哪些语句是可以重复使用的。
2.3.1数据类型
表2.3.1 python 语言的部分常用数据类型
数据类型 类型标识符 类型说明及示例
整型 Int Python中的整数理论上可以任意大(不存在计算机位数不够的情况),如3、-99、988776635547347784
浮点型 Float 可以使用浮点型表示小数,如3.14159、0.0081、2.318E+6(2.318*106)
字符串型 Str 字符串通常是用一对单引号或双引号括起来的一串字符,如“中国”、‘China’等
布尔型 Bool 布尔型通常用于逻辑判断,只有两个值:True和False,分别代表真和假。
列表 list 列表是用来存放一组数据的序列。列表中存放的元素可以是各种类型的数据,
它们被放置在一对中括号“[]”中,以逗号分隔,如:[1, 2, 3,'A,5]、
【"《红楼梦》”,”《水浒传》”,”《三国演义》”,”《西游记》”]
确定数据类型
根据表2.3.2中描述的现实事物或现象,列举出具体地数据,说明其对应的数据类型,并完成表格填写。
思考活动
体验探究
实践活动
现实事物或现象 列举的数据 数据类型
倒计时的数字 15 整型
列出信号灯的三种颜色名称
按钮是否可用
思考:
在“编写控灯利出行”项目中,编程完成“自助式人行过街红绿灯”的任务还需要使用哪些数据?分析其对应的数据类型。
强制转换数据类型
在程序设计中,可以通过强制类型转换操作,把某个数据从一种数据类型转换成为另一种数据类型。
数据类型转换函数 功能说明
Float(x) 将x转换为一个浮点型数据
Int(x) 将x转换为一个整型数据
Str(x) 将x转换为字符串型数据
2.3.2 常量、变量及表达式
1、 常量:常量指程序运行过程中,其值不能改变的量,例如1024、"red"等。
2、变量:变量指程序运行过程中,其值可以改变的量。变量是内存中存放数据的存储单元,用变量名来表示。
Python语言中,变量命名需要遵循以下规则:
1、变量名可以包括字母、汉字、数字和下划线(_),但不能以数字开头。
例如:name2是合法变量名,而2name是非法变量名。
2、变量名区分大小写。
例如:myName、 MYName、 myname和 Myname是不同的变量。
3、为了便于理解,变量名应具有一定含义,即“见名知意”。
4、不能用系统关键字作为变量名。系统关键字是程序设计语言中保留下来的用于特殊用途的标识符,每个关键字都有特殊的含义。
例如:for、in、if、continue、 break、else、and、not和or等。
赋值
Python语言中的变量是在首次赋值时创建的。赋值语句是最基本的程序语句,其格式为:
变量名 = 表达式
注意: Python语言中的变量必须在使用前被赋值,不能使用未被赋值的变量。在使用过程中,变量还能够被重新赋值。
访问 Python语言列表中元素的值
Python语言中的变量可以被赋值为列表类型的值,如 colors=["red","yellow","green"]。若要访问列表中某个元素的值,可用变量名加索引值的方式。
思考:编写程序分别访问列表变量 colors中的3个元素。
提示:colors[n]中的n表示列表的索引值(n=0,1,2),其中,colors[0]的值为“red”, colors[1]的值为“ yellow”,colors[2]的值为"green"。
运算符与表达式
运算符标明了对操作数(参与运算符计算的数据)所进行的运算,它与操作数连接而成的有意义的式子被称为表达式。表达式在进行运算处理后得到的结果称为表达式的值。例如,2+3就是一个表达式,其中的操作数是2和3,而运算符是“+”,表达式的值是5。
表达式的值可以赋给变量,也可以作为程序语句中的判断条件。
运算符与表达式
不同类型的数据可以进行不同的运算,如整型数据有取模运算(%),而字符串没有。
不同类型的数据使用同一种运算符运算时,常会产生不同的结果。例如,“+”除了可以进行数值加法运算,还可以对字符串、列表等数据进行连接运算,如“China”+“521”的运算结果是“China521”,11,"张明"+90.5的运算结果是,"张明",90.5}。
1、 算术运算符:主要进行算术运算,运算的结果为整型或浮点型。
2、关系运算符:主要用于比较两个值的大小,运算的结果为布尔值True或 False。
关系运算符 描述 用法 举例
== 等于 a==b 2==3的结果为false
> 大于 a>b 2>3的结果为false
< 小于 a>= 大于或等于 a>=b 2>=3的结果为Fale
<= 小于或等于 a<=b 2<=3的结果为True
!= 不等于 a!=b 2!=3的结果为True
3、逻辑运算符:可以对关系式或布尔值进行逻辑运算,运算结果为
布尔值True或 False。
逻辑运算符 描述 用法 举例
not 非 not a not(2==3)的结果为True
and 与 a and b 只有当两个操作数都为True时,其结果才为True
or 或 a or b 只要有一个操作数为True,其结果就为True
表2.3.5 python 语言中常见的逻辑运算符
如果两个或多个运算符出现在同一个表达式中,则要按照优先级确定运算顺序:
① 优先级高的运算符先运算,优先级相同的从左向右依次运算。
② 当表达式中出现“( )”时,它的运算级别最高,应先运算“( )”内的表达式。
③ 运算符的优先级为:算术运算符 > 关系运算符 > 逻辑运算符。
④ 在同类运算符中也要注意不同的优先级。
例如,逻辑运算符not、and和or的优先级为:not>and>or。
运算符的优先级
实践活动:写出 Python语言表达式
根据问题需求,写出对应的表达式,完成表2.3.6。
问题描述 Python 语言表达式
数学中的代数式: 2a b+c
将两个字符串“加油!”和“中国”连成一个字符串
表示110米栏成绩为16.24~18.62s(包括16.24s和18.62s)
表2.3.6 问题描述对应的python 语言表达式
2.3.3 语句与程序结构
程序的结构程序设计的三种基本结构,包括:
顺序
结构
选择
结构
循环
结构
顺序结构:指程序的执行按语句的排列顺序从上到下依次执行,直至结束。程序通常包括输入数据、处理数据和输出结果三部分。 Python语言主要用函数 input()实现数据输入,用函数 print()实现数据输出。
■ 输入函数 input():主要用来接收键盘的输,返回值为字符串型数据。通常,在输入时可以给出提示信息,例如:x= input(“请输入一个正整数:”)。
■ 输出函数 print():函数 print()主要用于在屏幕上输出一个或多个输出项的值,多个输出项中间用逗号隔开,例如:print(“x是奇数”)。
实践活动:编程计算体重指数
根据键盘输入的身高和体重值,编写程序计算体重指数,以 bmi.py为名保存文件。
思考:
1. 分析问题,找出已知条件和求解的目标,并确定二者之间的关系。
2. 用流程图描述该问题求解的算法,并编程实现。想一想能否调整这些语句的书写顺序,为什么
选择结构:在选择结构中,某些语句会受到条件的制约,根据条件成立与否有选择地执行。选择结构利用条件语句,通过判断表达式的值(True或False),决定程序执行的分支。
表2.3.7 python 语言单分支、双分支结构格式
分支类型 基本格式 对应算法流程图
单分支 If 表达式: 语句块
双分支 If 表达式: 语句块1 else: 语句块2
表2.3.7 python 语言单分支、双分支结构格式
分支类型 基本格式 对应算法流程图
单分支 If 表达式: 语句块
双分支 If 表达式: 语句块1 else: 语句块2
例如,判断一个正整数的奇偶性。
其判断方法是:如果一个正整数x能被2整除,那么这个数为偶数,否则为奇数。
x=int(input(“请输入一个正整数”))
if x%2==0:
print(x,”是偶数”)
else:
print(x,”是奇数。”)
图2.3.3 判断正整数奇偶性的算法流程图
选择结构除了单分支和双分支结构,还有多分支结构
例如,某城市轨道交通实行分段计程票价:
起步票价为乘坐5站以内(含5站),单人票价2元;
乘坐5站以上10站以下(含10站),单人票价3元;
乘坐10站以上16站以下(含16站),单人票价4元;
乘坐16站以上单人票价5元。
使用elif语句来实现多分支结构,多分支结构的一般格式及“分段计程票价”程序示例如表2.3.8所示。
表2.3.8 python语言中多分支结构的一般格式及程序示例
Python语言中多分支结构的一般格式 “分段计程票价”程序示例
if 表达式1: 语句块1 elif 表达式2: 语句块2 elif 表达式n: 语句块n else: 语句块n+1 n=int(input("请输入乘坐的站点数:“))
if n <=5:
print(“票价2元”)
elif n <=10:
print("票价3元“)
elif n <=16:
print(“票价4元”)
else:
print(“票价5元”)
循环结构:在循环结构中,一些语句在某一条件成立时,被重复执行,直到条件不成立时,才结束重复执行。这个条件称为循环控制条件,被重复执行的语句块称为循环体。
图2.3.5 循环结构流程图
Python语言提供了两种基本的循环结构语句,while语句和for语句
while语句: while语句的基本格式为:
while表达式:
语句块
例如,“倒计时15s”功能实现的程序示例如下:
import turtle
import time
text=turtle. Turtle ()
text.hideturtle ()
i=15
while i > = 1:
text.write(i,font=("黑体”,14,“normal"))
time.sleep (1)
text.clear ()
i=i-1
for语句的基本格式为:
for 循环变量 in 序列:
语句块
import turtle
import time
text=turtle. Turtle ()
text.hideturtle( )
for i in range (15, 0, -1):
text.write(i,font=("黑体”,14,“normal“))
time.sleep (1)
text.clear ()
循环嵌套: 一个循环结构内可以包含另一个循环,这样的结构称为循环嵌套,也称多重循环。常用的循环嵌套是二重循环,外层循环称为外循环,内层循环称为内循环。内循环是外循环的循环体。循环嵌套的执行过程是要首先执行外层循环,外循环每执行一次,内循环则需执行一个完整的循环。
输出显示“九九乘法表”,程序示例如下的程序示例如下
# 外循环
for i in range (1, 10) :
# 内循环
for j in range (1,i+1) :
#通过end=“"设置函数print()不输出换行符
print (i, " * ",j,” =",i*j,"\t",end =“")
# 设置换行操作(函数print()不输出任何字符,只进行换行)
print ( )
# 外循环
for i in range (1, 10) :
# 内循环
for j in range (1,i+1) :
#通过end=“"设置函数print()不输出换行符
print (i, " * ",j,” =",i*j,"\t",end =“")
# 设置换行操作(函数print()不输出任何字符,只进行换行)
print ()
break语句和continue语句:
break语句用于终止某个循环,使程序跳到循环体以外的第一个可执行语句;
continue语句用于终止本次循环进入下一次循环,即跳过循环体内还未执行的语句,进入下一次循环的判定。
表2.3.11 break和continue 程序语句用法及运行结果比较表
程序示例 运行结果
num=0 for i in range (1, 5) : print(“进入第”,1,“次循环,i=”,i) if i==3: break num=num +1 print ("num=“,num) 进入第1次循环,i-1
num=1
进入第2次循环,1=2
num=2
进入第3次循环,i=3
num=0 for i in range (1, 5) : print("进入第”,1,“次循环,i=”,i) if i==3: continue num = num +1 print ("num=“,num) 进入第1次循环,i=1
num=1
进入第 2次循环,i=2
num=2
进入第 3循环,i=3
进入第4次循环,i=4
Num=3
实践活动:编写完整的体重指数“计算器”
完善程序(bmi.py)功能,编写一个完整的体重指数计算小程序,实现对多名学生进行体重指数的等级判断。
思考:
1. 要实现多次判定高一学生体重指数等级的程序功能,应如何设置循环条件?该循环的次数是否固定?如何结束该循环??
2. 画出该问题求解的流程图,并编程实现。
练习提升
1. 分别指出下面程序中循环体执行的次数写出运行结果,分析程序功能。
i=100
while i> 1:
if i%13==0:
break
i=i-1
print (i)
for i in range (100, 1,-1):
if i%13! =0:
continue
print (i)
2. 设计算法编写程序实现如下功能:已知一元二次方程ax2+bx+c=0,从键盘输入a、b和c的值,获取该一元二次方程解的情况。
3. 设计算法编写程序,求任意两个正整数的最大公约数,直至用户输入“q”或“Q”才退出程序。
4. 编写程序和计算机来一场有趣的猜数游戏。要求:由计算机随机生成一个100以内的正整数,用户有5次猜数机会,如果猜中提示“猜中了!”并退出程序;否则,提示“数偏大”或“数偏小”,然后继续猜数。如果5次均未猜中,屏幕显示计算机随机生成的整数,并换行给出提示“5次没有猜中,很遗憾,游戏结束”,退出程序。
提示:内置模块 random可以生成一个指定范围内的随机数。
参考语句为:m= random. randint(1,100) #生成一个指定范围为[1,100]的随机整数
谢谢
21世纪教育网(www.21cnjy.com) 中小学教育资源网站
有大把高质量资料?一线教师?一线教研员?
欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!
详情请看:
https://www.21cnjy.com/help/help_extract.php