《程序设计》 cs.stu20119 第9章模块化开发 令自顶向下的分解 冷模块划分 库的设计与实现 冷库的应用 程序设计-11
《程序设计》 cs.sjtu 2011.9 程序设计 - 11 第9章 模块化开发 ❖ 自顶向下的分解 ❖ 模块划分 ❖ 库的设计与实现 ❖ 库的应用
《程序设计》 cs.stu20119 模块划分 冷当程序变得更长的时候,要在一个单独的源 文件中处理如此众多的函数会变得困难 把程序再分成几个小的源文件。每个源文件 都包含一组相关的函数。一个源文件被称为 个模块。 ☆模块划分标准:块內联系尽可能大,块间联 系尽可能小 程序设计
《程序设计》 cs.sjtu 2011.9 程序设计 - 12 模块划分 ❖ 当程序变得更长的时候,要在一个单独的源 文件中处理如此众多的函数会变得困难 ❖ 把程序再分成几个小的源文件。每个源文件 都包含一组相关的函数。一个源文件被称为 一个模块。 ❖ 模块划分标准:块内联系尽可能大,块间联 系尽可能小
《程序设计》 cs.stu20119 石头、剪刀、布游戏 冷游戏视则 布覆盖石头 >石头砸坏剪刀 >剪刀剪碎布 冷游戏的过程为:游戏者选择出石头、剪子或 布,计算机也随机选择一个,输出结果,继 续游戏,直到游戏者选择结束为止。在此过 程中,游戏者也可以阅读游戏指南或看看当 前战况。 程序设计-13
《程序设计》 cs.sjtu 2011.9 程序设计 - 13 石头、剪刀、布游戏 ❖ 游戏规则 ➢ 布覆盖石头 ➢ 石头砸坏剪刀 ➢ 剪刀剪碎布 ❖ 游戏的过程为:游戏者选择出石头、剪子或 布,计算机也随机选择一个,输出结果,继 续游戏,直到游戏者选择结束为止。在此过 程中,游戏者也可以阅读游戏指南或看看当 前战况
第一层的分解 《程序设计》 cs.stu20119 While(用户输入!=quit) switch(用户的选择) case paper,rock, SCIsSor:机器选择; 评判结果; 报告结果; case game:显示目前的战况; case help:显示帮助信息; default:报告错误; 显示战况; 程序设计-14
《程序设计》 cs.sjtu 2011.9 程序设计 - 14 第一层的分解 While (用户输入 != quit) {switch(用户的选择) {case paper, rock, scissor: 机器选择; 评判结果; 报告结果; case game: 显示目前的战况; case help: 显示帮助信息; default: 报告错误; } 显示战况;
《程序设计》 cs.stu20119 函数抽取 冷获取用户输入 selection by player 冷获取机器输入 selection by machine 冷评判结果 compare 冷报告结果并记录结果信息 report 显示目前战况 prn game status 冷显示帮助信息 prn help?六个函数 程序设计
《程序设计》 cs.sjtu 2011.9 程序设计 - 15 函数抽取 ❖ 获取用户输入selection_by_player ❖ 获取机器输入selection_by_machine ❖ 评判结果compare ❖ 报告结果并记录结果信息report ❖ 显示目前战况prn_game_status ❖ 显示帮助信息prn_help六个函数