计算机程序设计与算法ppt课件

上传人:仙*** 文档编号:150653369 上传时间:2022-09-10 格式:PPT 页数:65 大小:296.50KB
收藏 版权申诉 举报 下载
计算机程序设计与算法ppt课件_第1页
第1页 / 共65页
计算机程序设计与算法ppt课件_第2页
第2页 / 共65页
计算机程序设计与算法ppt课件_第3页
第3页 / 共65页
资源描述:

《计算机程序设计与算法ppt课件》由会员分享,可在线阅读,更多相关《计算机程序设计与算法ppt课件(65页珍藏版)》请在装配图网上搜索。

1、 第第1章章 计算机程序设计与算法计算机程序设计与算法C/C+程序设计教程程序设计教程主要内容有主要内容有 l l 程序设计言语程序设计言语l l 程序设计过程程序设计过程l l 程序设计算法程序设计算法l l 自然言语描画计算自然言语描画计算机算法机算法l l 程序流程图描画计程序流程图描画计算机算法算机算法l N-Sl N-S图描画计算机图描画计算机算法算法l l 用程序设计言语描用程序设计言语描画计算机算法画计算机算法 1.1 1.1程序设计程序设计 学习程序设计并不是简单地学习计算机语法规范或程序设计言语的本身,而是要学会怎样用计算机程序设计言语处理实践问题、提高任务效率和任务质量。计

2、算机技术运用领域博大而广泛,谁也不能够完全学会计算机技术的方方面面,这是由于计算机涉及到的领域太广了,计算机技术的开展日新月异,即使学上很久我们也不能够完全学到头,可以说学无尽头。1.1.11.1.1程序设计言语程序设计言语 1科学计算言语。用于科学计算,根底是数学模型,过程描画的是数科学计算言语。用于科学计算,根底是数学模型,过程描画的是数值计算,如值计算,如FORTRAN言语;言语;2系统开发言语。用于编写编译程序、操作系统、数据库管理系统系统开发言语。用于编写编译程序、操作系统、数据库管理系统DBMS等,如等,如C言语;言语;3实时处置言语。及时呼应环境信息,可以根据外部信号对不同的程序

3、实时处置言语。及时呼应环境信息,可以根据外部信号对不同的程序段进展并发控制执行;如汇编言语段进展并发控制执行;如汇编言语4商用言语。主要用于商业处置、经济管理商用言语。主要用于商业处置、经济管理,根底为自然言语模型;如根底为自然言语模型;如COBOL言语言语5人工智能描画言语。模拟人的思想推理过程,实现智能化控制等;人工智能描画言语。模拟人的思想推理过程,实现智能化控制等;6模拟建模言语。用于模拟实现客观事物的开展与变化过程,以提早预模拟建模言语。用于模拟实现客观事物的开展与变化过程,以提早预测未来开展的结果;测未来开展的结果;7网络编程言语,在网络技术根底上进入深层次的运用研讨与开发的言网络

4、编程言语,在网络技术根底上进入深层次的运用研讨与开发的言语语,如如Dephi适于网络化环境的编程,而适于网络化环境的编程,而JAVA是一种是一种新型跨平台分布式程新型跨平台分布式程序设计言语,语义规范与序设计言语,语义规范与C言语一样等等,不再列举。言语一样等等,不再列举。1.1.2 1.1.2 程序设计过程程序设计过程 1.1.程序实现过程程序实现过程 程序设计是指我们运用一种计算机言语程序设计是指我们运用一种计算机言语为实现处理实践问题的算法去设计编写计算机程为实现处理实践问题的算法去设计编写计算机程序的过程。序的过程。计算机言语是人与计算机进展交流的媒介,计算机言语是人与计算机进展交流的

5、媒介,经过言语编写的程序,计算机就会准确地按程序经过言语编写的程序,计算机就会准确地按程序步骤执行操作,计算机处理实践问题的普经过程步骤执行操作,计算机处理实践问题的普经过程如图如图1.11.1所示:所示:2.2.程序设计的过程程序设计的过程 程序设计大致包含以下几个步骤程序设计大致包含以下几个步骤(1)分析问题分析问题程序设计首先要进展对问题的分析,明白我们要作什么,确定要运用程序设计首先要进展对问题的分析,明白我们要作什么,确定要运用的数学模型。的数学模型。(2)确定算法确定算法确定算法即确定处理问题时要执行的一系列步骤。确定算法即确定处理问题时要执行的一系列步骤。(3)算法描画算法描画算

6、法描画就是运用计算机言语对算法予以描画。算法描画就是运用计算机言语对算法予以描画。(4)确定程序设计言语确定程序设计言语由于不同的计算机程序设计言语有不同的特点,根据实践情况与需求由于不同的计算机程序设计言语有不同的特点,根据实践情况与需求选定好程序设计言语后,就可以用该言语编程实现以算法。选定好程序设计言语后,就可以用该言语编程实现以算法。(5)调试和运转程序调试和运转程序 1.2 程序设计算法程序设计算法 计算机程序可以这样表示计算机程序可以这样表示 程序程序=算法算法+数据构造数据构造其中其中数据构造数据构造:对数据的描画对数据的描画,包括对数据类型的描画核对数据组织方式描画定义包括对数

