算法的程序实现同步复习课件-2024-2025学年教科版(2019)高中信息技术必修一_第1页
算法的程序实现同步复习课件-2024-2025学年教科版(2019)高中信息技术必修一_第2页
算法的程序实现同步复习课件-2024-2025学年教科版(2019)高中信息技术必修一_第3页
算法的程序实现同步复习课件-2024-2025学年教科版(2019)高中信息技术必修一_第4页
算法的程序实现同步复习课件-2024-2025学年教科版(2019)高中信息技术必修一_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法的程序实现学科大概念二:算法目录三、算法的程序实现(一)运用顺序结构描述问题

求解过程(二)运用分支结构描述问题

求解过程(三)运用循环结构描述问题

求解过程三、算法的程序实现信息技术1.顺序结构顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。知识梳理(一)运用顺序结构描述问题求解过程2.顺序结构的特点(1)每个步骤按照算法中出现的顺序依次执行。(2)每个步骤一定会被执行一次,而且只执行一次。典型例题【例1】下列程序采用的是哪种算法结构()a=3b=5s=a+bprint(s)A.循环结构B.选择结构C.顺序结构

D.分支结构答案:C解析:本题主要考查算法的结构,该程序段按出现的先后顺序执行,没有分支,所以是顺序结构,故选C典型例题【例2】求三角形面积S的部分流程图如图所示,三角形的底、高分别用变量a、h表示,对于框①和框②的作用,下列说法正确的是()A.框①用于输入a和h的值,框②用于输出S的值B.框①用于输入a和S的值,框②用于输出h的值C.框②用于输入a和h的值,框①用于输出S的值D.框②用于输入S和a的值,框①用于输出h的值典型例题答案:A解析:本题主要考查运用顺序结构描述问题求解过程,根据题意本题通过三角形的底和高求三角形的面积,所以输入三角形的底a,高h,通过公式S=a*h/2计算面积s,然后输出三角形的面积s,故选A。同步训练1.(真题)若a是圆的半径,以下Python程序段可以解决的问题是()a=float(input())PI=3.14s=PI*a**2print(s)A.求圆面积B.求圆体积

C.求圆周长

D.求半圆面积2.(真题)编写程序求出小球自由落体过程中的位移,需要找出已知条件和求解目标,并找出他们之间的关系。这属于用计算机解决问题的哪一个步骤?()A.分析问题B.设计算法C.编写程序D.调试程序AB同步训练3.下面Python程序代码a=10b=20a,b=b,aprint(a,b)执行后的值正确的是()A.2010B.1010C.2020D.1020A同步训练(真题)自由落体运动位移与时间的关系公式是h=(gt2)/2,输入任意的高度值,计算出小球落地的时间。请在序号处填写正确的代码,且不改变原程序的结构。说明:g代表常数9.8。g=__①__h=float(input(”请输入物体落下的高度:”))t=__②__print(”落下的时间为:”,

)答案:①9.8②(2*h/g)**0.5③t1.分支结构:通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为单分支、双分支、多分支结构。2.分支结构的特点:(1)首先进行条件判断,根据条件满足与否来决定执行哪个分支。(2)在一个分支结构中,必定有且只有一个分支被执行,其他的分支则被忽略。知识梳理(二)运用分支结构描述问题求解过程知识梳理3.常见的分支结构有单分支、双分支和多分支。具体如下表所示:分支类型基本格式流程图工作原理单分支if条件:

语句或语句组1条件成立(True)时,执行语句或语句组1,不成立(False)时不执行双分支if条件:

语句或语句组1else:

语句或语句组2条件成立(True)时,执行语句或语句组1,不成立(False)时执行“语句或语句组2”知识梳理分支类型基本格式流程图工作原理多分支if条件1:

语句或语句组1elif条件2:

语句或语句组2……elif条件N:

语句或语句组Nelse:

语句或语句组N+1条件成立(True)时,执行语句或语句组1,不成立(False)时不执行知识梳理说明:(1)在Python中,只要某一行以冒号结尾,它接下来的内容就应该有缩进,缩进表示代码之间的从属关系。同一级语句块中的语句具有相同的缩进量。(2)在Python分支结构中,每个if后不一定要有elif或else部分,并且if语句允许多层嵌套。典型例题【例题】(真题)运行以下Python程序段,变量m的值为()a,b,c=7,2,23ifa>b:m=aelse:m=bifc>m:m=cA.7

B.2

C.23

