
1、函数——功能独立,中美高科技脱钩,独立自主,科技创新之路。
2、函数传递参数——红色精神代代传


函数是一组一起执行一个任务的语句。函数还有很多叫法,比如方法、子例程或子程序等。
(1)函数的类型:
◇ 系统预定义(比如:三角函数、数学函数、字符串函数、…);
◇ 用户自定义函数
(2)函数注意事项
◇ 函数名:这是函数的实际名称。函数名代表函数的功能。
◇ 函数参数:参数是可选的,也就是说,函数可能不包含参数。
◇ 函数返回值:一个函数可以返回一个值。
(3)主调函数和被调函数
A,B两个函数。如果A函数调用了B函数,那么A叫做主调函数,B叫做被调函数。

(4)主调函数格式
变量 = 函数名(参数列表)
注:主调函数中的参数列表叫做实参,即实际参数,也就是说,具有实际的值。
(5)被调函数格式
function函数名(参数列表)
...
endfunction
注:被调函数中的参数列表叫做形参,即形式参数,也就是说,这只是形式上的参数,无论什么传过来什么值,都是这套做法。

示例1:立方
1、下面伪代码输出的结果是: ( )
主调函数:
a=2
b=cube(a)
outputb
被调函数:
functioncube(x)
return x^3
endfunction
解析:实参a,将值传递(拷贝)给x,x值为2,计算x^3的值,并将8返回,得b=8,故输出8。
注:Raptor软件,函数的实现需要将模式切换成中级,切换成中级后,可以添加子程序。

主调函数 被调函数
示例2:最大值
下列伪代码输出的结果是:
主调函数:
a=1,b=2
c=max(a,b)
outputc
被调函数:
functionmax(x,y)
if x>y then
return x
else
return y
endif
endfunction
解析:
主调函数的实参将a和b的值拷贝给你x,y,即x=1,y=2,执行if语句,并返回y的值。故主调函数输出2。

主调函数 被调函数

示例3:奇偶问题
自定义一个函数,功能是判断一个整数是奇数还是偶数,请写出流程图和伪代码。
解析:
怎么用户自定义函数呢?
◇ 函数名oddeven
◇ 函数参数:x
◇ 函数返回值:0/1
被调函数框架:
functionoddeven(x)
……
endfunction
主调函数框架:flag=oddeven(m)
伪代码如下:
主调函数:
inputm
flag=odd_even(m)
ifflag=0 then
output "even"
else
output "odd"
endif
被调函数:
functionodd_even(x)
if x mod 2 = 0 then
return 0
else
return 1
endif
endfunction

主调函数 被调函数
示例4:圆面积问题
自定义一个函数,功能是给定一个圆的半径 r,求出圆的面积,请写出流程图和伪代码。
解析:
怎么定义自定义函数呢?
◇ 函数名area
◇ 函数参数:r
◇ 函数返回值:s
被调函数框架:function area(r)
……
endfunction
主调函数框架:s=area(r)
伪代码如下:
主调函数:
inputr
s=____________
output s
被调函数:
functionarea(r)
return ____________
endfunction
第一个空填area(r);第二个空填3.14*r^2
流程图如下:

主调函数 被调函数