- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[第三章计算机算法初步
第三章 计算机算法初步 计算机求解问题的一般过程 问题分析阶段 认真分析问题,建立正确的模型,找出解题方法 数据结构设计阶段 找出所涉及的数据信息,根据已经建立的正确模型设计相应的数据结构 算法设计阶段 根据数据结构,详细设计计算步骤,并加以描述 编码与调试阶段 用计算机语言实现所描述的算法,并调试正确 举例:求绿化带宽度 如图:在长500m、宽300m的地域内保护80000m2的地块,求沿四周植树建设绿化带的宽度。 得到一元二次方程:4x2-2(length+width)x+length*width-area = 0 找出计算方法 X= 根据求根公式求解方程 找出算法 用C语言写出程序 调试和测试 算法概念 算法 解题过程(步骤)的具体描述 可完全精确执行、有确定结果的有穷指令序列 算法的控制结构 选择结构(如:C语言的 if 语句) 循环结构(如:C语言的 while 语句) 顺序结构(语句组) 3种结构可以满足各种算法的所有控制要求 算法描述的必要性 程序设计过程 算法设计 程序实现 算法描述: 描述解题逻辑,验证正确性 独立于程序设计语言 程序实现: 利用程序设计语言的功能,实现算法 熟悉语言的语法、语义、支撑环境 算法描述方法 自然语言描述 易于理解;与计算机语言差别较大,不严谨,容易出现二义性 图形方式描述 比较直观,无二义性,易于掌握,过度为编码比较容易 流程图(P60 表3-1) 、N-S图、PAD图等 伪代码方式描述 很严谨,与计算机语言很接近,很容易过度为编码,掌握的难度略大 常用流程图符号 (P60 表3-1) 用流程图表示算法 用N-S图表示算法 用PAD图表示算法 伪码描述例:求5个整数之和 数据分析 sum 保存已经输入的整数之和 算法描述: 赋值 0 ? sum 重复执行 5 次 2.1 读入一个整数 2.2 累加到 sum 输出整数和 sum 仅考虑主要的数据对象和控制结构 程序实现阶段考虑数据对象和控制结构的具体实现 3.1 实例1:考试成绩统计 任务: 输入某班级人数和某课程的考试成绩(100分制),输出及格率(60)和不及格率。 问题分析(基本方法) 输入学生人数后,逐个输入成绩,判断及格否,统计及格人数和不及格人数 数据分析 班级人数 num 及格人数 pass 不及格人数 fail 输入成绩 score 过程描述(流程图) 算法的验证 模拟算法的计算过程,跟踪数据的变化 程序结构设计(本题) 流程图的结构 从外层到内层 顺序 ? 循环 ? 选择 程序结构 复合语句 ? while 语句 ? if 语句 while 条件:num == 0 if 条件:score 60 细节问题 输出格式: 65.5% 涉及浮点数的处理 程序实现 #include stdio.h main( ) { int num, pass, fail, score; while( 0 != num ) { } } 语言现象 赋值表达式 pass = (fail = 0) 赋值运算符 = 右结合 简化赋值(自反运算、复合赋值) pass += 1 等价于 pass = pass + 1 自动类型变换 printf(“passed %lf\%\n”,100.0*pass/num); 强制类型变换 (类型名)表达式 /* 改变其数据类型*/ 转义字符 \% 或 %% 用于输出 % 设计方法分析 计算机科学家尼克劳斯·沃思(Niklaus Wirth )提出 Programs = Algorithms + Data Strcture 程序 = 算法 + 数据结构 程序设计过程 问题定义:输入输出要求(数据与格式) 数据结构:分析需要保存的信息,组织数据结构 算法设计:编制解题步骤 程序编码:选用程序设计语言,实现解题步骤 程序测试:排错和测试 例3-2 求解一元二次方程 问题分析 一元二次方程可以写成ax2+bx+c=0 方程由三个系数a、b、c惟一确定 需要用户输入三个系数,然后根据一元二次方程的求解规则计算最终的结果,并将结果显示输出 流程剖析 变量t1,t2 保存数学计算中的中间结果 程序实现 #include stdio.h #include math.h main( ) { int a, b, c, t1; double t2; scanf( “%d%d%d”, a, b, c ); t1 = b*b – 4*a*c; if( t1 == 0 ) printf( “x = %lf\n”, -b/(2.0*a) ); else if( t1 0
您可能关注的文档
- [第三章税收征收管理法律制度制订人陈小凤.ppt
- [洗发水市场分析2.ppt
- [第三章秦朝的法律制度.ppt
- [洞庭湖区的洪涝灾害问题.ppt
- [第三章网络建设要素.ppt
- [第三章生产环境物理因素的安全卫生.ppt
- [活动3.2采用材料定额消耗量比例法分配材料费用中职成本业务核算高教社2016年11月版.ppt
- [第三章经济增长.ppt
- [第三章第二节真核微生物细胞的结构与功能贺.ppt
- [第三章职务分析与评价.ppt
- 2024年沧州市公务员考试行测真题及答案详解(名师系列).docx
- 粮油食品检验人员复习提分资料带答案详解(精练).docx
- 粮油食品检验人员自我提分评估(考点精练)附答案详解.docx
- 粮油食品检验人员全真模拟模拟题附参考答案详解(精练).docx
- 2025年延安市公务员考试行测试卷历年真题附答案详解(突破训练).docx
- 2025年株洲市公务员考试行测试卷历年真题含答案详解.docx
- 2024年枣庄市公务员考试行测真题及完整答案详解1套.docx
- 2024年抚顺市公务员考试行测真题及答案详解(各地真题).docx
- 2025年常州市公务员考试行测真题及一套参考答案详解.docx
- 2023年德州市公务员考试行测试卷历年真题及1套完整答案详解.docx
最近下载
- 剑桥少儿英语预备级下复习.pptx VIP
- 2023年马原期末考试试卷含答案版.doc
- USP手枪加工工艺编制及夹具的设计.doc
- (2025春新教材)外研版三年级英语下册课件Unit 2(Start up).pptx VIP
- Razer雷蛇塔洛斯魔蝎V2 产品手册.pdf
- RZ9681现代通信技术平台实验指导书.pdf VIP
- 口腔数字化修复技术讲解.pptx VIP
- 急性ST段抬高型心肌梗死溶栓治疗专家共识2024解读.pptx
- 工厂弱电智能化系统工程施工技术方案说明.doc VIP
- 精品解析:广东省广州市增城区广大附中增城实验中学2022-2023学年七年级上学期开学考试数学试题(解析版).docx VIP
文档评论(0)