初中:八年級信息技術教案第八章程式序設計個性化-函數(shù)和子程序_第1頁
初中:八年級信息技術教案第八章程式序設計個性化-函數(shù)和子程序_第2頁
初中:八年級信息技術教案第八章程式序設計個性化-函數(shù)和子程序_第3頁
初中:八年級信息技術教案第八章程式序設計個性化-函數(shù)和子程序_第4頁
初中:八年級信息技術教案第八章程式序設計個性化-函數(shù)和子程序_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、初中信息技術新課程標準教材信 息 技 術( 2019 2020 學年度第二學期 )學校:年級:任 課 教 師:信息技術教案 / 初中信息技術編訂: xx文訊教育機構初中信息技術教案文訊教育教學設計第 2 頁 共 12 頁八年級信息技術教案第八章程式序設計個性化 -函數(shù)和子程序第八章程式序設計個性化-函數(shù)和子程序一、學習目標1. 掌握模塊化程序設計思想2. 掌握函數(shù)與子程序的定義及使用3. 理解全局變量與局部變量4. 了解參數(shù)的傳送過程二、教學重點掌握模塊化程序設計三、教學難點掌握函數(shù)與子程序的定義及使用四、教學方法教材簡介 : 本教材主要用途為學習本知識能夠調(diào)動學生的激情與興趣,對相關教師和學

2、生創(chuàng)造力的開發(fā)有促進作用,對教學效果提升有著積極的影響,本教學設計資料適用于初中八年級信息技術科目, 學習后學生能得到全面的發(fā)展和提高。本內(nèi)容是按照教材的內(nèi)容進行的編寫,可以放心修改調(diào)整或直接進行教學使用。初中信息技術教案文訊教育教學設計第 3 頁 共 12 頁1演示法。2實踐法。五、教學手段與教學媒體多媒體網(wǎng)絡教室。六、課時安排1課時。七、教學過程“模塊化程序設計”中的“模塊”是指:完成程序全部或部分任務的獨立源程序文件。程序的每一個模塊可以是子程序或函數(shù),它是通過執(zhí)行一系列語句來完成一個特定的操作過程,常稱為“過程”。“執(zhí)行一個過程”調(diào)用一個子程序或函數(shù);一、自定義函數(shù)qbasic 函數(shù):

3、標準函數(shù)自定義函數(shù)外部函數(shù)1、單行自定義( def )函數(shù)語句函數(shù)用一個語句定義一個函數(shù)(1). 一般格式;def fn()= 例 1. 已知圓的半徑r ,求圓的面積: s=r2 def fns(r)=3.14159*r*r print fns(3) end 初中信息技術教案文訊教育教學設計第 4 頁 共 12 頁例 2def fns$= ”this is a string”print fns$ 例 3. 求以下公式:def fnc(a,b)=sqr(a*a+b*b) print fnc(3,4) (2). 說明?函數(shù)名由兩部分組成fn s 自定義函數(shù)標志 (fn) ,用戶定義名(一個字母s)

4、;?參數(shù)可有多個,但調(diào)用時的參數(shù)(實參)與定義時的參數(shù)(形參)要一致。2、多行自定義 (def )函數(shù)用多行語句來定義一個函數(shù)。(1) 、一般格式def fn() . fn= end def 例 4、定義函數(shù)f(n)=1+2+.+n def fns(n) s=0 for i=1 to n 初中信息技術教案文訊教育教學設計第 5 頁 共 12 頁s=s+i next i fns=s end def for n=1 to 100 print fns(n) next n end (2) 、說明(i )形式參數(shù)定義函數(shù)的自變量實際參數(shù)調(diào)用函數(shù)時的參數(shù)。(ii )函數(shù)先定義后使用,即習慣把def 語句放

5、在程序的開頭。二、塊內(nèi)子程序1、gosub-return 語句子程序定義:. return 子程序調(diào)用:gosub 例 5:求 4!+5!+6!s=0 n=4: gosub f :s=s+p n=5: gosub f :s=s+p n=6: gosub f :s=s+p print “4!+5!+6!= ”;s end f: p=1 for i=1 to n p=p*i next i return 2、on gosub-return 語句(1). 一般格式子程序定義 : : 初中信息技術教案文訊教育教學設計第 6 頁 共 12 頁. return 子程序調(diào)用 : on gosub , 例:“小

6、學生算術練習”輪流出一個二位數(shù)和一個一位數(shù)的加法、減法和乘法的題目,共出十題,每題 10分。randomize for i=1 to 10 a=int(90*rnd)+10 b=int(9*rnd)+1 p=i mod 3 + 1 on p gosob a1,a2,a3 next i print n=;n*10 end a1: print a;+;b;=; input c if c=a+b then n=n+1 return a2: print a;-;b;=; input c if c=a-b then n=n+1 return a3: print a;*;b;= input c if c=

