网站大量收购独家精品文档,联系QQ:2885784924

《C语言程序设计》课件PPT 第01章程序设计基本知识.ppt

《C语言程序设计》课件PPT 第01章程序设计基本知识.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C语言程序设计》课件PPT 第01章程序设计基本知识

程序设计 模块化程序设计 问题转化,功能分解 复杂问题分解成小问题,降低问题求解的复杂度 模块分层,相互独立 顶层模块:抽象层,关注问题整体 底层模块:具象层,关注具体求解步骤 模块划分:各个模块完成特定功能,相互保持独立 优势:可维护性好,易理解 自顶向下,逐步求精 贯穿整个软件开发过程 典型软件开发过程 问题分析 确定软件需要解决的问题,明确系统输入输出 方案设计 总体方案设计:确定软件总体结构,形成高层模块划分 详细方案设计:细化模块,确定如何通过输入输出获得解决问题的算法 代码实现 使用程序设计语言实现上述算法 测试修改 设计测试用例,检查程序运行情况 模块化程序设计示例:系统分析 求一元二次方程的实数根,方程系数及常数项通过键盘输入,程序输出该一元二次方程根的情况:有实根、无实根或者方程退化成线性方程 模块化程序设计示例:方案设计 模块化程序设计示例:方案设计 模块化程序设计示例:方案设计 模块化程序设计示例:编码实现 模块化程序设计示例:编码实现 模块化程序设计示例:编码实现 模块化程序设计示例:编码实现 模块化程序设计示例:编码实现 模块化程序设计示例:编码实现 模块化程序设计示例:编码实现 模块化程序设计示例:编码实现 模块化程序设计示例:程序测试 综合示例 编程实现猜价格游戏。参与游戏者将在若干种商品中选择其中一种来猜测它的价格。如果在限定次数内猜中,则游戏参与者得到该商品。在游戏开始时,程序告知游戏参与者每种商品的价格范围。为降低游戏难度,如果游戏参与者猜测的价格比实际价格高,则程序提示“高”,如果猜测的价格比实际价格低,则程序提示“低”。 模块划分 总体设计 总体设计 详细设计 详细设计 详细设计 详细设计 详细设计 详细设计 编码实现 编码实现 编码实现 编码实现 编码实现 * * /* 程序整体结构 */ void main() { Input(); Compute(); } /* 模块细化 */ void Input() { 给出提示信息; 输入相应的数据; 数据合法性检查; 若数据有效,回传有效数据; 若数据无效,则提示; } void Compute() { 根据输入的系数进行判断; 若二次项系数为0,方程退化为线性方程,调用SolLinear(); 一般情况,能够求解方程的两个实数根,调用SolQuad(); } /* 模块细化 */ void SolQuad() { 根据一元二次方程求解公式求方程的两个实数解; 显示方程及其解; } void SolLinear() { 求线性方程的解; 显示方程及其解; } /* 详细方案设计,确定函数接口 */ void Input( 二次项系数, 一次项系数, 常数项 ); void Compute( 二次项系数, 一次项系数, 常数项 ); void SolLinear( 一次项系数, 常数项 ); void SolQuad( 二次项系数, 一次项系数, 常数项 ); /* 头文件包含语句已省略 */ /* 函数原型 */ /* 函数名称:Input */ /* 函数功能:将用户输入的双精度浮点型数据保存起来 */ /* 函数参数:a、b、c分别指向保存三个双精度数的地址 */ /* 返回值:无 */ void Input( double* a, double* b, double* c ); /* 函数名称:Compute */ /* 函数功能:调用函数SolLinear()与SolQuad()进行求解 */ /* 若无解,调用Output()函数输出无解信息 */ /* 函数参数:a、b、c分别三个系数,高阶在前 */ /* 返回值:无 */ void Compute( double a, double b, double c ); /* 函数名称:SolLinear */ /* 函数功能:求解线性方程,在系数a绝对值很小时调用 */ /* 调用Output()函数输出结果 */ /* 函数参数:b、c分别为两个系数,高阶在前 */ /* 返回值:无 */ void SolLinear( double b, double c ); /* 函数名称:SolQuad */ /* 函数功能:求解,调用Output()函数输出结果 */ /* 函数参数:a、b、c分别为三个系数,高阶在前 */ /* 返回值:无 */ void SolQuad( double a, double b, double c ); double GetDoubleValue( char* prompt ); /* 函数名称:HasSolution */ /* 函数功能:判定一元二次方程是

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档