计算机基础第6章程序设计基础.ppt
《计算机基础第6章程序设计基础.ppt》由会员分享,可在线阅读,更多相关《计算机基础第6章程序设计基础.ppt(115页珍藏版)》请在三一办公上搜索。
1、计算机基础,第一章 概述第二章 数据在计算机内的表示 第三章 计算机硬件第四章 操作系统和文件管理 第五章 多媒体技术基础 第六章 程序设计基础第七章 信息系统概述第八章 计算机网络基础知识 第九章 计算机安全,计算机基础,第六章 程序设计基础 第一节 程序与程序语言 第二节 算法与算法设计 第三节 程序设计风格,第六章 程序设计基础,程序和软件有何不同?,第六章 程序设计基础,第一节 程序与程序语言,10 R=520 L=2*3.14*R30 S=3.14*R*R40 PRINT R,L,S50 END,软件,程序,语言,语言规则,计算机语言是编写程序、制作软件的工具,4,计算机程序中规定了
2、计算机完成某项工作的操作步骤,每一步骤均由计算机能理解的指令或语句描述,这些指令和语句告诉计算机“做什么”和“怎样做”。,程序是处理某个事物的一系列操作步骤。,一、程序概述,10 R=520 L=2*3.14*R30 S=3.14*R*R40 PRINT R,L,S50 END,第六章 程序设计基础,第一节 程序与程序语言,5,程序=数据结构+算法,编写程序需要两个方面的描述:,数据结构 对数据的描述:指定适合问题求解的数据组成形式(数据类型)。例如,计算圆面积公式:s=r2 s不能为整数,而是实数。算法 对操作的描述:指定操作的步骤。1。输入r的值 2。按s=3.14*r*r计算圆面积,第六
3、章 程序设计基础,第一节 程序与程序语言,6,二、程序设计,程序设计数据结构算法方法工具,数据结构:数据组织形式。对求解问题的数据的描述,影响程序的复杂程度。算法:解题步骤。对求解问题的过程描述。决定程序的正确性和解题效率。程序设计方法:能编写“好”程序的方法。程序设计工具:可改善设计环境,方便和加快程序开发过程的开发工具。,第六章 程序设计基础,第一节 程序与程序语言,三、程序设计语言,面向过程语言面向对象语言,FORTRANBASICCPASCALCOBOLLISP,C+C#Visual CVisual BASICVisual J+,第六章 程序设计基础,第一节 程序与程序语言,程序设计语
4、言是规则和符号的集合,用于编写计算机程序的语言,包含语法、语义和语用三个方面。程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用以描述程序中所包含的运算;控制成分,用以描述程序中所包含的控制;传输成分,用以表达程序中数据的传输,第六章 程序设计基础,第一节 程序与程序语言,计算机语言:是规则和符号的集合,是与计算机交流的工具程序:求解问题的指令序列软件:程序的集合,学习语言 设计程序 制作软件,概念:,第六章 程序设计基础,第一节 程序与程序语言,10,第一代:机器语言(2进制机器指令,机器能直接执行)第二代:汇编语言(符号代替机器语言,需要翻译)第三代:高级语言(英语
5、和数学语言代替机器语言,需要翻译),第六章 程序设计基础,第一节 程序与程序语言,程序设计语言的发展,11,机器语言(Machine Languages):由计算机直接使用的二进制编码指令构成的语言。提供最基本的计算机操作-加、减、比较、搬移操作数等。-每种计算机都有自己专用的机器指令集合。-计算机唯一理解的语言是机器语言。-机器语言的指令必须由“0”和“1”的字符串组成,因为组成计算机内部电路的电子器件只有两种状态:关或开。关“0”、开”1”。,第六章 程序设计基础,第一节 程序与程序语言,00000000 1011100000000000 0010010100000000 00000101
6、00000000 01010100,A=37+84,机器语言 二进制机器指令,机器能直接执行。,送数到AX寄存器被加数 37加法加数 84,第六章 程序设计基础,第一节 程序与程序语言,13,符号/汇编语言(Symbolic/Assembly language)用符号或助记符表示不同的机器语言指令。-需要使用汇编程序将助记符翻译成等价的机器语言。-每种类型的计算机都有自己的机器语言,所以有多少种机器,就有多少种汇编语言和翻译程序。,第六章 程序设计基础,第一节 程序与程序语言,MOV AX,37 送数37到AX寄存器 ADD AX,84 AX寄存器内容+84送到寄存器AX,汇编语言 用符号代替
7、机器语言,需要翻译。,A=37+84,第六章 程序设计基础,第一节 程序与程序语言,15,高级语言(High-level languages):高级程序设计语言与人类的思维和交流方式更接近。使用高级语言,程序设计员就能够用类似于英语的语句编写指令。-由于计算机只能执行机器码,所以需要翻译程序把用高级语言编写的程序翻译成机器码。-高级语言适用于许多不同的计算机。,第六章 程序设计基础,第一节 程序与程序语言,A=37+84,高级语言 英语和数学语言代替机器语言,需要翻译。,第六章 程序设计基础,第一节 程序与程序语言,17,语言的翻译器(Language Translator):将汇编语言或高级
8、语言翻译成机器码的程序。-三种类型的翻译器:汇编器 编译器 解释器,汇编或高级语言编写的程序,机器码程序,翻译器,第六章 程序设计基础,第一节 程序与程序语言,18,高级语言程序的运行过程,高级语言源程序,机器语言,翻 译,解释器:针对解释式程序设计语言,使用边解释边执行的方式。,编译器:将源程序代码全部转换成计算机能识别的目标代码,连接成可执行程序后,可反复执行。,第六章 程序设计基础,第一节 程序与程序语言,第六章 程序设计基础,第一节 程序与程序语言,20,C语言中的编译、连接,编译命令,连接命令,第六章 程序设计基础,第一节 程序与程序语言,四、程序设计全过程,分析问题,建立数学模型确
9、定数据结构确定算法,描述算法编制程序,调试程序运行结果,第六章 程序设计基础,第一节 程序与程序语言,程序设计过程:,语言处理系统,第六章 程序设计基础,第一节 程序与程序语言,23,分析问题,建立模型,问题:输入三角形的三条边,输出三角形的面积。,分析:若输入的三条边a,b,c能构成三角形,则计算三角形面积area的公式为:,第六章 程序设计基础,第一节 程序与程序语言,24,确定数据结构和算法,数据结构:三角形的边长a,b,c和面积area均采用实数,算法:1.输入三角形的三条边a,b,c 2.计算s=0.5*(a+b+c)3.计算面积 4.输出三角形面积area,第六章 程序设计基础,第
10、一节 程序与程序语言,第六章 程序设计基础,第一节 程序与程序语言,26,选择语言编制程序,main()/*用C语言编写程序*/float a,b,c,s,area;/*定义三角形边长和面积为实型变量*/scanf(“%f,%f,%f”,/*输出三角形的三条边和面积*/,平方根函数,第六章 程序设计基础,第一节 程序与程序语言,27,上机调试运行程序,第六章 程序设计基础,第一节 程序与程序语言,28,两次运行结果:,第六章 程序设计基础,第一节 程序与程序语言,计算机基础,第六章 程序设计基础 第一节 程序与程序语言 第二节 算法与算法设计 第三节 程序设计风格,第六章 程序设计基础,一、什
11、么是算法,算法是为解决问题而采取的方法和步骤。,决定了算法的执行顺序,算术运算、逻辑运算、比较运算和数据传送,第六章 程序设计基础,第二节 算法与算法设计,31,例:从一组正整数中找到最大的数。(正整数个数2,3,N),例如,12,8;12,8,13;12,8,13,9;12,8,13,9,11,.,方法1:第一步:比较第一个数和第二个数;第二步:比较第一个数和第三个数;第三步:比较第二个数和第三个数;,这个方法好吗?,第六章 程序设计基础,第二节 算法与算法设计,32,方法2:第零步:将最大值置为零;第一步:如果当前数大于最大值,那么将最大值置为当前数,否则保留原最大值;第二步:重复第一步直
12、至所有数全比较完。,Best!,第六章 程序设计基础,第二节 算法与算法设计,举例:插入排序法问题,有一个从小到大的数值序列,将一个新数插入到序列中。,24,?,6.2算法与算法设计,第六章 程序设计基础,12,19,26,37,48,5,9,24,24,举例:插入排序法问题,有一个从小到大的数值序列,将一个新数插入到序列中。,24,24,24,24,24,6.2算法与算法设计,第六章 程序设计基础,算法:开始 i=1 新数与序列第i个元素比较 如果(新数比第i个元素大)i 加 1 如果(i大于m)执行步骤 否则 执行步骤 否则 执行步骤 从第i到第m个元素后移一个位置 将新数置于序列第i个位
13、置 结束,6.2算法与算法设计,第六章 程序设计基础,例如:已知研究生选课情况,安排课程考试的日程,要求在尽可能短的时间内完成考试。,课程之间的关系:同一研究生选修的课程之间有某种“冲突”关系,同一个研究生选修的课程不能按排在同一时间内考试。,6.2算法与算法设计,第六章 程序设计基础,用着色法求解该问题:每门课程作为一个顶点顶点的每一种颜色代表一个考试时间,用尽可能少的颜色为图的顶点着色,着上相同颜色的顶点可以按排在同一时间考试,选课:1:ABE 2:CD 3:CEF 4:DFA 5:BF,A,B,C,D,E,F,6.2算法与算法设计,第六章 程序设计基础,A,B,D,C,E,F,6.2算法
14、与算法设计,第六章 程序设计基础,A,B,D,C,E,F,同一研究生选修的课程用一种颜色的边连接,选课:1:ABE 2:CD 3:CEF 4:DFA 5:BF,使相邻的顶点着上不同的颜色;,A,C,B,D,E,F,6.2算法与算法设计,第六章 程序设计基础,得到如下一种考试日程:第一天:算法分析(A),计算机图形学(C)第二天:形式语言(B),模式识别人工智能(D)第三天:计算机网络(E)第四天:人工智能(F),6.2算法与算法设计,第六章 程序设计基础,二、算法的基本特征,第六章 程序设计基础,第二节 算法与算法设计,算法设计的原则,1、正确性:对于一切合法的输入数据都能得出满足要求的结果。
15、,2、可读性:算法应该易理解,便于交流,3、健壮性:当输入非法数据时,算法应恰当地作出反应或进行相应处理。,4、高效率与低存储量需求:算法执行时间较少,算法执行所需存储空间较小。,第六章 程序设计基础,第二节 算法与算法设计,三、算法的表示,第六章 程序设计基础,第二节 算法与算法设计,自然语言流程图N-S流程图伪代码计算机语言,1.流程图,用规定的一系列图形、流程线和文字说明算法中的基本操作和控制流程。流程图的基本元素包括:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。,第六章 程序设计基础,第二节 算法与算法设计,(1)图形符号,第六章 程序设计基础,第二节 算法与算法设计,(2
16、)用流程图表示算法,例:求给定半径R的圆面积和圆周长。,这是一个数学问题。算法:圆面积 S=*R2圆周长 L=2*R这是顺序程序结构。,顺序,第六章 程序设计基础,第二节 算法与算法设计,例:求给定数R的绝对值。,选择,这是分支程序结构,第六章 程序设计基础,第二节 算法与算法设计,T里保存:1+2+3+K的连加和。重复进行某种运算,运算对象有规律地变化。采用循环结构。,例:给定K值,求1到 K连加和。T=1+2+3+K。1 I 0 T T+I T(I=1,2,3,K),循环,第六章 程序设计基础,第二节 算法与算法设计,2.NS图,由于流程图中的流程线可以任意转向,所以传统流程图无法保证程序
17、的结构化,造成了程序设计中的一系列问题。两位美国学者于1973年提出了表示程序结构的N-S图。,第六章 程序设计基础,第二节 算法与算法设计,(1)图形符号,顺序结构,第六章 程序设计基础,第二节 算法与算法设计,选择结构,第六章 程序设计基础,第二节 算法与算法设计,循环结构:while循环,第六章 程序设计基础,第二节 算法与算法设计,循环结构:do-while循环,第六章 程序设计基础,第二节 算法与算法设计,(2)用N-S流程图表示算法,例:求给定半径R的圆面积和圆周长。,第六章 程序设计基础,第二节 算法与算法设计,选择,例:求给定数R的绝对值。,第六章 程序设计基础,第二节 算法与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 基础 章程 设计
链接地址:https://www.31ppt.com/p-6023595.html