7、据类型的描画核对数据组织方式描画定义.算法算法:对操作过程的描画对操作过程的描画,即操作步骤的描画。即操作步骤的描画。假设思索现代编程的工程化与多样性,可以这样表示:假设思索现代编程的工程化与多样性,可以这样表示:程序程序=数据构造数据构造+算法算法+程序设计方法程序设计方法+编程工具编程工具+言语环境言语环境 其中算法是关键,是实现程序设计的根据和根底,算法分析作的其中算法是关键,是实现程序设计的根据和根底,算法分析作的完好,作的精细,才干有完好的程序设计,才能够对程序进展优化,完好,作的精细,才干有完好的程序设计,才能够对程序进展优化,所以掌握算法至关重要。所以掌握算法至关重要。1.3计算

8、机算法的表示计算机算法的表示 1.3.1 自然言语描画自然言语描画 期末数学成果高于期末数学成果高于90分,英语成果高于分,英语成果高于95分,分,有很好的团队协作精神的同窗,可以报名参与有很好的团队协作精神的同窗,可以报名参与国际数学建模竞赛。国际数学建模竞赛。有很多种了解有很多种了解1.31.3计算机算法的表示计算机算法的表示 1.3.2 程序流程图描画程序流程图描画 顺序构造 条件判别分支构造 循环控制构造 图1.4 表示复杂的算法看似乱麻 1.3 1.3计算机算法的表示计算机算法的表示 1.3.3 NS图描画图描画 图1.6 N-S图表示三种根本构造 1.4 1.4 用程序设计言语描画

9、用程序设计言语描画 1.机器言语机器言语(Machine language)例如,计算表达式例如,计算表达式 mnz的值,并把结果值存到的值,并把结果值存到10010000号内存单元。假设知某计算机的取数操作码为号内存单元。假设知某计算机的取数操作码为1000,除法操作码为,除法操作码为1010,减法操作码为,减法操作码为1001,传送操,传送操作码为作码为0100,另外也知,另外也知m、n、z中的三个数已分别存放中的三个数已分别存放在在11110110、10101101、01010110号内存单元。用机器号内存单元。用机器言语可描画编写如下程序:言语可描画编写如下程序:1000 111101

10、10 取出放在取出放在11110110内存单元的值内存单元的值 1010 10101101 除法操作放在除法操作放在10101101内存单元的内存单元的值值 1001 01010110 把结果值减去放在把结果值减去放在10101101内存单内存单元的值元的值 0100 10010000 把最后结果值存到把最后结果值存到10010000号内存单元号内存单元 2.2.汇编言语汇编言语(Assembler language)(Assembler language)例如计算表达式例如计算表达式m mn-zn-z值的程序可以写成:值的程序可以写成:LDA M LDA M DIV N DIV N SUB

11、Z SUB Z MOV Y MOV Y 运用这种言语计算机运用这种言语计算机CPUCPU不能直接识别,必需不能直接识别,必需用事先存放在存储器中的用事先存放在存储器中的“翻译程序,把汇编言翻译程序,把汇编言语翻译成机器言语语翻译成机器言语,计算机指令系统才干识别和执计算机指令系统才干识别和执行,这个翻译程序称为编译汇编程序行,这个翻译程序称为编译汇编程序,翻译成机翻译成机器言语描画的程序叫目的程序。器言语描画的程序叫目的程序。3.3.高级言语高级言语(High-level language)(High-level language)不论运用机器言语还是运用汇编言语描画算不论运用机器言语还是运用

12、汇编言语描画算法和编写程序,都没有摆脱计算机指令系统的束法和编写程序,都没有摆脱计算机指令系统的束缚。到了缚。到了19541954年,出现了一种与详细计算机指令年,出现了一种与详细计算机指令系统无关的言语,即高级言语。它与人们习惯运系统无关的言语,即高级言语。它与人们习惯运用的自然言语与数学言语非常接近,例如:用的自然言语与数学言语非常接近,例如:y=2x2-x+1y=2x2-x+1 这样一个数学式子用高级言语来写,这样一个数学式子用高级言语来写,就写成就写成 y=2y=2*x x*x-x+1x-x+1 根本上是原样表达,这样描画程序算法显然就根本上是原样表达,这样描画程序算法显然就得心应手的