7、a*b then n=n+1 return. (2) 、說明:的值不是整數(shù)時,按四舍五入處理, 值為 0 或大于 n 則不起作用 , 值為負時系統(tǒng)給出錯誤信息“不正確的函數(shù)調(diào)用”。3、on key(n) gosub-return 語句(1) 、調(diào)用格式初中信息技術教案文訊教育教學設計第 7 頁 共 12 頁on key(n) gosub 其中 n 是數(shù)值表達式, 代表一個 “陷阱鍵” 。n的值與設定鍵的對應關系如下:n值鍵名110 功能鍵 f1f10 11 方向鍵12 方向鍵13 方向鍵14 方向鍵例: 求和式: s=12+22+.+n2 n=100000 on key(2) gosub pr

8、i key(2) on s=0 for i=1 to 100000 s=s+i*i next i pring “s=”;s end pri:print “now swm is ”;s, ”i= ”;i return (2). 說明設置陷阱: on key(n) gosub 打開陷阱: key (n) on 關閉陷阱:key (n) off 三、獨立模塊的子程序1、建立子程序格式: sub () 初中信息技術教案文訊教育教學設計第 8 頁 共 12 頁end sub 2、子程序的調(diào)用(1). 格式declare sub () call () 或例:sub stars(n) for i=1 to

9、n print “*”; next i print end sub _ declare sub stars(n) call stars(30) call stars(18) end (2). 說明i )declare 為外部子程序說明語句,主程序調(diào)用多少個子程序,就有多少個 declare語句;ii)call語句的“call ” 可以省寫,參數(shù)的括弧也可不寫;如:call stars(30) 可寫成 : stars 30 3、參數(shù)傳遞(1). 值傳遞方式call stars (30) . sub stars (n) (2). 地址傳遞方式a=30 call stars(a) . sub sta

10、rs(n) 例:求 4!+5!+6!+7! 子程序: sub fact(n,f) f=1 for i=1 to n f=f*i next i end sub 主程序: declare sub fact(n,f) 初中信息技術教案文訊教育教學設計第 9 頁 共 12 頁for i=4 to 7 call fact(i,f) s=s+f next i print “s=”;s end 注:地址傳遞方式是當實際參數(shù)為變量時發(fā)生,它將可能會改變原變量的值,若實際參數(shù)是變量時,又不想用地址傳遞(即用值傳遞方式)則可把變量用括號括起來。例:求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。(p208) 最小公倍數(shù) =(

11、m*n)/ 最大公約數(shù)求最大公約數(shù)子程序:sub hcf(m,n,h) if m0 m=n n=r r=m mod n loop h=n end sub 求最小公倍數(shù)子程序: sub lcm(m,n,h) h=m*n/h end sub 主程序:declare sub hcf(m!,n!,h!) declare sub lcm(m!,n!,h!) input m,n=;m,n call hcf(m,n,h) print 最大公約數(shù)為:;h call lcm(m,n,h) print 最小公倍數(shù)為:;h end 說明:程序在執(zhí)行時,結果不正確;其原因是call hcf語句調(diào)用時修改了m和 n 的

12、值,以至使 call lcm 運行不正確。因此, call hcf 語句應為:call hcf(m),(n),h) 例:驗證哥德巴赫猜想:一個不小于6 的偶數(shù)可以表示為兩個素數(shù)之和。(p209) 算法:n=10 n1 n2 2(t) 8(f) 3(t) 7(t) n=16 n1 n2 2(t) 14(f) 3(t) 13(t) 初中信息技術教案文訊教育教學設計第 10 頁 共 12 頁四、模塊化的函數(shù)1、建立一個函數(shù)function () . let = end fuwstion 2、函數(shù)的調(diào)用與標準函數(shù)相同,只是在主程序開頭加上 declare function (),無參數(shù)函數(shù)也要寫上兩個

13、括號( ) ;例:求 4 到 7 的階乘之和function fact(n) f=1 for i=1 to n f=f*i next i fact=f end function _ declare function fact(n) s=0 for i=4 to 7 s=s+fact(i) next i print s=;s end 注意函數(shù)的參數(shù)傳遞3、static選項(靜態(tài))外部函數(shù)中使用的變量,在函數(shù)調(diào)用結束后將全部被釋放,其值不再保留。如要保留函數(shù)中的變量,可在建立函數(shù)時加寫“static”即funtion 函數(shù)名 () static 五、全局變量與局部變量1、局部變量每一個模塊(子程序

14、、主程序、函數(shù))中的變量都只在本模塊中有效,即是它們的作用域只限于模塊,這種變量稱為局部變量。2、全局變量在程序所有模塊中都有效的變量, 即作用域為整個程序變量稱為全局變量。其定義格式為:common shared 六、過程的嵌套調(diào)用在一個過程里又調(diào)用另一個過程。七、過程的遞歸調(diào)用在一個過程里又調(diào)用該過程本身;初中信息技術教案文訊教育教學設計第 11 頁 共 12 頁例如直接調(diào)用 : function f(x) c=f(x) f=2*c end function 又如交叉調(diào)用:function f1(x) c=f2(y) f1=2*c end function function f2(t) d=f1(a) f2=4/d 初中信息技術教案文訊教育教學設計第 12 頁 共 12 頁end function 執(zhí)行的結果造成無終止的自身調(diào)用,顯然,程序中不應出現(xiàn)這種無終止的調(diào)用,而只應是有限次數(shù)的、有終止的遞歸調(diào)用。fon

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論