谭浩强 C语言程序设计教程(由曾怡视频修改) 第2章 程序设计的灵魂-算法课件.ppt

谭浩强 C语言程序设计教程(由曾怡视频修改) 第2章 程序设计的灵魂-算法课件.ppt

ID:57035517

大小:1.52 MB

页数:27页

时间:2020-07-27

谭浩强 C语言程序设计教程(由曾怡视频修改)  第2章 程序设计的灵魂-算法课件.ppt_第1页
谭浩强 C语言程序设计教程(由曾怡视频修改)  第2章 程序设计的灵魂-算法课件.ppt_第2页
谭浩强 C语言程序设计教程(由曾怡视频修改)  第2章 程序设计的灵魂-算法课件.ppt_第3页
谭浩强 C语言程序设计教程(由曾怡视频修改)  第2章 程序设计的灵魂-算法课件.ppt_第4页
谭浩强 C语言程序设计教程(由曾怡视频修改)  第2章 程序设计的灵魂-算法课件.ppt_第5页
资源描述:

《谭浩强 C语言程序设计教程(由曾怡视频修改) 第2章 程序设计的灵魂-算法课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章程序的灵魂-算法一.算法及其算法的表示方法程序=算法+数据结构+程序设计方法+语言工具和环境在设计一个程序时,要综合运用这几方面的知识。算法是灵魂,数据结构是加工对象,语言是工具。计算机科学家沃思(NikiklausWirth)公式:数据结构+算法=程序描述数据的类型、组织形式描述数据的操作步骤做事情都用——方法、步骤(顺序)——决定事情成败计算机为解决一个问题而采取的方法和步骤,就称为算法。计算机算法可分为:数值运算算法、非数值运算算法。数值运算:求数值解;非数值运算:常用于事务管理领域,如图书检索、人事管理、行车调度管理等。什么是程序设计?为计

2、算机编写程序的过程。程序设计最主要的工作就是算法设计。什么是程序设计语言?在程序设计过程中,用于编写程序的语言。问题定义总体/详细设计编程运行编写C语言程序的大体步骤:一个算法应当具有五大特性:1、有穷性:算法包含的操作步骤有限2、确定性:算法每一步的操作步骤都是确定的,不能模棱两可3、有零个或多个输入:在执行算法时从外界取得必要的信息4、有一个或多个输出:即算法的求解5、有效性:算法中每一个步骤都应当能有效执行1、自然语言描述法:3、伪码方法:2、图示法:(2)算法结构图(N-S图)(1)算法流程图二、算法的描述方法4、计算机语言1、自然语言描述法:自

3、然语言就是人们日常使用的语言,可以是汉语或英语或其它语言。用自然语言表示通俗易懂,但文字冗长,不直观;也不严格,容易出现“歧义性”。Q:将分别装有醋(A杯)和酱油(B杯)的两个杯子里面的内容交换。分析:借用第三个杯子(空杯)(1)算法流程图采用具有特定含义的图框和流线表示算法灵活、自由、形象、直观,可表示任何算法2、图示法:起止框:算法的开始和结束一般处理框:表示赋值、加减等操作判断框:根据给定的条件决定执行几条路径中的某一条路径输入输出框:表示输入输出操作流程线:表明程序流程的方向过程判断数据预定义过程起止流程线连接注释图3.2常用的流程图标准化符号算

4、法流程图小结流程图是表示算法的较好的工具。一个流程图包括以下几部分:(1)表示相应操作的框;(2)带箭头的流程线;(3)框内外必要的文字说明。缺点:占用篇幅较多,尤其是算法比较复杂时,画流程图既费时又不方便(2)算法结构图(N-S图,盒图)处理判断当型循环直到型循环N-S图表示算法的优点比文字描述直观、形象、易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执行时的顺序。用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。3、伪代码

5、概念:伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。特点:它如同一篇文章一样,自上而下地写下来。每一行(或几行)表示一个基本操作。它不用图形符号,因此书写方便、格式紧凑,也比较好懂,也便于向计算机语言算法(即程序)过渡。用处:适用于设计过程中需要反复修改时的流程描述。4、计算机语言表示/*文件名:ex020010.cpp*/#includeintmain(void){inta;printf("inputanumber:");scanf("%d",&a);if(a%2==0)printf("a=%diseven.",

6、a);elseprintf("a=%disodd.",a);return0;}例:输入一个整数a,判断它是偶数还是奇数?inputanumber:5A=5isodd.例1计算,写出其算法Thetotalis5050.引申:是否会编程实现m!/*文件名:ex020020.cpp*/#includeintmain(void){intn=1,s=0;while(n<=100){s=s+n;n++;}printf("Thetotalis%d.",s);return0;}用计算机语言表示1、结构化程序的三种基本结构用高级语言表示的结构化算

7、法,用三种基本结构(顺序、选择、循环)组成的程序必然是结构化的程序。任何复杂的算法都是由这三种基本结构按一定规律组成三、结构化程序设计方法1)顺序结构框图一系列顺序执行的操作S1S2S3…a=3;b=4;c=a+b;S1S2…S32)选择结构框图若条件P成立,则执行A操作;否则执行B操作。条件P成立A操作不成立B操作if(x>y)z=x;elsez=y;顺序结构选择结构3)循环结构框图当型(While型)循环结构直到型(Until型)循环结构例:学校办公系统2、三种基本结构的共同特点:单入口单出口结构内的每一部分都有机会被执行不存在“死循环”3、结构化程

8、序设计的优点:用三种基本结构组成的程序是结构化程序优点:易编、易读、易懂、易维护

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

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

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