大学C语言程序设计基础第01章 算法ppt课件.ppt

大学C语言程序设计基础第01章 算法ppt课件.ppt

ID:59319604

大小:773.00 KB

页数:36页

时间:2020-09-20

上传者:U-5097
大学C语言程序设计基础第01章 算法ppt课件.ppt_第1页
大学C语言程序设计基础第01章 算法ppt课件.ppt_第2页
大学C语言程序设计基础第01章 算法ppt课件.ppt_第3页
大学C语言程序设计基础第01章 算法ppt课件.ppt_第4页
大学C语言程序设计基础第01章 算法ppt课件.ppt_第5页
资源描述:

《大学C语言程序设计基础第01章 算法ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

算法 第二章 算法2.1程序设计的概念2.2算法的概念及常用算法描述2.3结构化程序设计方法 §2.1程序设计的概念程序设计就是用计算机语言来编写程序的过程。什么是程序呢?著名的计算机科学家沃思提出一个公式:算法+数据结构=程序 程序的两大要素:算法:即问题的求解过程,也就是计算机的工作步骤。这是对操作的描述。数据结构:即在程序中数据的类型和组织形式,这是对数据的描述。 §2.2算法的概念及    常用算法描述1.2.1算法的概念1.2.2算法的表示1.2.3常用算法描述 2.2.1算法的概念广义的说,为解决一个问题而采取的方法和步骤就称为算法。包含两大要素:1、计算机所能执行的操作:算术运算、逻辑运算、关系运算、函数运算、位运算、I/O操作等。2、控制结构:即如何控制构成算法的各种操作的执行顺序。 按照结构化程序设计原则,一个程序由三种基本控制结构组成:1、顺序结构:按语句书写的先后次序执行的程序结构;2、选择(分支)结构:根据指定条件的判断结果从若干组语句中选择一组执行;3、循环结构:根据判断给定条件是否满足,决定是否继续执行程序中的某一模块。 2.2.2算法的表示计算机通常采用三种方法来表示:自然语言传统的程序流程图N-S流程图 自然语言表示法例如,求两数之和:①、输入a、b两数;②、求和sum=a+b;③、输出两数之和sum。注意:用自然语言表示的每一个操作步骤必须是计算机所能实现的。特点:通俗易懂,但文字冗长,易出现歧义,较少使用。 传统的程序流程图用一些图形符号形象直观的描述算法,ANSI规定了常用的程序流程图符号。 例2.1输入三个数a、b、c,输出其中的最大者。开始输入a,b,ca>b?a>c?Tb>c?F结束输出cF输出aT输出bT输出cF 传统的程序流程图特点:绘制简单,描述直观缺点:1、不易表示算法或程序的层次结构;2、用箭头表示的控制流可能引起随意的转移控制;3、可能诱使人们过早地考虑局部程序的控制结构而忽视全局性的程序结构;4、不易表示数据结构和程序模块间的关系。 N-S图提供了描述三种基本逻辑结构的图形工具,与传统的程序流程图对照描述如下:一、顺序结构图1.3顺序结构A模块B模块(a)A模块B模块(b) 二、选择(分支)结构图1.4选择结构(b)N-S图表示判断条件成立吗?成立不成立A模块B模块(a)流程图表示A模块B模块判断条件成立吗?成立不成立N-S图 由分支结构派生出来的多分支结构:图1.5多分支结构K=?A1块A2块An块…K1K2Kn(a)流程图表示K=?K1K2…KnA1块A2块…An块(b)N-S图表示N-S图 三、循环结构图1.6当型循环结构1、当型循环结构:先判断循环条件是否满足,当条件满足,执行一遍循环体,再判断循环条件,仍满足再执行一遍循环体……直到不满足条件,则退出循环,执行循环体后的下一语句。若第一次判断条件就不满足,则一次也不执行循环体。不满足满足循环体循环条件满足吗?(a)流程图表示(b)N-S图表示循环条件满足吗?循环体 图1.7直到型循环结构2、直到型循环结构:先执行一遍循环体,再判断循环条件是否满足,如不满足再执行一遍循环体……直到条件满足,则退出循环,执行循环体后的下一语句。这种循环结构至少要执行一遍循环体。循环结构(a)流程图表示满足不满足循环体循环条件满足吗?(b)N-S图表示循环体直到循环条件满足为止 2.2.3常用算法描述常用算法的举例: Beginsum=0score1=88Score2=67sum=score1+score2输出sumEnd请用程序流程图描述求解下列问题的算法姓名英语高数总分春风8867EXAMPLE[1-2]: 输入a与b两个值,若a>b则输出a。请用程序流程图描述其执行过程。EXAMPLE[1-4]:BeginTF输入a,ba>b输出aEnd 输入a与b两个值,若a>b则输出a,否则输出b。请用程序流程图描述其执行过程。EXAMPLE[1-5]:Begin输入a,ba>bTm=aFm=b输出mEnd BeginEnd输入a,b,c三个值,请输出三个值中最大的一个。请用程序流程图描述其执行过程。输出m输入a,b,ca>bTm=am=bFm>cm=cFTEXERCISES[1-1]: 输入a,b,c三个值,请按其值从大到小排序并输出。要求用程序流程图描述其排序过程。EXERCISES[1-2]: BeginEnd输出a,b,c输入a,b,cTt=aa=bb=tFa>cFTt=aa=cc=tb>cFt=bb=cc=tTa>b Beginsum=0i=1sum=sum+i输出sumEnd请用程序流程图描述:sum=1+2+3+4+……+100的计算步骤。设:i计数器:i=i+1sum为累加器:sum=sum+ii=i+1Ti>100FEXAMPLE[1-6]: 从键盘输入30名学生的高数成绩并输出高数成绩小于60分的值,并统计出小于60的有多少人。要求用程序流程图描述其解决该问题的算法。设:i总人数计数器:i=i+1(i<=30)g为输入的成绩num记录不及格人数:num=num+1EXERCISES[1-3]: End输出numYi<=30NBegini=0,num=0g<60F输入g输出gTnum=num+1i=i+11122 顺序结构1973年由美国学者I.Nassi、B.ShneidermanABTFexpABexpA选择结构循环结构2、N-S图 描述计算:sum=1+2+3+4+……+100sum=0,i=1i100sum=sum+ii=i+1输出sumEXAMPLE[1-7]: 例描述n!的值的算法。开始F=1,i=1输入ni≤n?F=F*ii=i+1输出F结束图1.8求n!的N-S图 例描述求     的算法。设a≠0开  始输入a、b、cd=b2-4ac输出x1、x2输出两个虚根x1、x2结  束d≥0?TTFFd>0? §2.3结构化程序设计方法荷兰学者E.W.dijkctra提出了结构化程序设计(structuredprogramming)的理论,成为70年代后程序设计的主流方法。它提出了一些大家都要遵循的原则,这些原则可以归纳为32个字:“自顶向下,逐步细化。基本结构,组合而成。清晰第一,效率第二。书写规范,缩进格式。” §2.4本章要点小结程序的两大要素,算法的表示结构化程序设计方法 本章作业一、书面作业教材p.16:24.⑴7附加1、参照例题,编写一个C程序,在屏幕上输出以下信息:***********Verygood!***********附加2、编写一个程序,输入a、b、c三个数,输出其中最大者。 二、上机作业《习题解答与上机指导》p.1571、2调试附加1、2 第一章结束

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