13、多。得心应手的多。高级言语的解释过程如图高级言语的解释过程如图1.10所示。所示。高级言语的编译过程如图高级言语的编译过程如图1.111.11所示。所示。1.5 1.5 算法举例算法举例 算法步骤分析:算法步骤分析:S1:累加器变量累加器变量sum 赋初值赋初值0,即,即sum=0S2:计数器变量计数器变量i 赋初值赋初值1,即,即i=1S3:使累加器变量值使累加器变量值sum加计数器变量值加计数器变量值i,结果仍放在结果仍放在sum中中,即即sum=sum+i,此时此时sum值为值为 sum=sum+i=0+1=1 S4:使计数器变量使计数器变量i加加1,结果仍放在结果仍放在i中中,即即 i

14、=i+1,此时此时i值为值为 i=i+1=1+1=2S5:使累加器变量值使累加器变量值sum加计数器变量值加计数器变量值i,结果仍放在结果仍放在sum中中,即即sum=sum+i,此时此时sum值为值为 sum=sum+i=1+2=3S6:使使i加加1,结果仍放在结果仍放在i中中,即即i=i+1,此时此时i值为值为 i=i+1=2+1=3S7:使使sum加加i,结果仍放在结果仍放在sum中中,可表示为可表示为sum=sum+i,此时此时sum值为值为 sum=sum+i=3+3=6S8:使使i加加1,结果仍放在结果仍放在i中中,可表示为可表示为i=i+1,此时此时i值为值为 i=i+1=3+1

15、=4 S9:使使sum加加i,结果仍放在结果仍放在sum中中.,可表示为可表示为sum=sum+i,此时此时sum值为值为 sum=sum+i=6+4=10 程序流程图如图程序流程图如图1.121.12所示,所示,N-SN-S图如图图如图1.131.13所示。所示。图1.12 累加运算程序流程图 图1.13 累加运算N-S图 开 始 sum=0 i=0sum=sum+i i=i+1i=100打 印NYC言语程序算法如下:言语程序算法如下:main()int i=1,sum=0;/*定义变量及其数据类型定义变量及其数据类型*/while(i=100)/*循环控制构造循环控制构造*/sum+=i;

16、i=i+1;/*循环体终了循环体终了*/printf(sum=%dn,sum);/*输出累加结果输出累加结果*/程序算法不是独一的,这个问题还有其它的算法程序算法不是独一的,这个问题还有其它的算法 算法算法1:main()float sum=0;int i=1;loop:if(i=100)sum=sum+i;i=i+1;goto loop;printf(n%f,sum);算法算法2:main()float sum=0;int i=1;while(i=100)sum=sum+i;i+;printf(n%f,sum);算法算法3:main()int i=1,sum=0;dosum=sum+i;i=

17、i+1;while(i=100);printf(the sum is%d,sum);以此类推以此类推可以很容易表示出计算可以很容易表示出计算 之和的算法,当分母大于之和的算法,当分母大于100100时程序终了,时程序终了,输出计算结果。程序算法如下。输出计算结果。程序算法如下。算法算法3的的NS图如图图如图1.14所示。所示。图图1.14累加运算累加运算NS图图 本章是计算机程序设计的根底,引见了计算本章是计算机程序设计的根底,引见了计算机程序设计言语的运用特点和开展演化,特别引机程序设计言语的运用特点和开展演化,特别引见了程序设计过程以及程序设计算法,学要重点见了程序设计过程以及程序设计算法

18、,学要重点了解和掌握的是计算机算法的表示方法,列举了了解和掌握的是计算机算法的表示方法,列举了用自然言语描画结局问题过程的特点与缺乏。作用自然言语描画结局问题过程的特点与缺乏。作为一个程序设计人员,应该熟习并掌握比较常用为一个程序设计人员,应该熟习并掌握比较常用的程序流程图描画方法,以及的程序流程图描画方法,以及N-SN-S图描画算法的根图描画算法的根本技艺,最终需求运用计算机言语,即程序设计本技艺,最终需求运用计算机言语,即程序设计言语描画并实现。本章经过算法举例以训练引导言语描画并实现。本章经过算法举例以训练引导读者用计算机的思想表达处理问题的过程,以最读者用计算机的思想表达处理问题的过程

19、,以最终实现算法,这就是程序设计算法的根本。终实现算法,这就是程序设计算法的根本。本章小结本章小结 1.6 1.6 练习思索题练习思索题1.程序设计言语有哪些一样和不同之处,有哪些分类?程序设计言语有哪些一样和不同之处,有哪些分类?2.试述程序实现过程包括那几方面?试述程序实现过程包括那几方面?3.简述程序设计包含那些步骤。简述程序设计包含那些步骤。4.什么是计算机程序设计算法什么是计算机程序设计算法?5.用那些方法表示计算机算法,各有哪些利弊?用那些方法表示计算机算法,各有哪些利弊?6.程序流程图有哪些表示符号,他以为有哪些优缺陷程序流程图有哪些表示符号,他以为有哪些优缺陷 7.简述简述NS图有什么特点。图有什么特点。8.请用程序流程图和请用程序流程图和NS图表示从键盘输入两个数,用图表示从键盘输入两个数,用计算机判别其大小的算法。计算机判别其大小的算法。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!