子例程:过程和函数 - 2


函数是返回结果(数字、字符串等)的子程序

想象一下,您从在线商店订购了一件产品。从编程的角度来看,你调用了某个子程序,与过程不同,这个子程序必须返回一个结果——交付你订购的产品。这些子例程称为函数
函数的格式化方式与过程非常相似: <前> function <函数名>(参数列表为<变量名>:<其类型>,用分号分隔):<返回值类型>; 开始 <函数体> 结束;
函数和过程之间的区别在于函数必须返回一个值。为此,您需要使用函数名称作为变量或特殊变量 Result: <前> 函数总和(a,b:整数):整数; 开始 总和 := a + b; 结束; 或者 <前> 函数总和(a,b:整数):整数; 开始 结果 := a + b; 结束;
返回两个整数的算术平均值的函数如下所示: <前> 函数平均(a,b:整数):实数; 开始  平均值:=(a + b)/ 2; 结尾; 还需要了解如何在主程序中调用此函数:
您不应该像调用过程一样调用函数: <前> 平均值(10, 5); 函数返回的值将丢失。就好像网店的货没有给任何人,而是扔掉了一样。客户不太可能会喜欢。

将结果保存在变量中(或将其打印到屏幕上)更为正确: <前> 一个 := 平均值 (10, 5);

<前> writeln(平均(10, 5));

程序员经常使用返回布尔值的布尔函数:true 或 false(True 或 False
这些功能对于  检查一些属性。
考虑编写检查数字均匀性的逻辑函数的两个示例 <正文>
关于使用函数和过程的最后一点注意事项:程序中的函数和过程的数量没有限制。此外,一个子程序可以调用另一个子程序,甚至可以调用它自己。
 

1)  更好的方法
表达结果
n % 2 == 0
将是真(True)或假(False)
不用写条件语句了!
2) 不要那样做!
可以这么写,不过记录会比较长,还是不写好
<前> bool isEven(int n) { 返回(n % 2 == 0); <前> 布尔isEven(int n) { 如果 (n % 2 == 0) 返回真; 别的 返回假;