D.32答案:C解析:本题运用了双分支和单分支结构。通过两两比较,求三个数的最大值。先是a与b进行比较,大数放到m中。然后c与m比较,大数放到m中,此时m中存放的就是a,b,c三个数的最大数23。故选C。同步训练1.(真题)某学校规定,当PM2.5指数超过一定数值时,必须停止学生跑操活动。如用编程设计一个提示器,关于PM2.5指数判断的功能需要用到下列哪种基本结构?()A.顺序B.分支C.循环D.树形B同步训练2.(真题)运行以下Python程序段,若输入5,运行结果是()x=int(input(”请输入一个正整数”))ifx%2==0:print(x+1)else:print(x-1)A.4B.5C.6D.3A同步训练3.运行以下Python程序段,输入85,输出结果是()s=float(input(”请输入分数:”))if90<=s<=100:print(”A等第”)elif75<=s<90:print(”B等第”)elif60<=s<75:print(”C等第”)elifs<60:print(”D等第”)A.A等第B.B等第C.C等第D.D等第B同步训练1.(真题)输入两个整数,计算它们的和与差。请在序号处填写正确的代码,且不改变原程序的结构。x=int(input(”输入一个值:”))y=int(input(”输入另一个值:”))fc=input(”请输入运算符“+”或“-”:”)iffc==__①__:c=x+y__②__:c=x-yprint(x,fc,y,”=”,__③__)答案:①′+′或者″+″②else③c同步训练2.(真题)一名成年旅客携带一名儿童乘坐火车,计算两人的总票价。儿童票价如下:身高不足1.2米,免费;身高为1.2—1.5米的,需要购买儿童票,儿童票票价按成人票价的50%计算;身高超过1.5米的,需要购买成人票。请在序号处填写正确的代码,且不改变原程序的结构。Ticket=float(input(”请输入成人火车票价:”))Height=float(input(”请输入孩子的身高(米)”))ifheight__①__1.2:Total=Ticket__②__height<=1.5:Total=Ticket*1.5else:Total=__③__print(”一名成人和一名儿童的总票价为:”,Total)答案:①<②elif③Ticket*2或2*Ticket1.列表列表是最常用的Python数据类型,列表中的元素允许不同的数据类型。(1)列表的创建格式:列表名=[元素1,元素2,元素3……元素N]列表名=[]表示创建一个空列表。例如:a=[],表示创建一个名为a的空列表说明:各元素之间用逗号隔开,放在方括号内,列表中元素的类型可以不同。例如:list1=[”one”,”two”,”three”,”four”,”five”]list2=[”one”,2,”three”,4.6,”五”]知识梳理(三)运用循环结构描述问题求解过程知识梳理(2)列表的访问①列表索引可以是正向的,从左到右依次是0,1,2,……,依此类推。知识梳理②索引也可以是反向的,从右向左依次为-1,-2,-3……依此类推。③使用下标索引来访问列表中的值,也可以使用方括号的形式进行切片。list[头下标:尾下标]如:list1[1:4]的值为[′two′,′three′,′four′]。说明:尾下标对应的元素取不到。知识梳理(3)列表中常见的函数与方法方法含义方法含义len(list)列表元素个数min(list)返回列表元素最小值list.append(x)列表末尾添加元素xlist[index]=x修改指定元素list.insert(index,x)在指定位置index处插入元素xlist.sort()对列表进行排序dellist[index]删除指定位置index处的元素list.reverse()列表中的元素反转a=list.pop()删除列表末尾的元素,且把删除的值赋值给alist.remove(x)删除列表中第一个匹配的元素xmax(list)返回列表元素最大值list.remore(list[i])删除列表中第i号元素知识梳理【试一试】输入下列Python程序段,查看输出结果。s=[3,15,27,8,42]s.append(16)s.sort()print(s)答案:[3,8,15,16,27,42]知识梳理【试一试】list=[′How′,′are′,′you′,2024],则list[-1]和list[2]的值分别为()A.′How′′are′B.′are′′you′

C.′you′2024

