首页 > 语文天地 > 语文教学 > 教案模板 > 第八章程式序设计个性化教案

第八章程式序设计个性化教案

   来源:文萃都    阅读: 4.35K 次
字号:

用手机扫描二维码 在手机上继续观看

手机查看

一、学习目标

第八章程式序设计个性化教案

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 t n

S=S+i

Next i

fns=S

END DEF

Fr n=1 t 100

Print fns(n)

NEXT n

END

(2)、说明

(i)形式参数——定义函数的自变量

实际参数——调用函数时的参数。

(ii)函数先定义后使用,即习惯把DEF语句

放在程序的开头。

二、块内子程序

1、gsub-return 语句

子程序定义:

<标号或行号>:

......

return

子程序调用:

GOSUB <标号或行号>

例5:求4!+5!+6!

S=0

n=4: gsub f:s=s+p

n=5: gsub f:s=s+p

n=6: gsub f:s=s+p

print “4!+5!+6!=”;s

end

f: p=1

fr i=1 t n

p=p*i

next i

return

2、n gsub-return 语句

(1).一般格式

子程序定义:

<标号>:

......

return

子程序调用:

ON <表达式> gsub <子程1>,<子程2>,…,<子程n>

例:“小学生算术练习”——轮流出一个二位数和一个一位数的加法、减法和乘法的题目,共出十题,每题 10分。

RANDOMIZE

fr i=1 t 10

a=int(90*RND)+10

b=int(9*RND)+1

p=i d 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=a*b then n=n+1

Return.

(2)、说明:

<表达式>的值不是整数时,按四舍五入处理,值为0或大于n则不起作用,值为负时系统给出错误信息——“不正确的函数调用”。

3、ON E(n) GOSUB-RETURN 语句

(1)、调用格式

ON E(n) GOSUB <标号>

其中n是数值表达式,代表一个“陷阱键”。n的值与  设定键的对应关系如下:

n值键名

1~10   功能键F1~F10

11方向键↑

12方向键←

13方向键→

14方向键↓

例: 求和式:S=12+22+...+n2   n=100000

ON E(2) GOSUB pri

E(2) ON

S=0

Fr i=1 t 100000

S=S+i*i

NEXT i

pring “s=”;s

end

pri:print “n5

试题
练习题
教案模板
教学资料
教学课件
教学反思
教学计划
教学设计