资源简介 s=input("璇疯緭鍏ヨ喘涔扮瑪璁版湰鐨勬暟閲忥紙澶氬皯鏈?級锛?")s=int(s)p=float(input("璇疯緭鍏ョ瑪璁版湰鐨勫崟浠凤紙姣忔湰澶氬皯鍏冿級锛?"))ifs<6:j=1.0ifs>=6ands<=10:j=0.9ifs>=11:j=0.8t=spjprint("鎬婚噾棰濇暟涓?:",t,"鍏?")#while-for寰?幆宓屽?i=0while(i<10):i+=1forjinrange(1,i+1):print(i,"x",j,"=",ij,sep="",end="")ifij<10:print("",end="")print()print("璇疯緭鍏ヤ笁绉嶇瑪璁版湰鐨勪紭鎯犻噾棰濇暟锛堝厓锛夛細")a,b,c=input().split()a=float(a)b=float(b)c=float(c)ifa>b:m=aelse:m=bifc>m:m=cprint("浼樻儬閲戦?鏁版渶澶х殑涓猴細",m,"鍏?")#for寰?幆宓屽?foriinrange(0,100//5):forjinrange(0,100//3):k=100-i-jifi5+j3+k/3==100:print("鍏?浮",i,"姣嶉浮",j,"灏忛浮",k)#for-while寰?幆宓屽?print(2,end="")forkinrange(3,101):find=Falsei=2while(iifk%i==0:find=Truei+=1iffind==false:print(k,end="")x=int(input("杈撳叆缁忚垂鐨勫??:"))k=x//4y=x%4ify==0:m=0n=0elify==1:m=0n=1k=k-1elify==2:m=1n=0k=k-1elify==3:m=1n=1k=k-2print("6鍏冪殑绗旇?鏈?负:%d鏈?"%m)print("5鍏冪殑绗旇?鏈?负:%d鏈?"%n)print("4鍏冪殑绗旇?鏈?负:%d鏈?"%k)(共95张PPT)粤教版普通高中教科书信息技术必修1数据与计算《设计购买纪念品的最佳方案》主题→规划→探究→实施→成果→评价开展项目学习活动的全过程项目范例第四章程序设计基础项目范例设计购买纪念品的最佳方案第四章程序设计基础网络购物平台客户行为数据分析和可视化表达如今网上购物已经成为人们生活中的一部分。通过网购,人们不仅可以方便地在各家电商中获取商品的相关信息,而且可以对商品进行比质比价,从而以优惠的价格购得心仪的商品(图4-1)。为了购得即经济适用又美观大方的商品,人们就要根据需求设计好购买方案。第四章程序设计基础项目范例-设计购买纪念品的最佳方案根据项目主题,在小组中组织讨论,利用思维导图工具,制订项目范例的学习规划,如图4-2所示。设计购买纪念品的最佳方案了解实现算法的程序设计语言运用程序控制结构设计购买纪念品的最佳方案规划进度安排工具与方法预期成果组建团队,明确任务查阅资料,探究实施形成作品,开展评价思维导图,“头脑风暴”Python程序设计结构控制方法可视化设计报告图4-2“设计购买纪念品的最佳方案”项目学习规划项目范例-设计购买纪念品的最佳方案探究活动学习内容知识技能了解实现算法的程序设计语言Python的常量和变量。了解程序设计语言的基础知识。Python的数据类型。Python的运算符与表达式。Python的函数。运用程序控制结构设计购买纪念品的最佳方案运用顺序结构设计最佳方案。掌握程序的顺序结构、选择结构和循环结构。学会使用程序设计语言实现简单算法。体验程序设计的基本流程。掌握程序调试与运行的方法。运用选择结构设计最佳方案。运用循环结构设计最佳方案。综合运用三种结构设计最佳方案。表4-1“设计购买纪念品的最佳方案”项目学习探究活动第四章程序设计基础究根据项目学习规划的安排,通过调查,案例分析、文献阅读和网上资料搜索,开展“设计购买纪念品的最佳方案”项目探究活动,如课本表4-1所示。项目范例-设计购买纪念品的最佳方案第四章程序设计基础实施项目学习各项探究活动,进一步设计购买纪念品的最佳方案。在小组开展项目范例学习过程中,利用思维导图工具梳理小组成员在“头脑风暴”活动中的观点,建立观点结构图,运用多媒体创作工具(如演示文稿,在线编辑工具等),综合加工与表达,形成项目范例可视化学习成果,并通过各种分享平台发布,共享创造、分享快乐。可视化报告可在资源包查看,其目录截图如图4-3所示.图4-3“设计购买纪念品的最佳方案”可视化报告目录截图项目范例-设计购买纪念品的最佳方案第四章程序设计基础项目范例-设计购买纪念品的最佳方案第四章程序设计基础根据“项目活动评价表”,对项目范例的学习过程和学习成果在小组或班级上进行交流,开展项目学习活动评价。同学从真实世界中选择自己感兴趣的主题开展项目学习活动做中学、学中创、创中乐第四章程序设计基础分组:以4-6人为一组,选择下面一个参考主题,或者自拟一个感兴趣的主题,填写到表单内。设计购买电信服务的最佳方案设计购买学习用品的最佳方案设计购买班服的最佳方案自拟……项目选题项目范例-设计购买纪念品的最佳方案第四章程序设计基础规划设计各小组根据项目选题,参照项目范例的样式,利用思维导图工具,制订相应的项目方案,并完成下表的填写。项目主题?项目目的?小组成员及分工组长:?组员1:?组员2:?组员3:?问题列表编号问题内容方法?????????项目范例-设计购买纪念品的最佳方案第四章程序设计基础方案交流各小组将完成的方案在全班进行展示交流,师生共同探讨、完善相应的项目方案。项目范例-设计购买纪念品的最佳方案探究活动1:通过学习和交流,结合本组选题,分析并确定小组项目程序设计时需要的Python的数据类型、运算符、表达式与函数,了解Python程序设计语言的基础知识。探究活动第四章程序设计基础4.1程序设计语言的基础知识程序设计语言的基础知识Python程序设计基础知识微课第四章程序设计基础第四章程序设计基础4.1程序设计语言的基础知识1.常量常量是指在程序运行过程中其值始终不发生变化的量,通常是固定的数值或字符串。例如,45,-30.2001,'Hello',等都是常量。2.变量变量是指在程序运行过程中其值可以发生变化的量。在程序设计语言中,变量可以用指定的名字来代表,即变量由变量的“标识符”(又称“名字”)和变量的“内容”(又称“值”)两部分组成。4.1.1Python的常量和变量第四章程序设计基础4.1程序设计语言的基础知识4.1.2Python的数据类型Python能够直接处理的常用数据类型有Number(数值)、string(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)等。(1)Python支持以下三种不同的数值类型:整型(int):通常被称为整型或整数,是不带小数的数。浮点型(float):浮点型由整数部分与小数部分组成,如2.5。复数(complex):复数由实数部分和虚数部分构成,可以用a+bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。第四章程序设计基础4.1程序设计语言的基础知识(2)String(字符串):字符串是以单引号或双引号括起来的文本,如‘abc’、"xyz"等。字符串的索引从0开始,-1为从末尾开始的位置。(3)List(列表):列表是写在方括号“[]”之间、用逗号分隔开的元素列表。例如,list1=['Good','Run',1997,2000]和list2=[1,2,3,4,5,6,7]。列表的数据项不需要具有相同的类型。与字符串的索引一样,列表索引从0开始。4.1.2Python的数据类型第四章程序设计基础4.1程序设计语言的基础知识(4)Sets(集合):集合是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。可以使用大括号{}或者set()函数创建集合。创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典的。(5)Dictionary(字典):字典是无序的对象集合。与列表的区别在于:列表是有序的对象集合。字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用{}标识,它是一个无序的“键(key):值(value)”对集合。键必须使用不可变类型。在同一个字典中,键必须是唯一的。4.1.2Python的数据类型第四章程序设计基础4.1程序设计语言的基础知识在Python程序设计语言中对常量或变量进行运算或处理的符号称为运算符,参与运算的对象称为操作数。常用的运算符有算术运算符、逻辑运算符、关系运算符、赋值运算符、成员操作符等。由运算符、操作数连接而成的式子称为表达式,操作数可以是常量、变量、函数等。4.1.3Python的运算符与表达式第四章程序设计基础4.1程序设计语言的基础知识1.算术运算符与算术表达式算术运算符包括:“+”、“-”、“”、“/”、“%”、“”和“//”,分别表示加法、减法、乘法、除法、求余运算、幂运算和整除。2.逻辑运算符与逻辑表达式逻辑运算符包括:and(与)、or(或)、not(非)共三个。4.1.3Python的运算符与表达式3.关系运算符与关系表达式判断数据大小关系的运算符称为关系运算符,关系运算符有:>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)。第四章程序设计基础4.1程序设计语言的基础知识4.1.4Python的函数第四章程序设计基础项目实施通过学习和交流,结合本组选题,分析并确定小组项目程序设计时需要的Python的数据类型、运算符、表达式与函数,了解Python程序设计语言的基础知识,完成右表填写。知识技能常量?变量?数据类型?运算符?表达式?函数?小组项目成果?4.1程序设计语言的基础知识第四章程序设计基础探究活动探究活动2:通过实践体验,初步认识Python程序,体验Python开发环境。根据Python的操作指引,以教师提供的项目范例Python程序代码为例,体验打开、调试运行Python程序的过程。Python开发环境微课4.1程序设计语言的基础知识运用顺序结构描述问题求解过程第四章程序设计基础第四章程序设计基础探究活动探究活动3:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时输入、输出数据的算法,编写代码实现运用顺序结构设计最佳方案。4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础分析问题1.已知笔记本1的单价是3元、笔记本2的单价为5元2.规则:如果两种笔记本同时购买,价格可以打8折3.求:购买笔记本1和笔记本2各n本,可以优惠多少元?(四舍五入到小数点两位)4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础设计算法4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础顺序结构4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础顺序结构输入计算输出4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础如何实现输入?input()函数格式:input()作用:等待用户用键盘输入数据显示内容input(“请输入购买纪念品的数量:”)请输入购买纪念品的数量:a=input(“请输入购买纪念品的数量:”)从键盘输入一个字符串,赋值给a常见用法:4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础如何计算?数据类型转换格式:int(表达式)作用:把变量转换成整型常见用法:4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础如何计算?表达式与赋值语句4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础如何实现输出?print()函数格式:print(表达式)作用:输出表达式的值若b=10显示内容print(b)10print(“您购买的纪念品共消费:”)您购买的纪念品共消费:print(“您购买的纪念品共消费:”,b)您购买的纪念品共消费:10常见用法:4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础如何实现输出?print()函数格式化输出%f格式化浮点数字,可指定小数点后的精度。%.2f是指保留小数点后两位。%y是指格式化的对象是y。4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础编写程序4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础分析问题调试运行4.2运用顺序结构描述问题求解过程的应用第四章程序设计基础项目实施通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时输入、输出数据的算法,编写代码实现运用顺序结构设计最佳方案,并填好右表。项目实施知识技能输入??输出??顺序结构??小组项目成果分析问题:??设计算法:??编写代码:???调试运行(截图):运用选择结构描述问题求解过程第四章程序设计基础第四章程序设计基础探究活动探究活动4:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时判断和选择的算法,编写代码实现运用选择结构设计最佳方案。第四章程序设计基础4.3运用选择结构描述问题求解过程探究活动第四章程序设计基础分析问题设张明购买笔记本的数量为S本,笔记本的单价为每本P元,折扣系数为J,总金额为T,关键的问题是如何根据购买的本数确定折扣系数。根据题意有:如果S<6,则J=1.0;如果S>=6而且S<=10,则J=0.9;如果S>=11,则J=0.8;T=SPJ,T的值即为所求的总金额数。4.3运用选择结构描述问题求解过程第四章程序设计基础设计算法解决问题的算法描述如下:①输入S、P的值;②如果S<6,则J=1.0;③如果S>=6而且S<=10,则J=0.9;④如果S>=11,则J=0.8;⑤T=SPJ;⑥输出T的值;⑦结束。4.3运用选择结构描述问题求解过程第四章程序设计基础单分支if语句4.3运用选择结构描述问题求解过程第四章程序设计基础浮点型函数float()将变量转换成浮点型#简单说就是表示带有小数的数据4.3运用选择结构描述问题求解过程第四章程序设计基础编写程序4.3运用选择结构描述问题求解过程第四章程序设计基础分析问题调试运行4.3运用选择结构描述问题求解过程第四章程序设计基础4.3运用选择结构描述问题求解过程探究活动第四章程序设计基础分析问题对于读入的三个数a、b、c,设其中的最大数为m,先找出a和b中最大的数赋给m,然后再将m与c比较,从而找了三个数中最大的数。4.3运用选择结构描述问题求解过程第四章程序设计基础设计算法根据上面的分析,解决问题的算法描述如下:①输入三个数a、b、c;②如果a>b,则m=a;否则m=b;③如果c>m,则m=c;④输出m的值;⑤结束。4.3运用选择结构描述问题求解过程第四章程序设计基础双分支结构if4.3运用选择结构描述问题求解过程第四章程序设计基础编写程序4.3运用选择结构描述问题求解过程第四章程序设计基础函数分割函数分割.split()对象是一个“字符串”#split()括号内可以没有参数,代表按照空,空格,换行符,制表符来分割。4.3.1if语句的应用第四章程序设计基础分析问题调试运行4.3运用选择结构描述问题求解过程第四章程序设计基础4.3运用选择结构描述问题求解过程探究活动第四章程序设计基础分析问题因为要买尽量多的笔记本,易知都买4元的笔记本肯定可以买最多本。最多可买笔记本的数量为x/4本,由于张明想把经费用完,因此,张明可以按如下方案购买笔记本:如果买完x/4本单价为4元的笔记本,x/4本还剩1元,则单价为4元的笔记本少买1本,换成再买一本单价为5元的笔记本即可;如果买完x/4本单价为4元的笔记本,还剩2元,则单价为4元的笔记本少买1本,换成再买一本单价为6元每本的笔记本即可;如果买完x/4本单价为4元的笔记本,还剩3元,则单价为4元的笔记本少买2本,换成再买一本单价为5元的和一本单价为6元的笔记本即可。4.3运用选择结构描述问题求解过程第四章程序设计基础设计算法根据上面的分析,可先设:张明的经费总共为x元,购买单价为6元、5元、4元笔记本的数量分别为m、n、k,算法过程如下:①输入x的值;②K=x/4;③y=x%4;④如果y的值为0,则m=0,n=0;⑤如果y的值为1,则m=0,n=1,k=k-1;⑥如果y的值为2,则m=1,n=0,k=k-1;⑦如果y的值为3,则m=1,n=1,k=k-2;⑧输出m、n、k的值;⑨结束。4.3运用选择结构描述问题求解过程第四章程序设计基础if...elif...else语句4.3运用选择结构描述问题求解过程第四章程序设计基础编写程序4.3运用选择结构描述问题求解过程第四章程序设计基础分析问题调试运行4.3运用选择结构描述问题求解过程第四章程序设计基础项目实施通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时判断和选择的算法,编写代码实现运用选择结构设计最佳方案,完成右表的填写。知识技能if??if…else??if…elif…else??分析问题:??设计算法:??编写代码:??????调试运行(截图):运用循环结构描述问题求解过程第四章程序设计基础第四章程序设计基础探究活动探究活动5:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时循环的算法,编写代码实现运用循环结构设计最佳方案。4.4运用循环结构描述问题求解过程第四章程序设计基础探究活动4.4运用循环结构描述问题求解过程第四章程序设计基础分析问题这个问题相当于要计算从1到10的累加值。1到10的累加就是计算1+2+…+10,可以用for循环结构编程来解决这个问题。4.4运用循环结构描述问题求解过程第四章程序设计基础设计算法根据上述分析,可设计如下算法:需要有一个循环变量从1变化到10,将该变量命名为i;还需要另外一个临时变量不断和该变量进行加法运算,并记录运算结果,将临时变量命名为sum,变量i每增加1时,就和变量sum进行一次加法运算,变量sum记录的是累加的结果。4.4运用循环结构描述问题求解过程第四章程序设计基础for循环语句4.4运用循环结构描述问题求解过程第四章程序设计基础range()函数4.4运用循环结构描述问题求解过程第四章程序设计基础编写程序4.4运用循环结构描述问题求解过程第四章程序设计基础分析问题调试运行4.4运用循环结构描述问题求解过程第四章程序设计基础探究活动4.4运用循环结构描述问题求解过程第四章程序设计基础分析问题设所拉赞助商的数量为num,每次募集的金额为money,募集金额总数为sum,则sum可以用如下的式子表示:sum=20+25+30+……(其中num=1,2,3……)于是这个问题就可以转化为:当sum>=500时,求num的值。4.4运用循环结构描述问题求解过程第四章程序设计基础设计算法根据上述的分析,可设计出如下的算法:1)令num=1;2)令money=20;3)令sum=20;4)num=num+1;5)money=money+5;6)sum=sum+money;7)如果sum<500,则返回第4)步;8)输出num的值;9)结束。4.4运用循环结构描述问题求解过程第四章程序设计基础while循环语句4.4运用循环结构描述问题求解过程第四章程序设计基础编写程序4.4运用循环结构描述问题求解过程第四章程序设计基础分析问题调试运行4.4运用循环结构描述问题求解过程第四章程序设计基础探究活动4.4运用循环结构描述问题求解过程第四章程序设计基础分析问题设购买单价为1.8元、1.9元、2.1元的物品数量分别为x、y、z,当前余额为r元,所买物品总数量为s,根据题意有下面关系式:1.8x+1.9y+2.1z<=1000(x,y,z∈N,N表示自然数),我们分别将x、y、z从20至555、526、476逐个枚举,如果x、y、z的值满足式子1.8x+1.9y+2.1z(x,y,z∈N,N表示自然数),如x+y+z>s则s=x+y+z,r=1000-(1.8x+1.9y+2.1z),并记录此时x,y,z的值;如x+y+z=s且1000-(1.8x+1.9y+2.1z)4.4运用循环结构描述问题求解过程第四章程序设计基础设计算法根据上述的分析,可设计出如下的算法:1)令x1=100;令y1=100;令z1=100;令s=300;令r=1000-(1001.8+1001.9+1002.1);2)x从100至555穷举;3)y从100至526穷举;4)z从100至476穷举;5)如果1.8x+1.9y+2.1z<=1000,那么:如果x+y+z>s则s=x+y+z,r=1000-(1.8x+1.9y+2.1z),x1=x,y1=y,z1=z;如果x+y+z=s且1000-(1.8x+1.9y+2.1z)x1=x,y1=y,z1=z。(备注:如果1.8x+1.9y+2.1z>1000,则可以退出循环,不需再让循环空转而做无用功)6)转4);7)转3);8)转2);9)输出x1,y1,z1,s和r的值。4.4运用循环结构描述问题求解过程第四章程序设计基础编写程序4.4运用循环结构描述问题求解过程第四章程序设计基础编写程序4.4运用循环结构描述问题求解过程第四章程序设计基础编写程序4.4运用循环结构描述问题求解过程第四章程序设计基础编写程序4.4运用循环结构描述问题求解过程第四章程序设计基础分析问题调试运行4.4运用循环结构描述问题求解过程第四章程序设计基础请用for循环和while循环编程实现计算从1到10的累加值。当循环到5时,用break或者continue跳出循环,结果会发生什么样的改变?4.4运用循环结构描述问题求解过程第四章程序设计基础break语句4.4运用循环结构描述问题求解过程第四章程序设计基础continue语句4.4运用循环结构描述问题求解过程第四章程序设计基础for循环语句:4.4运用循环结构描述问题求解过程第四章程序设计基础调试改变一下代码的位置,结果会怎样?#会跳过i=5的情况,最终的累加值没有把i=5加进去4.4运用循环结构描述问题求解过程第四章程序设计基础while循环语句:4.4运用循环结构描述问题求解过程第四章程序设计基础调试改变一下代码的位置,结果会怎样?#continue跳出本层循环回到while执行语句,由于跳出前i没有自增,仍然是5,所以运行到if语句时会一直跳出循环,变成死循环4.4运用循环结构描述问题求解过程第四章程序设计基础项目实施通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时循环的算法,编写代码实现运用循环结构设计最佳方案。知识技能for循环??while循环??循环嵌套??循环控制??分析问题:??设计算法:??编写代码:调试运行(截图):4.4运用循环结构描述问题求解过程项目实施各小组参照项目范例的样式,运用数字化学习工具,如腾讯文档、演示文稿等,归纳所学知识,梳理探究活动的成果,撰写相应的项目成果报告。第四章程序设计基础第四章程序设计基础成果交流各小组在小组或班级上进行展示与交流,共享创造、分享快乐。第四章程序设计基础活动评价利用右表的“作品评价量规”及教科书附录2的“项目活动评价表”,开展项目学习活动评价(自评和互评)。项目及分值评分标准与分值得分自评互评作品选题20准确把握项目学习的意义和目的。5?选题切合实际、符合科学。5?选题有应用价值、创新价值。5?选题适宜解决、可行性高。5?规划与分析15准确分析设计的目的。5?准确分析方案的需求。5?准确描述方案的功能。5?工具与方法10合理使用数字化工具及资源。5?围绕项目进行自主、协作学习。5?步骤与过程40明确问题,了解利用Python程序设计语言基础知识解决问题。10?运用顺序结构设计最佳方案10?运用选择结构设计最佳方案10?运用循环结构设计最佳方案10?成果与报告15根据目的,设计出切实可行的方案。5?正确评估方案的科学性、实效性,能综合运用三种结构设计最佳方案,实现算法、解决问题。5?报告内容完整,结构清晰,排版美观。5?合计得分100?第四章程序设计基础项目学习设计一、项目简介项目主题设计购买纪念品的最佳方案项目背景网上购物已经成为人们生活中的一部分。通过网购,人们不仅可以方便地在各家电商中获取商品的相关信息,而且可以对商品进行比质比价,从而以优惠的价格购得心仪的商品。为了购得既经济适用又美观大方的商品,人们就要根据需求设计好购买方案,方案中会涉及到多种商品的排列组合,编写程序来找出哪种方案最佳比用人工寻找效率更高。在运用计算机解决实际问题的过程中,如何把求解问题的算法告知计算机,就需要有一种能够实现人机交互的语言,而这种语言就是计算机程序设计语言。对应教材广东教育出版社普通高中教科书信息技术必修1《数据与计算》第四章课时安排8课时二、课程标准及目标分析(一)课程标准及教材分析1.本章对应课标的内容要求掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程,掌握程序调试与运行的方法。2.本章对应的学业要求A-1:能够描述数据与信息的基本特征。(信息意识、数字化学习与创新)A-4:能够根据需要选用合适的数字化工具开展学习。(信息意识、数字化学习与创新)A-6?:能够利用软件工具或平台对数据进行整理、组织、计算与呈现。(信息社会责任、计算思维)A-7:能通过技术方法对数据进行保护。(信息社会责任、计算思维)A-8:在数据分析的基础上,完成分析报告。(信息社会责任、计算思维)A-10:掌握一种程序设计语言的基本知识。(计算思维)A-11:利用程序设计语言实现简单算法,解决实际问题。(计算思维)3.本章的地位和作用本章是教科书《数据与计算》的第四章,将带学生学习“程序基础”的教学内容,也是学习第五章、选择性必修模块《人工智能初步》的基础知识与技能准备。本章以培养信息素养为目标,以知识技能为载体,以项目学习活动为途径,开展自主、协作、探究学习,让学生掌握Python程序设计语言的基本知识,程序的顺序结构、选择结构、循环结构以及在解决实际问题中的应用。本章通过“设计购买纪念品的最佳方案”项目范例,让学生使用程序设计语言实现简单算法,体验程序设计的基本流程,掌握程序调试与运行的方法,从而提升学生的信息素养。(二)学科核心素养信息意识:根据不同受众的特征,能选择恰当的方式进行有效交流;在日常生活中,根据实际解决问题的需要,恰当选择数字化工具,具备信息安全意识;主动关注信息技术工具发展中的新动向和新趋势,有意识地使用新技术处理信息。计算思维:能提取问题的基本特征,进行抽象处理,并用形式化的方法表述问题;运用基本算法设计解决问题的方案,能使用编程语言或其他数字化工具实现这一方案。数字化学习与创新:针对特定的学习任务,运用一定的数字化学习策略管理学习过程与资源,完成任务,创作作品。信息社会责任:在信息活动中,具有信息安全意识,尊重和保护个人及他人的隐私;正确认识现实社会身份、虚拟社会身份之间的关系,合理使用虚拟社会身份开展信息活动。(三)目标分析1.项目目标本章通过“设计购买纪念品的最佳方案”项目,组织学生进行自主、协作、探究学习,让学生在理解了Python程序设计语言基础知识的基础上,掌握三种程序控制结构,学会使用程序设计语言实现简单算法,体验程序设计的基本流程,掌握程序调试与运行的方法,从而将知识建构、技能培养与思维发展融入运用数字化工具解决问题和完成任务的过程中,促进本章对应课标的学科核心素养达成,完成项目学习目标。2.学业目标(1)能够理解Python语言常量和变量的数学意义;(2)能够熟悉Python语言常见的数据类型;(3)能够正确表示程序中的各种“量”;(4)能够理解运算符与表达式的含义和用法;(5)能够运用Python的运算符处理数据计算;(6)能够知道不同的Python函数的用法;(7)能够使用不同Python函数处理运算数据和运算过程;(8)能够掌握input()函数和print()函数的基本用法;(9)能够掌握程序的顺序结构设计的基本流程;(10)能够运用顺序结构描述问题的求解过程;(11)能够掌握程序的选择结构设计的基本流程;(12)能够掌握Python程序设计语言的选择结构的单分支if语句、双分支if语句、if语句的嵌套以及if···elif···else语句的一般格式及使用方法;(13)能够运用选择结构描述问题的求解过程;(14)能够掌握程序的循环结构设计的基本流程;(15)能够掌握Python程序设计语言的循环结构的for循环、while循环、循环嵌套、循环控制等的一般格式及使用方法;(16)能够运用循环结构描述问题的求解过程。重点:(1)input()、print()函数和数据类型转换函数的基本用法;(2)程序的顺序结构设计的基本流程;(3)程序的选择结构设计的基本流程;(4)程序的循环结构设计的基本流程;(5)Python程序设计语言的选择结构的单分支if语句、双分支if语句、if语句的嵌套以及if···elif···else语句的一般格式及使用方法;(6)Python程序设计语言的循环结构的for循环、while循环、循环嵌套、循环控制等的一般格式及使用方法。难点:(1)运用顺序结构描述问题的求解过程;(2)运用选择结构描述问题的求解过程;(3)运用循环结构描述问题的求解过程。三、学情分析学生在第三章中已经体验了计算机解决问题的过程,能够理解和概述算法的概念与特征,学会了运用恰当的描述方法和控制结构表示简单的算法,懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点,掌握Python的基本操作。四、教学方法和策略创设程序设计的活动情境,组织学生在解决问题的过程中探究顺序结构、选择结构和循环结构的特点,通过小组学习分析问题,设计解决问题的算法,编写代码实现算法,在“验证→修正”的过程中发展学生的计算思维。资源列表资源名称清单及描述形式(类型)来源课件第四章程序设计基础(课件)演示文稿教师制作微课本章课程介绍本章项目范例《程序设计语言的基础知识》《认识Python》《Python顺序结构》《Python选择结构》《Python循环结构-for循环》《Python循环结构-while循环》《循环嵌套和控制》微课视频教师制作资料程序代码文本教师制作软件工具Python3.软件互联网六、学习活动流程七、学习活动设计范例学习项目主题设计购买纪念品的最佳方案项目背景运用计算机解决实际问题的过程中,如编程找出购买物品(服务)的最佳方案,就需要有一种能够实现人机交互的语言,而这种语言就是计算机程序设计语言。项目目标通过项目的完成,了解Python程序设计语言的基础知识,掌握程序的顺序结构、选择结构和循环结构三种控制结构,学会使用程序设计语言实现简单算法,体验程序设计的基本流程,掌握程序调试与运行的方法,从而实现项目学习的目标。工具和方法利用思维导图工具和“头脑风暴”的方法组建团队、明确任务;采用Python语言和程序设计结构控制方法,实施探究。实施过程明确项目问题;规划设计:制订项目学习的学习规划;(3)探究活动,通过探究活动了解Python程序设计语言的基础知识、运用顺序结构设计最佳方案、运用选择结构设计最佳方案、运用循环结构设计最佳方案、综合运用三种结构设计最佳方案;(4)作品制作:设计购买纪念品的最佳方案;(5)成果交流;(6)活动评价。成果购买纪念品最佳方案的可视化报告项目选题教师活动提供更多的选题,并参与到小组的选题讨论中。学生活动根据教材选题、教师提供的附加选题或自拟,小组头脑风暴后确定项目选题,以小组为单位,填写《项目学习活动记录表》“项目选题”栏目。项目规划教师活动强调项目目标及学习目标,引导学生分析项目问题,指导小组完成项目规划,组织开展方案交流。学生活动小组依照项目范例,结合本组选题,制订本组项目规划方案,填写《项目学习活动记录表》“项目规划”栏目。探究活动项目实施活动1:通过学习和交流,结合本组选题,分析并确定小组项目程序设计时需要的Python的数据类型、运算符、表达式与函数,了解Python程序设计语言的基础知识。教师活动以项目范例为例,引导学生对项目问题进行抽象与建模,对项目程序设计中的数据类型及需要的运算功能进行分析并确定。学生活动通过学习,对小组项目问题进行抽象与建模,小组结合本组选题,分析和确定本组项目程序设计的数据类型及运算法则,填写《项目学习活动记录表》“探究活动项目实施”栏目中的“活动1”的内容。活动2:通过实践体验,初步认识Python程序,体验Python开发环境。教师活动提供项目范例中的Python程序代码,提供有关Python开发环境的基本操作指引(或微课),指导学生对程序进行基本的开发操作:打开、新建、保存、调试运行等,为本项目的程序设计做好准备。学生活动根据Python的操作指引,体验打开、调试运行Python程序的过程。探究活动项目实施活动3:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时输入、输出数据的算法,编写代码实现运用顺序结构设计最佳方案。教师活动引导学生对项目问题进行简化,设计出假设购买物品的数量是通过用户输入,则计算机如何实现计算并输出总价的算法。提供学习资源,并指导学生运用顺序结构的相关程序语句实现算法。学生活动通过学习,对项目问题进行简化和分析并设计出相应的算法,借助学习资源,小组结合本组选题,编写出运用顺序结构设计最佳方案的程序代码并调试运行及纠错,同时填写《项目学习活动记录表》“探究活动项目实施”栏目中的“活动3”的内容。活动4:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时判断和选择的算法,编写代码实现运用选择结构设计最佳方案。教师活动在解决实际问题的过程中,常常需要对事物进行判断和选择,购买物品的数量达到一定时,商家往往会有相应的优惠,计算机是如何实现选择和判断的?提供学习资源,引导学生对项目问题进行优化,指导学生运用选择结构的相关程序语句实现算法。学生活动通过学习,对项目问题进行优化和分析并设计出相应的算法,借助学习资源,小组结合本组选题,编写出运用选择结构设计最佳方案的程序代码并调试运行及纠错,同时填写《项目学习活动记录表》“探究活动项目实施”栏目中的“活动4”的内容。活动5:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时循环的算法,编写代码实现运用循环结构设计最佳方案。教师活动计算机解决问题的核心优势之一就是自动化,在解决实际问题的过程中,购买物品的方案有很多,如何是最佳?如限定的金额内实现购买物品数量最多,或数量相同情况下余额最小为最佳等。我们可以运用计算机循环结构实现方案的枚举,从而能自动化找出最佳方案。提供学习资源,引导学生对项目问题的解决进行自动化算法的设计,指导学生运用循环结构的相关程序语句实现算法。学生活动通过学习,对项目问题的解决进行自动化设计并设计出相应的算法,借助学习资源,小组结合本组选题,编写出运用循环结构设计最佳方案的程序代码并调试运行及纠错,同时填写《项目学习活动记录表》“探究活动项目实施”栏目中的“活动5”的内容。项目实施各小组参照项目范例的样式,运用数字化学习工具,如腾讯文档、演示文稿等,归纳所学知识,梳理探究活动的成果,撰写相应的项目成果报告。成果交流各小组在小组或班级上进行展示与交流,共享创造、分享快乐。活动评价各小组根据项目选题、拟订的项目方案、实施情况以及所形成的项目成果,利用“作品评价量规”及教科书附录2的“项目活动评价表”,开展项目学习活动评价。八、学习成果“设计购买物品的最佳方案”可视化报告九、评价方案(一)评价时间线(二)评价工具评价方法/工具评价的过程和目标项目范例报告用于整个活动,主要作用是为学生项目实施和作品制作提供示范和引领。(见附件1)项目学习活动记录表用于整个学习活动,主要作用是指导学生开展项目学习活动,明确项目学习内容,记录学习过程及阶段性成果。(见附件2)作品评价量规使用量规项目来帮助学生创作高品质的作品,确保达到项目预期。同时用量规为同伴的作品提供反馈。教师使用量规来评价。(见附件3)项目活动评价表对整个项目学习过程中各环节,学科核心素养达成的情况进行评价。(见教科书附录2)十、项目实施说明(一)关于课时分配建议课时分配如下:第1课时:范例展示、项目选题与项目规划第2课时:探究活动、项目实施——活动1、活动2第3课时:探究活动、项目实施——活动3第4课时:探究活动、项目实施——活动4第5、6课时:探究活动、项目实施——活动5第7课时:项目实施第8课时:成果交流、活动评价(二)关于项目范例本章教师通过“设计购买纪念品的最佳方案”项目范例,引导学生学习“程序设计基础”。(三)关于项目选题围绕本章项目学习活动的大主题“设计购买纪念品的最佳方案”,根据生活中常见的购买物品最佳方案,细化项目学习活动的主题,提供给学生开展学习。1.设计购买电信服务的最佳方案;2.设计购买学习用品的最佳方案;3.设计购买班服的最佳方案;4.自拟……(四)关于探究活动“探究活动”对应项目范例的主题,串联知识点,学生在学习范例的同时自选项目主题,结合范例学习,完成自选主题的项目探究活动。“探究活动”的设计,使得学生在做项目的过程中学习知识、建构知识。教师提供记录表单和学习资源对学生的自主探究给予帮助和支持,以提高学生的学习效率和维持学生的学习兴趣。十一、附件附件1:项目范例可视化报告购买纪念品的最佳方案设计报告一、引言在运用计算机解决实际问题的过程中,如何把求解问题的算法告知计算机,就需要有一种能够实现人机交互的语言,而这种语言就是计算机程序设计语言。二、设计目的如今,网上购物已经成为人们生活中的一部分。通过网购,人们不仅可以方便地在各家电商中获取商品的相关信息,而且可以对商品进行比质比价,从而以优惠的价格购得心仪的商品。为了购得既经济适用又美观大方的商品,人们就要根据需求设计好购买方案。了解Python程序设计语言的基础知识,掌握程序的顺序结构、选择结构和循环结构三种控制结构,学会使用程序设计语言实现简单算法,体验程序设计的基本流程,掌握程序调试与运行的方法。三、需求分析和功能描述1.需求分析对购买方案的需求分析包括:?(1)了解实现算法的程序设计语言。(2)用程序控制结构设计购买纪念品的最佳方案。2.功能描述(1)了解Python程序设计语言的基础知识。(2)运用顺序结构设计最佳方案。(3)运用选择结构设计最佳方案。(4)运用循环结构设计最佳方案。(5)综合运用三种结构设计最佳方案。四、设计工具和方法利用思维导图工具和“头脑风暴”的方法组建团队、明确任务;采用Python语言和程序设计结构控制方法,实施探究。五、设计步骤与过程1.明确问题,了解利用Python程序设计语言基础知识解决问题求解购买纪念品的最佳方案问题,需要知道各商品的单价,才能设计出最佳方案。现在设总预算为S,需要购买10个不同品种的商品数量为x1,x2,…,x10,则求解问题的思路如下:(1)上网搜索各个商品的价格。(2)求出各个商品的最低单价a1,a2,…,a10。(3)令E=S-(a1×x1+a2×x2+…+a10×x10),求x1,x2,…,x10的值(其中x1,x2,…,x10为正整数),使E最小(E≥0)。我们以Python语言为例,对问题进行求解,因此我们必须要先了解Python程序设计语言的基础知识。(1)Python程序设计语言规定标识符由字母(A~Z,a~z)、数字(0~9)、下划线组成,并且其第一个字符必须是字母或下划线,而不能是数字,如s1,k,num,pai等。在标识符中,字母大小写是有区别的,如“value”与“Value”是两个不同的标识符。(2)Python能够直接处理的常用数据类型有Number(数值)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)等。(3)在Python程序设计语言中对常量或变量进行运算或处理的符号称为运算符,参与运算的对象称为操作数。常用的运算符有算术运算符、逻辑运算符、关系运算符、赋值运算符、成员运算符等。由运算符、操作数连接而成的式子称为表达式。操作数可以是常量、变量、函数等。(4)函数是Python语言程序的基石,是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。Python默认带有一些常用的函数,如求绝对值函数、求和函数、求最大值和最小值函数等。2.运用顺序结构设计最佳方案问题分解1:项目小组成员在某网购站点上获取到如下信息:笔记本1的单价是3元,笔记本2的单价是5元,如果两种笔记本同时购买,价格可以打8折。计算一下,购买笔记本1和笔记本2各n本,可以优惠多少元?(以元为单位,四舍五入到小数点后两位)解决上述问题的方法有多种,其中一种方法步骤如下:(1)分析问题。先求出不使用优惠而单独购买所需费用,再求出使用优惠方案购买所需费用,两者相减即为节省的费用。(2)设计算法。根据上面的分析,设计算法如下:①输入n的值;②令a=3×n;③令b=5×n;④令y=(a+b)×(1-0.8);⑤输出结果y;⑥结束。其顺序结构流程图如右图所示。(3)编写程序。根据设计的算法,编写出该问题的程序代码如下:3.运用选择结构设计最佳方案问题分解2:项目小组成员在某购物网站上了解到某种笔记本搞优惠活动,规定一次购买6本以上(含6本)10本以下(含10本)打9折,一次购买11本以上(包含11本)打8折。怎样根据笔记本的单价和购买数量编写程序计算总费用?解决上述问题的方法有多种,其中一种步骤如下:(1)分析问题。设项目小组购买笔记本的数量为s本,笔记本的单价为p元,折扣系数为j,总费用为t。根据题意,有:如果s<6,则j=1.0;如果s≥6而且s≤10,则j=0.9;如果s≥11,则j=0.8;又t=s×p×j,求出t的值即为所求的总费用。(2)设计算法。根据上面对问题的分析,解决问题的算法描述如下:①输入s,p的值;②如果s<6,则j=1.0;③如果s≥6而且s≤10,则j=0.9;④如果s≥11,则j=0.8;⑤t=s×p×j;⑥输出t的值;⑦结束。算法的流程图如右图所示。(3)编写程序。根据上面设计的算法,编写出解决该问题的程序如下图所示:(4)运用循环结构设计最佳方案问题分解3:项目小组经过讨论,最后选择购买单价分别为1.8元的笔记本、1.9元的笔、2.1元的小饰品作为活动的奖品和纪念品,每一种物品至少买100件,并且尽可能地用完1000元经费。如何设计方案,才能实现购买物品数量最多呢?如数量相同的情况下余额最小的方案为最佳,则最佳方案中每一种物品的数量是多少?余额是多少?要解决这个问题,需要用到循环嵌套的知识,下面提供了其中一种解法:(1)分析问题。设购买单价为1.8元、1.9元、2.1元的物品数量分别为x,y,z,当前余额为r元,所买物品总数量为s,根据题意有下面关系式:1.8x+1.9y+2.1z≤1000(x,y,z为自然数),我们分别将x,y,z从100至555,526,476逐个穷举,如果x,y,z的值满足式子1.8x+1.9y+2.1z≤1000(x,y,z∈N,N表示自然数),如x+y+z>s,则s=x+y+z,r=1000-(1.8x+1.9y+2.1z),并记录此时x,y,z的值;如x+y+z=s,且1000-(1.8x+1.9y+2.1z)(2)设计算法。根据上述的分析,可设计出如下的算法:①令x1=100,令y1=100,令z1=100,令s=300,令r=1000-(100×1.8+100×1.9+100×2.1);②x从100~555穷举;③y从100~526穷举;④z从100~476穷举;⑤如果1.8x+1.9y+2.1z≤1000,若x+y+z>s,则s=x+y+z,r=1000-(1.8x+1.9y+2.1z),x1=x,y1=y,z1=z;若x+y+z=s,且1000-(1.8x+1.9y+2.1z)<r,则r=1000-(1.8x+1.9y+2.1z),x1=x,y1=y,z1=z;⑥转步骤④;⑦转步骤③;⑧转步骤②;⑨输出x1,y1,z1,s和r的值。(3)编写程序。根据上面设计的算法,编写出解决该问题的程序如下:六、设计成果1.程序设计语言是实现算法、解决问题的有力工具在运用计算机程序求解问题时,需要有一种能够实现人机交流的语言,即程序设计语言。人们通过这种语言把求解的方法和步骤告诉计算机,计算机则按照程序的流程自动求解问题。而我们选择和利用的计算机程序设计语言——Python是一个强大的工具,语法友善,功能强大。2.基本结构是编写优质程序的基础用基本结构按一定规律组成并对算法进行描述,保证和提高算法的质量,是编写优质程序的基础。基本结构包括顺序结构、选择结构和循环结构。(1)用顺序结构解决问题分解1。输入n的值为50,得到结果如下所示。(2)用选择结构解决问题分解2。输入s的值为100,p的值为3.2,得结果如下所示:(3)用循环结构解决问题分解3,结果如下。七、结语本章通过“设计购买物品的最佳方案”项目,进行自主、协作、探究学习,让同学们了解Python程序设计语言的基础知识,掌握程序的顺序结构、选择结构和循环结构三种控制结构,学会使用程序设计语言实现简单算法,体验程序设计的基本流程,掌握程序调试与运行的方法,从而将知识建构、技能培养与思维发展融入运用数字化工具解决问题和完成任务的过程中,促进信息技术学科核心素养达成,完成项目学习目标。附件2:项目学习活动记录表第四章项目学习活动记录表班级小组编号项目选题项目主题项目目的小组成员及分工组长:项目规划问题列表编号问题内容方法探究活动项目实施活动1:通过学习和交流,结合本组选题,分析并确定小组项目程序设计时需要的Python的数据类型、运算符、表达式与函数,了解Python程序设计语言的基础知识。知识技能常量变量数据类型运算符表达式函数小组项目成果活动3:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时输入、输出数据的算法,编写代码实现运用顺序结构设计最佳方案。知识技能输入输出顺序结构小组项目成果分析问题:设计算法:编写代码:调试运行(截图):活动4:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时判断和选择的算法,编写代码实现运用选择结构设计最佳方案。知识技能ifif…elseif…elif…else分析问题:设计算法:编写代码:调试运行(截图):活动5:通过学习、交流、实践,结合小组选题,分析问题并确定小组项目程序设计时循环的算法,编写代码实现运用循环结构设计最佳方案。知识技能for循环while循环循环嵌套循环控制分析问题:设计算法:编写代码:调试运行(截图):附件3:作品评价量规项目及分值评分标准与分值得分自评互评作品选题20准确把握项目学习的意义和目的。5选题切合实际、符合科学。5选题有应用价值、创新价值。5选题适宜解决、可行性高。5规划与分析15准确分析设计的目的。5准确分析方案的需求。5准确描述方案的功能。5工具与方法10合理使用数字化工具及资源。5围绕项目进行自主、协作学习。5步骤与过程40交流与沟通的团队合作能力。5明确问题,了解利用Python程序设计语言基础知识解决问题。5运用顺序结构设计最佳方案10运用选择结构设计最佳方案10运用循环结构设计最佳方案10成果与报告15根据目的,设计出切实可行的方案。5正确评估方案的科学性、实效性,能综合运用三种结构设计最佳方案,实现算法、解决问题。5报告内容完整,结构清晰,排版美观。5合计得分100-11-/24num=1money=20sum=20whilesum<500:num=num+1money=money+5sum=sum+moneyprint(num)n=int(input(鈥滆緭鍏ヨ喘涔扮殑绗旇?鏈?1鍜岀瑪璁版湰2鐨勬湰鏁颁负:")a=3n\nb=5n\ny=(a+b)(1-0.8)\nprint("璐?拱绗旇?鏈?1鍜岀瑪璁版湰2鐨勬暟閲忎负",n,"鏈?")print("鍙?妭鐪佺殑閲戦?涓?",y,"鍏?") 展开更多...... 收起↑ 资源列表 第四章 程序设计基础(教学设计).docx 第四章 程序设计基础(课件).pptx