快捷搜索:  汽车  科技

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)输出调试文本 (“窗口启动前”) 载入 (窗口1 真) 输出调试文本 (“窗口关闭后”)程序样例递归算法递归算法主要特性是子程序对自身的调用。但是这样没有条件限制,结果是一个死循环,并且子程序执行需要压栈,系统中栈空间是有限的且远小于堆空间,一般执行数百次就会栈溢出导致程序异常。因此,递归算法还必须满足问题规模向递减趋势发展,有终止条件。例如:斐波那契数列1,1,2,3,5,8,13,21,34,55……从第3项起,每一项都是紧挨着的前两项的和。写出计算斐波那切数列的任意一个数据项递归程序。

什么是子程序?

子程序就是一个功能模块,在其他语言中可能叫做函数。比如,有一些常用的功能,需要重复执行,就可以将其封装到子程序中。

易语言启动方式也可以采用以子程序启动,这样默认就没有窗口界面,只能在下方控制台调试输出,如果需要启动窗口,可以在子程序中载入窗口,这种操作的优势是可以在窗口启动前执行一些预处理。

工具——系统配置:

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)(1)

新建窗口项目,但是并没有显示窗口,需要单独创建窗口:

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)(2)

输出调试文本 (“窗口启动前”) 载入 (窗口1 真) 输出调试文本 (“窗口关闭后”)程序样例

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)(3)

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)(4)

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)(5)

递归算法

递归算法主要特性是子程序对自身的调用。但是这样没有条件限制,结果是一个死循环,并且子程序执行需要压栈,系统中栈空间是有限的且远小于堆空间,一般执行数百次就会栈溢出导致程序异常。

因此,递归算法还必须满足问题规模向递减趋势发展,有终止条件。

例如:斐波那契数列1,1,2,3,5,8,13,21,34,55……从第3项起,每一项都是紧挨着的前两项的和。写出计算斐波那切数列的任意一个数据项递归程序。

一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)(6)

猜您喜欢: