資源簡介 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 縮略圖、資源來源于二一教育資源庫