D.2024′you′答案:D解析:本题主要考查列表的访问,列表索引可以是正向的,从左到右依次是0,1,2,……;索引也可以是反向的,从右向左依次为-1,-2,-3,……;所以list[-1]为从右向左第一个元素,即2024,list[2]为从左向右第3个元素,即′you′,故选D。知识梳理2.循环结构:是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环中的条件判断决定继续执行某个功能还是退出循环。如果循环条件始终满足,那么循环体就被一直执行下去,这样算法就进入“死循环”,违背了算法有穷性的特征,所以在设计算法时要避免这种情况。知识梳理(1)for循环知识梳理说明:列表有以下几种方式:①直接罗列的方式知识梳理②先定义列表后使用知识梳理③使用range()函数(产生一个整数序列)range()是Python开发中非常常用的一个内置函数,语法格式为range([start,]stop[,step]),有range(stop)、range(start,stop)和range(start,stop,step)三种用法。该函数返回可选代对象,其中包含左闭右开区间[start,stop)内以step为步长的整数。start和step是可以省略的,参数start默认为0,step默认为1。知识梳理说明:1.初值如果省略,默认从0开始;2.生成的列表区间是[初值,终值),也就是左闭右开;3.步长如果省略,默认为1。知识梳理【试一试】输入下列两个程序段,比较输出结果。答案:(1)how

are

you(2)howareyou解析:在程序(1)中,每输出一个列表中的元素就需要换行,而程序(2)中每输出一个列表中的元素则以空格结尾。知识梳理(2)while循环①表达式一般是一个关系表达式或一个逻辑表达式,表达式的值应该是一个逻辑值真(True)或假(False)。②当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。知识梳理③每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦表达式的值为假就退出循环,为真时就继续执行循环体语句。④while循环编程的关键点:累加器和计数器(循环变量的改变)的使用。累加器:s=s+x计数器:i=i+1由于while循环不记录循环的次数,如果需要记录循环次数的信息,那么必须在代码中增加计数器,并通过语句修改计数器的值。在使用累加器或计数器时,一般将变量赋初始值0。知识梳理【试一试】输入下列Python程序段,查看输出结果。s=0#累加器初始化为0i=0#计数器初始化为0whilei<=100:s=s+i#累加器Si=i+1#计数器i自动加1print(s)知识梳理⑤Python中允许表达式为数字,如果该数字为0,则表示表达式不成立,非0数字则表示表达式成立,如果循环以“while2:”开头,那么关系表达式的值为真,在不加干预的情况下,程序就会一直执行下去,进入“死循环”,若想停止程序,按快捷键Ctrl+C即可。典型例题【例1】(真题)下列Python程序段的运行结果是()a=3whilea:print(a)A.3B.没有输出C.不断地输出3,程序进入死循环D.程序处于等待状态答案:C解析:用数字0表示假,用非零数字表示真。如果循环以“while3:”开头,那么,条件为真,在不加干预的情况下,程序就会“不知疲倦”一直执行循环体。如果想停止这个程序,按快捷键Ctrl+C即可。典型例题【例2】输入下列Python程序段,查看输出结果。x=10whilex<=40:x=x+10print(x)典型例题答案:50循环次数循环条件:x<=40x=10(x的初始值)循环体:x=x+101是202是303是404是505否循环结束知识梳理3.break语句和continue语句语句作用break跳出当前循环。如果有两层或两层以上的循环,在最内层使用break语句,则跳出的是最内层的循环,外层的循环不受影响。遵循“就近原则”continue结束当次循环,本次不再执行continue后面的循环体语句,进行下一次循环典型例题【例3】输入下列两个程序段,比较输出结果。程序1程序2s=0foriinrange(1,10):

ifi%2==0:

breaks=s+iprint(s)s=0foriinrange(1,10):

ifi%2==0:#i是偶数

continues=s+iprint(s)典型例题答案:(1)1(2)1

4

9

16

25典型例题循环变量i程序1程序2i%2s=s+i(s初值为0)i%2s=s+i(s初值为0)11s=0+1=11s=0+1=120跳出当前循环0结束当次循环,进行下一次循环31s=1+3=440结束当次循环,进行下一次循环51s=4+5=960结束当次循环,进行下一次循环71s=9+7=1680结束当次循环,进行下一次循环91s=16+9=25解析:知识梳理4.循环嵌套Python语言允许在一个循环体里面嵌套另一个循环。for循环或while循环之间可以相互嵌套。典型例题【例4】输入下列Python程序段,查看输出结果。m=n=0foriinrange(1,5):

m=m+1

forjinrange(1,4):

n=n+1print(m,n)典型例题答案:412解析:外循环内循环j=1(n=n+1)内循环j=2(n=n+1)内循环j=3(n=n+1)im(m=m+1)nnn11123224563378944101112同步训练1.(真题)运行以下Python程序段,输出结果是()s=0foriinrange(2,10,2):

s=s+1print(s)A.3B.4C.5D.10BB2.(真题)运行以下Python程序代码,语句“s=s+i”执行次数为()s=0foriinrange(1,10):

s=s+i

if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论