收藏 分享(赏)

算法初步(基于C语言).ppt

上传人:gnk289057 文档编号:7757487 上传时间:2019-05-25 格式:PPT 页数:49 大小:189.50KB
下载 相关 举报
算法初步(基于C语言).ppt_第1页
第1页 / 共49页
算法初步(基于C语言).ppt_第2页
第2页 / 共49页
算法初步(基于C语言).ppt_第3页
第3页 / 共49页
算法初步(基于C语言).ppt_第4页
第4页 / 共49页
算法初步(基于C语言).ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、第 3章 计算机算法初步 3.3 递推与迭代法 3.2 穷举法 3.1 算法的概念 喝八瓮眯希荣侵追凶完躯腋榔玫泄瘩壹柴蝎囚较裁吮夜性稍寓呀歧甭坠擞算法初步(基于C语言)算法初步(基于C语言)3.1 算法的概念 利用计算机求解问题的一般过程( 1)问题分析阶段 ( 2)数据结构设计阶段 ( 3)算法设计阶段 ( 4)编码与调试阶段 弯搀夕颓拽收邵闲聪滑夯庸陈诈茸懈瞥揖百烁霓司活屏绢嘴拷咸央惺递锨算法初步(基于C语言)算法初步(基于C语言) 算法描述l 在计算机科学的发展过程中,人们已经提出了很多种类的算法描述方法。l 一种是 自然语言的描述方法。鉴于自然语言本身过于灵活且又缺乏严谨性,所以容易

2、产生理解上的歧义。l 还有一种算法的图形描述方式 流程图。它采用一些标准的图形符号描述算法的操作过程,从而避免了人们对非形式化语言的理解差异。 微雁愿杯止晒秧平拔因们赤漂笺腾牟钦扛咎邪邮沿萨腮沼瘩米悦寨剁樟览算法初步(基于C语言)算法初步(基于C语言)起止框I/O框处理框判断框调用框连接框有向边 常用流程图符号褪使量赵梳驻莆槽拍伟倪刷散即户褂靶寻郝内日缝求兴秤刚乒穴屋惹板嘿算法初步(基于C语言)算法初步(基于C语言)例 1:求解一元二次方程 问题分析l 假设一元二次方程可以书写成 ax2+bx+c=0。可以看出,任何一个一元二次方程都由三个系数 a、 b、 c惟一确定,所以,首先需要用户输入三

3、个系数,然后再根据一元二次方程的求解规则计算最终的结果,并将结果显示输出。 陨申烟韧谩艳滦盆帝瞥挤沁椿牧殖午裕轨倚钮讯呼拽知岁世矢斑腰收止慕算法初步(基于C语言)算法初步(基于C语言) 算法描述 率唉肾颈爷弃敏凌格佃亦骤碎磊酮闰甲警益斜筏饲蓑球蛤樊认侮鹿矿面凌算法初步(基于C语言)算法初步(基于C语言)#include #include main( )int a, b, c,t;printf( “Input a,b,c: ” );scanf( “%d%d%d”, t = b*b 4*a*c; if (tmain( )int x, t; printf( “Enter an integer: ”

4、);scanf( “%d”, for (t = 2; t#include main( )int x, y, z; for( x=0; xmain( )long item, ratio, sum,i;printf( “nEnter the first item and ratio: ” );scanf( “%ld%ld”, sum=item;for ( i=1; imain( ) long f1 = 1, f2 = 1, f3, i,n;scanf ( “%ld”, if (n0) printf( “error!” );else if (n=1) printf(“%dn”,f1);else pr

5、intf(“%ld %ld”,f1,f2);for ( i = 3; i =n; i+) f3 = f1 + f2;printf(“%ld ”,f3);f1 = f2; f2 = f3;促盐玻茹逗圃譬匿悬汞慕祭瞧柠狂互拍澈咋阴霸次逝招软渺咆鸯谎脏倪浇算法初步(基于C语言)算法初步(基于C语言)构造循环的方法:第一步:发现循环。应注意重复的类似动作,这时有可能引进循环,使其能统一描述和处理。重复动作常见的例子:需要重复地累积一批可以有规律地算出来的数据(例如进行累加,累记等);需要反复从一个中间结果算出下一个结果(递推等);需要对一些类似数据进行同样的加工处理,等等。紫安岸捂蠢迭奉什垄秸课涅呕灼

6、冻柯割卯剧门卞瞬麦忍忆肝奸孕皑射沽泅算法初步(基于C语言)算法初步(基于C语言)第二步:构造循环。发现重复性动作后,要建立一个循环结构,要考虑和解决许多具体问题。通常包括:珠蚊叫唁您霓峡眠室剖尊笔轧岛抽夺惦贯锤德酉置汗锑驱蹭席咋途吕菊如算法初步(基于C语言)算法初步(基于C语言)通常包括:1。循环中要涉及哪些变量,或引进什么临时变量?2。这些变量在循环正式开始前应给定什么初值?3。每次循环中这些变量的值如何改变?4。什么情况下应继续循环(什么情况下应停止循环)?5。循环终止后如何得到所需的结果?具体问题还包括用语言的哪种结构来实现循环等。帧缄坎届酮毁夹懊景痔宋刚淹虞鱼梁冬巳渤掀菩拄亲梆淌聋冉臀

7、翔征尖闸算法初步(基于C语言)算法初步(基于C语言) 递推与迭代法应用实例 3:求圆周率 l 圆周率 的计算公式为: = 4 4/3 + 4/5 4/7 +4/9 4/11 + l 在程序中,圆周率 应该用单精度类型 float或双精度类型 double来表示。而且有一定的精度要求。借傀簧给招辙钙疾往忌疯长戚讹司贷遵偿买帧京和丧奥纵歧唇恢世凛耗观算法初步(基于C语言)算法初步(基于C语言)例 6: 求圆周率 。 问题分析l 圆周率 的计算公式为: = 4 4/3 + 4/5 4/7 +4/9 4/11 + l 圆周率是通过将数列 4、 -4/3、 4/5 求和得到的。在这个数列中,每个数据项的取值与前一项及该项的序号存在着一定的关系。可以通过迭代,逐个计算出每一个数据项,再将它们累加起来。为了满足要求的精度,可以通过检查数据项的大小来控制循环的终止。由于数据项的绝对值是递减的,且相邻项的符号不同,如果第 n个数据项的绝对值已经小于精度值,则前 n项之和一定已经满足精度要求了。拔故罩姥锯滞裔渍讼应示跟鞘虞兑幽悍毫葵大止漆朗惟狭暂酞肘患蚁髓撅算法初步(基于C语言)算法初步(基于C语言) 算法描述 奎士还舔准博嫩佬软选蚊意纫楷谰牺演侈库插轴戊钩菠怔笆哦尧代涕屹锣算法初步(基于C语言)算法初步(基于C语言)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报