ImageVerifierCode 换一换
格式:PPT , 页数:65 ,大小:307.50KB ,
资源ID:1148434      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-1148434.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第1章计算机程序设计与算法.ppt)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

第1章计算机程序设计与算法.ppt

1、 第第1章章计算机程序设计与算法计算机程序设计与算法C/C+程序设计教程程序设计教程主要内容有主要内容有 l l程序设计语言程序设计语言l l程序设计过程程序设计过程l l程序设计算法程序设计算法l l自然语言描述计算机算法自然语言描述计算机算法l l程序流程图描述计算机算法程序流程图描述计算机算法l lN-SN-S图描述计算机算法图描述计算机算法l l用用程程序序设设计计语语言言描描述述计计算算机机算算法法 1.1程序设计程序设计 学习程序设计并不是简单地学习计算机语法规范或程序设计语言的本身,而是要学会怎么用计算机程序设计语言解决实际问题、提高工作效率和工作质量。计算机技术应用领域博大而广

2、泛,谁也不可能完全学会计算机技术的方方面面,这是因为计算机涉及到的领域太广了,计算机技术的发展日新月异,即使学上很久我们也不可能完全学到头,可以说学无止境。1 1.1 1.1 1程序设计语言程序设计语言 (1)科学计算科学计算语言。用于科学计算,基础是语言。用于科学计算,基础是数学模型数学模型,过程描述的是数值,过程描述的是数值计算,如计算,如FORTRAN语言;语言;(2)系系统统开开发发语语言言。用用于于编编写写编编译译程程序序、操操作作系系统统、数数据据库库管管理理系系统统DBMS等,如等,如C语言;语言;(3)实实时时处处理理语语言言。及及时时响响应应环环境境信信息息,可可以以根根据据

3、外外部部信信号号对对不不同同的的程程序序段进行并发控制执行;如汇编语言段进行并发控制执行;如汇编语言(4)商商用用语语言言。主主要要用用于于商商业业处处理理、经经济济管管理理,基基础础为为自自然然语语言言模模型型;如如COBOL语言语言(5)人工智能描述人工智能描述语言。模拟人的思维推理过程,实现智能化控制等;语言。模拟人的思维推理过程,实现智能化控制等;(6)模模拟拟建建模模语语言言。用用于于模模拟拟实实现现客客观观事事物物的的发发展展与与变变化化过过程程,以以提提前前预预测未来发展的结果;测未来发展的结果;(7)网络编程网络编程语言,在网络技术基础上进入深层次的应用研究与开发的语语言,在网

4、络技术基础上进入深层次的应用研究与开发的语言言,如如Dephi适于网络化环境的编程,而适于网络化环境的编程,而JAVA是一种是一种 新型跨平台分布式程新型跨平台分布式程序设计语言,语义规范与序设计语言,语义规范与C C语言相同等等,不再列举。语言相同等等,不再列举。1.1.2 1.1.2 程序程序设计过设计过程程 1.1.程序实现过程程序实现过程程程序序设设计计是是指指我我们们使使用用一一种种计计算算机机语语言言为为实实现现解解决决实实际际问问题题的的算算法法去去设设计计编编写写计计算算机机程程序序的的过程。过程。计计算算机机语语言言是是人人与与计计算算机机进进行行交交流流的的媒媒介介,通通过

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

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

7、定义义.算法算法:对操作过程的描述对操作过程的描述,即操作步骤的描述。即操作步骤的描述。如果考虑现代编程的工程化与多样性,可以这样表示:如果考虑现代编程的工程化与多样性,可以这样表示:程序程序=数据结构数据结构+算法算法+(程序设计方法(程序设计方法+编程工具编程工具+语言环境)语言环境)其中算法是关键,是实现程序设计的依据和基础,算法分析作的其中算法是关键,是实现程序设计的依据和基础,算法分析作的完整,作的精细,才能有完整的程序设计,才可能对程序进行优化,完整,作的精细,才能有完整的程序设计,才可能对程序进行优化,所以掌握算法至关重要。所以掌握算法至关重要。1.31.3计算机算法的表示计算机

8、算法的表示1.3.1自然语言自然语言描述描述期末数学成绩高于期末数学成绩高于90分,英语成分,英语成绩高于绩高于95分,有很好的团队协作精分,有很好的团队协作精神的同学,可以报名参加国际数学神的同学,可以报名参加国际数学建模比赛。建模比赛。(有很多种理解有很多种理解)1.31.3计算机算法的表示计算机算法的表示1.3.2程序流程图程序流程图描述描述 顺序结构 条件判断分支结构 循环控制结构 图1.4 表示复杂的算法看似乱麻 1.3 1.3计算机算法的表示计算机算法的表示 1.3.3N-S图描述 图1.6 N-S图表示三种基本结构 1.4 1.4 用用程序设计语言程序设计语言描述描述 1.机器语

