一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)
一文详解易语言子程序和递归算法(一文详解易语言子程序和递归算法)输出调试文本 (“窗口启动前”) 载入 (窗口1 真) 输出调试文本 (“窗口关闭后”)程序样例递归算法递归算法主要特性是子程序对自身的调用。但是这样没有条件限制,结果是一个死循环,并且子程序执行需要压栈,系统中栈空间是有限的且远小于堆空间,一般执行数百次就会栈溢出导致程序异常。因此,递归算法还必须满足问题规模向递减趋势发展,有终止条件。例如:斐波那契数列1,1,2,3,5,8,13,21,34,55……从第3项起,每一项都是紧挨着的前两项的和。写出计算斐波那切数列的任意一个数据项递归程序。
什么是子程序?子程序就是一个功能模块,在其他语言中可能叫做函数。比如,有一些常用的功能,需要重复执行,就可以将其封装到子程序中。
易语言启动方式也可以采用以子程序启动,这样默认就没有窗口界面,只能在下方控制台调试输出,如果需要启动窗口,可以在子程序中载入窗口,这种操作的优势是可以在窗口启动前执行一些预处理。
工具——系统配置:
新建窗口项目,但是并没有显示窗口,需要单独创建窗口:
输出调试文本 (“窗口启动前”)
载入 (窗口1 真)
输出调试文本 (“窗口关闭后”)
程序样例
递归算法主要特性是子程序对自身的调用。但是这样没有条件限制,结果是一个死循环,并且子程序执行需要压栈,系统中栈空间是有限的且远小于堆空间,一般执行数百次就会栈溢出导致程序异常。
因此,递归算法还必须满足问题规模向递减趋势发展,有终止条件。
例如:斐波那契数列1,1,2,3,5,8,13,21,34,55……从第3项起,每一项都是紧挨着的前两项的和。写出计算斐波那切数列的任意一个数据项递归程序。