【VB开源代码栏目提醒】:网学会员为广大网友收集整理了,用VB编写递归程序 - 计算机理论,希望对大家有所帮助!
电脑 编 程 技 巧 与 维 护 用VB编写递归程序 伍 意 空 3 0 2 ( 军 航 空 大 学基 础基 地 学 员 旅 ,长春 10 2 ) 摘 要 : 讨 论 了递 归算 法 的 基 本概 念 和 原 理 ,使 用 V B,给 出 了设 计 编 写 递 归程 序 的 方 法 。
关键 词 : 递 归 ;程 序 设 计 ;算 法 ai t fRe u so r g a B s d o s a a i z o Re l ain o c rin P o r m a e n Viu lB sc 【 Yi J W_ Su e t a Fi t n a na amn s f T g F T ( td n e m, l h u d me tl ri gBa eo it nUnv ri f rF re Ch n c u 3 0 2 o t Ai Avai ies yo oc , a g h n 1 0 2 ) sr c : h a e ic s e h a i t e r n r cp e o e u so lo t m,p e e td te meh d o e u so c i i Ab t a t T e p p r ds u s d t e b s h o y a d p n i l fr c rin ag r h r s n e h to fr c r in r g a b s d o s lB s u c p o rm a e n Vi a a i . y wo d : c r i ; rg a d s ; g r h o g i Ke r s Re u s n P o r m e i n Alo tm 1 引言 f 1 度 。
首先通过 I语句判断阶乘数 1,如果大于 0,则进行递归 递归 函数是现代 数学 的一个 重要 分支 ,数学 上常常采 用 。
在第一个文本框 的 K y rs 事件 调用 :否则返回值赋值为 1 ePes递 归的办法来 定义一些概念 。
例如 自然数 n的阶乘可 以递 归 过程 。
具体
代码如下 : 过程 中调用 f 定 义 为 l 1 =0 阳! nn ) }( —1! >0 j一 递归算法是指一 个过程 直接 或者 间接调用 自身 。
递归 在 算法描述 中有着 不可替代 的作用 。
很多看似十分复杂 的
问题 ,使用递归算法来描述 显得非常简洁与清晰 。
由于 VB的过程具 有递归调用功能 ,所 以递归调用 在处理阶乘运算 、级数运算 、幂 运算 和指数运算等方 面十分有效 。
使用递归 算法求解 阶乘 图 2 界 面 设 计 效 果 所 的 流程 图 如 图 1 示 。
rv t u ci n o u l P i ae F n t n f( ) AsDo b e fn > 0 Th n I e n— 1 f= n f f ) s Ele f= l d f En I d un ton En F c i y r s Ke Asi AsI e e) i n P i ae S xt Ke P es( y c tg r rv t ub Te l — m n A nt g r AsD u e D i sI e e ,m o bl fKey s i I 3 The A ci= 1 n 图 1 递 归 算 法流 程 图 l( x1Te t n =Va Te t . x) f r I n<0O 0T e g o C 非 法 数据 一 : xt u n>2 hnMsB x E iS b2 具体 设计 I1 m : f ( .21 界面 设 计 x 2Te t= m Te t . x 启动 VB,新建一个工程 ,在窗 体上添加两个文本框和 若 f End I 干个标签 。
两个 文本框 分别用 来显示 阶乘数 和 阶乘 的结果 , b End Su 具体界面设计效果如 图 2所示。
_ 23 运 行 和 测试 .22 递 归过 程 设 计 根据程序设计 的原理 ,例如在本文框中输入 9 9 ,则 f()= i 的 uco 建 立一个 名称为 f F nt n过程 ,返 回值 类型 为双 精 x 8;求解 f()的值则为 f()= x 7;…… ;递 归最终 9 f() 8 8 8 f() 9 9 8 7 6 5 4 3 2 l 的 结 果 是 ff)= x x x x x x x x 。
如 果 把 第 一 次 调 用 过 本文 收 稿 F期 :2 0 — — 6 t 0 9 9 2 程f叫做 0级调用 ,以后每调用一次 级别增加 1 ,过程参数 n— 6 3 一0 rA E E E0M N D EI D A D GSPW R VLPE T N S N
软件 开发 与
设计 减1,最终级数再 到 0 。
程序运行 效果如 图 3所示 。
求解契 比雪夫多项 式 、素 数的求解 、汉诺 塔求解 和积分求 解 等都十分有效。
参考 文献 1 i l ai u c M】. 【〕刘 瑞新 ,汪远征 . V sa B s 程 序设计教 程 【 北京 : 00 机 械 工 业 出版 社 ,2 0 . 2 【 i l ai u c M 】谭 浩强 .Vsa B s 程序设计 【 】.北京 :清华大学 出版 0 5 社 .2 0 . 3 J 【〕丁 民选 .录音技 术在
课件制作 中的应用 〔】.山西 广播 电 07 1 94 . ) 视 大 学 学 报 ,2 0 , ( :3 — 0 图 3 程序 运 行 效 果 作 者 简 介 4 结 语 1 9 一 ,湖北常德人。
伍意 ,女 (9 0 ) 递归算法在很 多方 面有应用 价值 ,其 中典型 的在数学 中 上 6页 ( 接第 2 Jnt~>vm _ t t t t n一 e d则通 过 sl_ m 将该 v a s r且 s r mp t>n a< i p tv a 0 ma o m p(。
d — r 以理解 为是 一个简化版本 的 d_ ma ) obk 0 函数只处 m 。
便 于将要 删除 的区间直 接从链 表 中卸 分成 两个不 同的 v a 理了匿名内存 区域 ,它的调用 可以同等 于: pi v 作用是将一个线性 区间的 v 分成 两个小 t掉 。
其 中 sl_ ma ma do mma ( NUL od r,e r — lbk,ROT READ I _ p L,l bkn wb k od r P _ ma r m s ut m ,两 个小 的 的 v 。
接收参 数一个 m —t c,和相 应的 v a PROT W RI _ PROT EXEC TEI _ .