9、言机器语言(Machinelanguage)例例如如,计计算算表表达达式式 mn-z的的值值,并并把把结结果果值值存存到到1001000010010000号号内内存存单单元元。假假设设已已知知某某计计算算机机的的取取数数操操作作码码为为10001000,除除法法操操作作码码为为10101010,减减法法操操作作码码为为10011001,传传送送操操作作码码为为01000100,另另外外也也知知m m、n n、z z中中的的三三个个数数已已分分别别存存放放在在1111011011110110、1010110110101101、0101011001010110号号内存单元内存单元。用机器语言可描述

10、编写如下程序:。用机器语言可描述编写如下程序:1000 11110110 1000 11110110 取出放在取出放在1111011011110110内存单元的值内存单元的值 1010 10101101 1010 10101101 除法操作放在除法操作放在1010110110101101内存单元的值内存单元的值 1001 01010110 1001 01010110 把结果值减去放在把结果值减去放在1010110110101101内存单元的值内存单元的值010010010000把最后结果值存到把最后结果值存到10010000号内存单元号内存单元 2.2.汇编语言汇编语言(Assembler l

11、anguage)Assembler language)例如计算表达式例如计算表达式mn-z值的程序可以写成:值的程序可以写成:LDA MLDA M DIV N DIV N SUB Z SUB Z MOV Y MOV Y 使使用用这这种种语语言言计计算算机机CPU不不能能直直接接识识别别,必必须须用用事事先先存存放放在在存存储储器器中中的的“翻翻译译程程序序”,把把汇汇编编语语言言翻翻译译成成机机器器语语言言,计计算算机机指指令令系系统统才才能能识识别别和和执执行行,这这个个翻翻译译程程序序称称为为编编译译汇汇编编程程序序,翻翻译译成成机机器语言描述的程序叫器语言描述的程序叫目标程序目标程序。3

12、.3.高级语言高级语言(High-level language)High-level language)不管使用不管使用机器语言机器语言还是使用还是使用汇编语言汇编语言描述算描述算法和编写程序,都没有摆脱法和编写程序,都没有摆脱计算机指令系统计算机指令系统的束的束缚。到了缚。到了1954年,出现了一种与具体计算机指令年,出现了一种与具体计算机指令系统无关的语言,即系统无关的语言,即高级语言高级语言。它与人们习惯使。它与人们习惯使用的用的自然语言自然语言与与数学语言数学语言非常接近,例如:非常接近,例如:y=2x2-x+1这样一个数学式子用高级语言来写,就写成这样一个数学式子用高级语言来写,就写

13、成 y=2*x*x-x+1 基本上是原样表达,这样描述程序算法显然就基本上是原样表达,这样描述程序算法显然就得心应手的多。得心应手的多。高级语言的解释过程如图高级语言的解释过程如图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值为

14、值为sum=sum+i=0+1=1S4:使计数器变量使计数器变量i加加1,结果仍放在结果仍放在i中中,即即i=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加

15、加1,结果仍放在结果仍放在i中中,可表示为可表示为i=i+1,此时此时i值为值为i=i+1=3+1=4S9:使使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()inti=1,sum=0;/*定义变量及其数据类型定

16、义变量及其数据类型*/while(i=100)/*循环控制结构循环控制结构*/sum+=i;i=i+1;/*循环体结束循环体结束*/printf(sum=%dn,sum);/*输出累加结果输出累加结果*/程序算法不是唯一的,这个问题还有其它的算法程序算法不是唯一的,这个问题还有其它的算法 算法算法1:main()floatsum=0;inti=1;loop:if(i=100)sum=sum+i;i=i+1;gotoloop;printf(n%f,sum);算法算法2:main()floatsum=0;inti=1;while(i=100)sum=sum+i;i+;printf(n%f,sum)

17、;算法算法3:main()inti=1,sum=0;dosum=sum+i;i=i+1;while(i=100);printf(thesumis%d,sum);以此类推以此类推可以很容易表示出计算可以很容易表示出计算 之和的算法,当分母大于之和的算法,当分母大于100100时程序结束,时程序结束,输出计算结果。程序算法如下。输出计算结果。程序算法如下。算法算法3的的N-S图如图图如图1.14所示。所示。图图1.14累加运算累加运算N-S图图 本本章章是是计计算算机机程程序序设设计计的的基基础础,介介绍绍了了计计算算机机程程序序设设计计语语言言的的应应用用特特点点和和发发展展演演变变,特特别别介

18、介绍绍了了程程序序设设计计过过程程以以及及程程序序设设计计算算法法,学学要要重重点点理理解解和和掌掌握握的的是是计计算算机机算算法法的的表表示示方方法法,列列举举了了用用自自然然语语言言描描述述结结局局问问题题过过程程的的特特点点与与不不足足。作作为为一一个个程程序序设设计计人人员员,应应该该熟熟悉悉并并掌掌握握比比较较常常用用的的程程序序流流程程图图描描述述方方法法,以以及及N-SN-S图图描描述述算算法法的的基基本本技技能能,最最终终需需要要使使用用计计算算机机语语言言,即即程程序序设设计计语语言言描描述述并并实实现现。本本章章通通过过算算法法举举例例以以训训练练引引导导读读者者用用计计算

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

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922