中国高校课件下载中心 》 教学资源 》 大学文库

浙江大学:《计算机辅助设计与图形学》课程教学资源(PPT讲稿)程序设计专题——结构化程序设计与递归函数

文档信息
资源类别:文库
文档格式:PPTX
文档页数:30
文件大小:328.61KB
团购合买:点击进入团购
内容简介
 用结构化程序设计的思想解决问题  将多个函数组织起来,将多个源程序文件组织起来  理解程序设计规范及其重要性  函数嵌套求解复杂的问题  理解和使用函数递归  类型定义与宏定义  编译预处理
刷新页面文档预览

程序设计专题 结构化程序设计与递归函数 主讲教师:刘新国

主讲教师: 刘新国

专题要点 ◇用结构化程序设计的思想解决问题 ◇将多个函数组织起来,将多个源程序文件组 织起来 ◇理解程序设计规范及其重要性 ◇函数嵌套求解复杂的问题 ◇理解和使用函数递归 ◇类型定义与宏定义 ◇编译预处理

 用结构化程序设计的思想解决问题  将多个函数组织起来,将多个源程序文件组 织起来  理解程序设计规范及其重要性  函数嵌套求解复杂的问题  理解和使用函数递归  类型定义与宏定义  编译预处理

结构化程序设计 ◇使用结构化程序设计方法解决复杂的问题 把大问题分解成若干小问题,小问题再进一步 分解成若干更小的问题 ◇写桯序时,用 maino解决整个问题,它调用解 决小问题的函数 这些函数又进一步调用解决更小问题的函数, 从而形成函数的嵌套调用

 使用结构化程序设计方法解决复杂的问题  把大问题分解成若干小问题,小问题再进一步 分解成若干更小的问题  写程序时,用main()解决整个问题,它调用解 决小问题的函数  这些函数又进一步调用解决更小问题的函数, 从而形成函数的嵌套调用

程序结构 maino 函数1函数2 函数m 函数函数 函数 函数 12

main( ) 函数1 函数2 … … 函数m 函数 1_1 函数 1_2 函数 m_1 函数 m_n … …

函数定义 ◇好的函数名字:描述函数所做的所有事情。如: ◆ checkUrderinto e ca l mOnth l y Revenues(.) ◇一个函数只实现一个功能 ◇函数参数: ◇按照输入-修改-输出的顺序排列参数 ◎考虑对参数采用某种表示输入、修改、输出的命名规则 使用所有的参数 把状态或出错变量放在最后 ◇不要把函数的参数用作工作变量 在接口中对参数的假定加以说明 尽可能少的参数(限制在大约7个以内)

 好的函数名字:描述函数所做的所有事情。如:  checkOrderInfo(...)  calcMonthlyRevenues(...)  一个函数只实现一个功能  函数参数:  按照输入-修改-输出的顺序排列参数  考虑对参数采用某种表示输入、修改、输出的命名规则  使用所有的参数  把状态或出错变量放在最后  不要把函数的参数用作工作变量  在接口中对参数的假定加以说明  尽可能少的参数(限制在大约7个以内) 5

例程10-1]计算常用圆形体体积 设计一个常用圆形体体积计算器,采用命令方式 输入1、2、3,分别选择计算球体、圆柱体、圆 锥体的体积,并输入计算所需相应参数。 析 ◇输入1、2、3选择计算3种体积,其他输入结束计算 ◆设计一个控制函数caO,经它辨别圆形体的类型 再调用计算球体、圆柱体、圆锥体体积的函数 令设计单独的函数计算不同圆形体的体积

设计一个常用圆形体体积计算器,采用命令方式 输入1、2、3,分别选择计算球体、圆柱体、圆 锥体的体积,并输入计算所需相应参数。  分析:  输入1、2、3选择计算3种体积,其他输入结束计算  设计一个控制函数cal(),经它辨别圆形体的类型 再调用计算球体、圆柱体、圆锥体体积的函数  设计单独的函数计算不同圆形体的体积

程序结构 maino cal( vol ball( vol_ cylind() vol cone () ◇3层结构,5个函数 ◇降低程序的构思、编写、调试的复杂度 ◇可读性好

 3层结构,5个函数  降低程序的构思、编写、调试的复杂度  可读性好 main( ) cal ( ) vol_ball ( ) vol_cylind ( ) vol_cone ( )

例10-1源程序 # define p|3.14159265 f (sek3) void cal( int sel break int main(void) e cal(se1 ); int sel whi le(1)I return 0: pr intf("1-计算球体体积\n"); pr intf("2-计算圆柱体积\n") pr intf("3-计算圆锥体积\n"); pr intf("其他一退出运行\n") pr intf(“请输入计算命令:”) scan f("%d",&se);

#define PI 3.14159265 void cal ( int sel ); int main(void) { int sel; while( 1 ){ printf(" 1-计算球体体积\n"); printf(" 2-计算圆柱体积\n"); printf(" 3-计算圆锥体积\n"); printf(" 其他 -退出运行\n"); printf(“请输入计算命令:”); scanf("%d",&sel); if (sel3) break else cal(sel); } return 0; }

主控函数Cl void cal( int sel double vol bal I(void) double vol cy l ind (void double vol cone(void) switch (sel) case1: printf("球体积为:%.2f\n", vol ball() break; case2: printf("圆柱体积为:%.2f\η", vol cyl ind()); break case3: printf("圆锥体积为:%.2fⅦn", vo cone()); break

void cal ( int sel ) { double vol_ball(void ); double vol_cylind(void ); double vol_cone(void ); switch (sel) { case 1: printf("球体积为:%.2f\n", vol_ball( )); break; case 2: printf("圆柱体积为:%.2f\n", vol_cylind( ) ); break; case 3: printf("圆锥体积为:%.2f\n", vol_cone( ) ); break; } }

球体体积函数 vol ball double vol balI() double r pr intf("请输入球的半径:"); scanf(%If, &r) return(4.0/3.0*P|**r*r)

double vol_ball( ) { double r ; printf("请输入球的半径:"); scanf("%lf",&r); return(4.0/3.0*PI*r*r*r); }

共30页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档