热门文档
- 2022-09-18 20:22:00 中国人为什么看不起中国人 张鸣
- 2022-09-18 20:22:00 中国兵法之起源 编委会
- 2022-09-18 19:48:57 心理催眠术 迈克尔.赫普,温迪.德雷顿著
- 2022-11-24 16:17:09 《性体验与性爱心理》尤里-谢尔巴特赫
- 2022-11-27 20:51:00 《英语是玩出来的》何杰 刘丽芳
- 2022-09-18 19:48:57 成功创业72绝招 艾凡著
- 2022-09-19 20:00:37 《社会契约论》卢梭著 何兆武译
- 2022-11-22 08:41:49 【测试文档】小学语文口语交际写作技巧大全
- 2022-09-18 20:22:00 中国企业的六西格玛管理之道 魏中龙主编
- 2022-09-19 10:52:47 《计算机原理与系统结构》侯炳辉主编
- 2022-12-05 15:23:18 《做你自己股神巴菲特送给儿子的人生礼物》巴菲特著 赵亚男译
- 2022-10-02 14:44:45 《心理咨询导论 第3版》约翰·麦克里奥德 潘洁编著

1、本文档共计 211 页,下载后文档不带www.pdfdz.com水印,支持完整阅读内容。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
2、古籍基本都为PDF扫描版,所以文档不支持编辑功能,即不支持文档内文字的复制粘贴。
3、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
4、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
5、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。
第1章方法和算法概述程序设计的实质问题就是把人工求解问题的过程转换为计算机的算法语言源程序,计算机执行该程序,获得问题的解或指出问题无解。求解一个问题,首先应分析问题本身,描述它的数据结构,书写问题的求解步骤,这是算法设计阶段:然后,选择某种算法语言(如C语言),运用结构化程序设计原则,表达上述算法,这是程序设计阶段。因此,不管是用计算机做科学计算还是企事业管理,任何问题的计算和求解,算法和方法是相辅相承的,其中“算法设计”占有特别重要的位置。本章将扼要讨论:结构化程序设计方法,结构化程序的基本结构,用结构化方法做程序的总体设计和详细设计的基本要点;算法和算法的特性,算法的描述,算法的C语言表示,模块化程序设计的基本准则。1.1方法目前,程序设计方法有两大类,一个是面向过程的模块化程序设计方法,另一个是面向对象的程序设计方法。本书基于模块化程序设计思想,采用“自顶向下,逐步求精”方法,进行问题分析和程序设计。1.1.1结构化程序设计方法结构化程序设计方法是基于模块化的编程思想,对实际问题进行分析和编程时,先从总体出法,把一个大问题或较复杂问题分解为若干个相对独立的子问题,对每个子问题可以再细化为若干个低一层的子问题,直到子问题便于在计算机上实现,这就是自顶向下、逐步求精的解题方法。在计算机上实现各个子问题的求解,就是设计相应功能的子程序,即功能模块。这些模块,功能独立且专一,便于用相关算法描述之。当用C语言来表达算法时,就是功能独立的C函数。因此,结构化程序设计方法,仍是程序员作软件设计时普遍采用的方法。下面,用这种方法求解了一个实际问题,演示了分析求解的全过程。【例1.1】设计一个程序,对输人的一行正文,先分离出其中的英文单词,再统计包含元音的单词个数和包含四个不同元音的单词个数。例如,若输人的文本行是:program in(input,output);应取出四个英文单词,其中包含元音的单词是四个,包含四个不同元音的单词为0个。解题思路:若输人的文本在buf中,从buf中分离出+个英文单词时,先确定单词首字母,然后顺序取字母且放人数组wod内,遇到非字母字符时,则该单词已拼成。重复上述操作,直到buf中文本被取完。若数组wod内共放进Na个单词,再测试每个单词内是否包含元音和是否包含四个不同元音,测试时,用Nb计数包含元音的单词数,用Nc计数包含四个不同元音的单词数。假设输入的文本是小写的字母,buf和wod的说明为:define N 50define M 15char buf[80],Word[N][M];intNa,Nb,Nc;1.总体框架分析(1)将待测文本输人buf。(2)从buf中分解出Na个单词存人Word。(3)检测Wod中单词,统计出包含元音的单词Nb个、包含四个不同元音的单词Nc个。2.细化总体框架(1)从buf中分解出Na个单词的操作可细化为:令Na=0,pos=0;whi1e(buf[pos]不是尾标){搜索buf,确定第Na个单词首字母位置pos;依据pos,从buf中取出第Na个单词存人Nord;(2)测试Wod中元音单词和四个不同元音单词的操作可细化为:for(i=1;i<=Na;i++)测试第Wor[i]个单词是否包含元音,若是则Nb计数一次;for(i=1;i<=Na;i++)测试第Word[1]个单词是否包含四个不同元音,若是则Nc计数一次;3.模块化函数ScanPoe(),确定buf中某个单词首字母位置po,或者文本已分析完。Scanpos(char buf[]int pos{while(buf[pos]>='a'&&buf[pos]<='z')&buf[pos]!.=\0')函数GetWord(),依据pos从buf中取字符拼第Na个单词,且存人Word。Getword(char buf[]int posint j;