计算机程序设计与算法.ppt

上传人:牧羊曲112 文档编号:6023843 上传时间:2023-09-15 格式:PPT 页数:65 大小:274KB
返回 下载 相关 举报
计算机程序设计与算法.ppt_第1页
第1页 / 共65页
计算机程序设计与算法.ppt_第2页
第2页 / 共65页
计算机程序设计与算法.ppt_第3页
第3页 / 共65页
计算机程序设计与算法.ppt_第4页
第4页 / 共65页
计算机程序设计与算法.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《计算机程序设计与算法.ppt》由会员分享,可在线阅读,更多相关《计算机程序设计与算法.ppt(65页珍藏版)》请在三一办公上搜索。

1、,第1章 计算机程序设计与算法,C/C+程序设计教程,主要内容有,l 程序设计语言l 程序设计过程l 程序设计算法l 自然语言描述计算机算法l 程序流程图描述计算机算法l N-S图描述计算机算法l 用程序设计语言描述计算机算法,1.1程序设计,学习程序设计并不是简单地学习计算机语法规范或程序设计语言的本身,而是要学会怎么用计算机程序设计语言解决实际问题、提高工作效率和工作质量。计算机技术应用领域博大而广泛,谁也不可能完全学会计算机技术的方方面面,这是因为计算机涉及到的领域太广了,计算机技术的发展日新月异,即使学上很久我们也不可能完全学到头,可以说学无止境。,1.1.1程序设计语言,(1)科学计

2、算语言。用于科学计算,基础是数学模型,过程描述的是数值计算,如FORTRAN语言;(2)系统开发语言。用于编写编译程序、操作系统、数据库管理系统DBMS等,如C语言;(3)实时处理语言。及时响应环境信息,可以根据外部信号对不同的程序段进行并发控制执行;如汇编语言(4)商用语言。主要用于商业处理、经济管理,基础为自然语言模型;如COBOL语言(5)人工智能描述语言。模拟人的思维推理过程,实现智能化控制等;(6)模拟建模语言。用于模拟实现客观事物的发展与变化过程,以提前预测未来发展的结果;(7)网络编程语言,在网络技术基础上进入深层次的应用研究与开发的语言,如Dephi适于网络化环境的编程,而JA

3、VA是一种新型跨平台分布式程序设计语言,语义规范与C语言相同等等,不再列举。,1.1.2 程序设计过程,1.程序实现过程 程序设计是指我们使用一种计算机语言为实现解决实际问题的算法去设计编写计算机程序的过程。计算机语言是人与计算机进行交流的媒介,通过语言编写的程序,计算机就会准确地按程序步骤执行操作,计算机解决实际问题的一般过程如图1.1所示:,2.程序设计的过程,程序设计大致包含以下几个步骤(1)分析问题程序设计首先要进行对问题的分析,明白我们要作什么,确定要使用的数学模型。(2)确定算法确定算法即确定解决问题时要执行的一系列步骤。(3)算法描述算法描述就是使用计算机语言对算法予以描述。(4

4、)确定程序设计语言由于不同的计算机程序设计语言有不同的特点,根据实际情况与需要选定好程序设计语言后,就可以用该语言编程实现以算法。(5)调试和运行程序,1.2 程序设计算法,计算机程序可以这样表示 程序=算法+数据结构其中数据结构:对数据的描述,包括对数据类型的描述核对数据组织形式描述定义.算法:对操作过程的描述,即操作步骤的描述。如果考虑现代编程的工程化与多样性,可以这样表示:程序=数据结构+算法+(程序设计方法+编程工具+语言环境)其中算法是关键,是实现程序设计的依据和基础,算法分析作的完整,作的精细,才能有完整的程序设计,才可能对程序进行优化,所以掌握算法至关重要。,1.3计算机算法的表

5、示,1.3.1 自然语言描述 期末数学成绩高于90分,英语成绩高于95分,有很好的团队协作精神的同学,可以报名参加国际数学建模比赛。(有很多种理解),1.3计算机算法的表示,1.3.2 程序流程图描述,顺序结构 条件判断分支结构 循环控制结构,图1.4 表示复杂的算法看似乱麻,1.3计算机算法的表示,1.3.3 N-S图描述,图1.6 N-S图表示三种基本结构,1.4 用程序设计语言描述,1.机器语言(Machine language)例如,计算表达式 mn-z的值,并把结果值存到10010000号内存单元。假设已知某计算机的取数操作码为1000,除法操作码为1010,减法操作码为1001,传

6、送操作码为0100,另外也知m、n、z中的三个数已分别存放在11110110、10101101、01010110号内存单元。用机器语言可描述编写如下程序:1000 11110110 取出放在11110110内存单元的值 1010 10101101 除法操作放在10101101内存单元的值 1001 01010110 把结果值减去放在10101101内存单元的值 0100 10010000 把最后结果值存到10010000号内存单元,2.汇编语言(Assembler language),例如计算表达式mn-z值的程序可以写成:LDA M DIV N SUB Z MOV Y 使用这种语言计算机CP

7、U不能直接识别,必须用事先存放在存储器中的“翻译程序”,把汇编语言翻译成机器语言,计算机指令系统才能识别和执行,这个翻译程序称为编译汇编程序,翻译成机器语言描述的程序叫目标程序。,3.高级语言(High-level language),不管使用机器语言还是使用汇编语言描述算法和编写程序,都没有摆脱计算机指令系统的束缚。到了1954年,出现了一种与具体计算机指令系统无关的语言,即高级语言。它与人们习惯使用的自然语言与数学语言非常接近,例如:y=2x2-x+1 这样一个数学式子用高级语言来写,就写成 y=2*x*x-x+1 基本上是原样表达,这样描述程序算法显然就得心应手的多。,高级语言的解释过程

8、如图1.10所示。,高级语言的编译过程如图1.11所示。,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=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

9、=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=4 S9:使sum加i,结果仍放在sum中.,可表示为sum=sum+i,此时sum值为 sum=sum+i=6+4=10,程序流程图如图1.12所示,N-S图如图1.13所示。,图1.12 累加运算程序流程图 图1.13 累加运算N-S图,C语言程序算法如下:,main()int i=1,sum=0;/*定义变量及其数据类型*/while(i=100)/*循环控制结构*/sum+=i;

10、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=i+1;while(i=100);printf(the sum i

11、s%d,sum);,以此类推,可以很容易表示出计算 之和的算法,当分母大于100时程序结束,输出计算结果。程序算法如下。,算法3的N-S图如图1.14所示。,图1.14累加运算N-S图,本章是计算机程序设计的基础,介绍了计算机程序设计语言的应用特点和发展演变,特别介绍了程序设计过程以及程序设计算法,学要重点理解和掌握的是计算机算法的表示方法,列举了用自然语言描述结局问题过程的特点与不足。作为一个程序设计人员,应该熟悉并掌握比较常用的程序流程图描述方法,以及N-S图描述算法的基本技能,最终需要使用计算机语言,即程序设计语言描述并实现。本章通过算法举例以训练引导读者用计算机的思维表达解决问题的过程,以最终实现算法,这就是程序设计算法的根本。,本章小结,1.6 练习思考题,1.程序设计语言有哪些相同和不同之处,有哪些分类?2.试述程序实现过程包括那几方面?3.简述程序设计包含那些步骤。4.什么是计算机程序设计算法?5.用那些方法表示计算机算法,各有哪些利弊?6.程序流程图有哪些表示符号,你认为有哪些优缺点 7.简述N-S图有什么特点。8.请用程序流程图和N-S图表示从键盘输入两个数,用计算机判别其大小的算法。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号