八年級信息技術教案第八章 程式序設計個性化----函數和子程序
第八章 程式序設計個性化----函數和子程序一、學習目標
1.掌握模塊化程序設計思想
2.掌握函數與子程序的定義及使用
3.理解全局變量與局部變量
4.了解參數的傳送過程
二、教學重點
掌握模塊化程序設計
三、教學難點
掌握函數與子程序的定義及使用
四、教學方法
1.演示法。
2.實踐法。
五、教學手段與教學媒體
多媒體網絡教室。
六、課時安排
1課時。
七、教學過程
“模塊化程序設計”中的“模塊”是指:完成程序全部或部分任務的獨立源程序文件。
程序的每一個模塊可以是子程序或函數,它是通過執行一系列語句來完成一個特定的操作過程,常稱為“過程”!
“執行一個過程”——調用一個子程序或函數;
一、自定義函數
qbasic函數:
①標準函數
②自定義函數
③外部函數
1、單行自定義(def)函數
語句函數——用一個語句定義一個函數
(1). 一般格式;
def fn<名字>(<參數>)=<表達式>
例1. 已知圓的半徑r,求圓的面積:s=πr2
def fns(r)=3.14159*r*r
print fns(3)
end
例2.def fns$=”this is a string”
print fns$
例3. 求以下公式:
def fnc(a,b)=sqr(a*a+b*b)
print fnc(3,4)
(2).說明
• 函數名由兩部分組成
fn s
自定義函數標志(fn),用戶定義名(一個字母s);
• 參數可有多個,但調用時的參數(實參)與定義時的
參數(形參)要一致。
2、多行自定義(def)函數
用多行語句來定義一個函數!
(1)、一般格式
def fn<名字>(<參數>)
......
fn<名字>=<表達式>
end def
例4、定義函數f(n)=1+2+...+n
def fns(n)
s=0
for i=1 to n
s=s+i
next i
fns=s
end def
for n=1 to 100
print fns(n)
next n
end
(2)、說明
(i)形式參數——定義函數的自變量
實際參數——調用函數時的參數。
(ii)函數先定義后使用,即習慣把def語句
放在程序的開頭。
二、塊內子程序
1、gosub-return 語句
子程序定義:
<標號或行號>:
......
return
子程序調用:
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).一般格式
子程序定義:
<標號>:
......
return
子程序調用:
on <表達式> gosub <子程1>,<子程2>,…,<子程n>
例:“小學生算術練習”——輪流出一個二位數和一個一位數的加法、減法和乘法的題目,共出十題,每題 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;"=";