程序设计基础教材(-)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《程序设计基础教材(-)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 教材 课件
- 资源描述:
-
1、1第第10章章 程序设计基础程序设计基础2本章教学目的本章教学目的:了解程序设计的基本概念、思想和方法,了解程序设计的基本概念、思想和方法,为今后更好地学习程序设计语言打好基础。为今后更好地学习程序设计语言打好基础。3本章教学内容:本章教学内容:程序设计语言概述程序设计语言概述2.2.程序:程序的类型及程序的执行方式。程序:程序的类型及程序的执行方式。3.3.软件工程:目前软件开发和维护的方法。软件工程:目前软件开发和维护的方法。4.4.软件生命周期:软件开发的具体步骤。软件生命周期:软件开发的具体步骤。410.1 程序设计语言概述任何以计算机为处理工具的任务都是对处理对象和处任何以计算机为处
2、理工具的任务都是对处理对象和处理规则的完整描述,称为程序。理规则的完整描述,称为程序。软件是程序、数据及相关文档的集合,是软件是程序、数据及相关文档的集合,是 用户与硬件用户与硬件之间的接口。之间的接口。5机器语言是计算机硬件系统能唯一识别并执行的语言,机器语言是计算机硬件系统能唯一识别并执行的语言,计算机指令。计算机指令。计算机指令是硬件唯一能识别的、实现计算机基本功计算机指令是硬件唯一能识别的、实现计算机基本功能的二进制编码,是指挥计算机工作的基本命令。能的二进制编码,是指挥计算机工作的基本命令。指令指令:计算机指令是计算机执行命令的最小功能单位计算机指令是计算机执行命令的最小功能单位,是
3、指挥计算机工作的命令,是软件与硬件的接口。是指挥计算机工作的命令,是软件与硬件的接口。6一般来说,指令由操作码和操作数两部分组成一般来说,指令由操作码和操作数两部分组成:操作码用于指明操作,不同指令具有不同的操作码。操作码用于指明操作,不同指令具有不同的操作码。操作数可以是要操作的数据(称为立即数),也可操作数可以是要操作的数据(称为立即数),也可以是存放操作数的内存单元地址或寄存器地址等以是存放操作数的内存单元地址或寄存器地址等。操作码操作码操作数操作数72.指令系统指令系统指令系统:一台计算机中全部指令的集合构成指令系指令系统:一台计算机中全部指令的集合构成指令系统。统。一台计算机的指令系
4、统决定了它的基本性能,现代计一台计算机的指令系统决定了它的基本性能,现代计算机一般都有几十条到上百条指令。算机一般都有几十条到上百条指令。8早期计算机,从简化计算机硬件结构和降低成本考虑,早期计算机,从简化计算机硬件结构和降低成本考虑,指令系统都比较简单,指令条数少、功能弱。指令系统都比较简单,指令条数少、功能弱。为增加计算机功能及缩小指令系统与高级程序设计语为增加计算机功能及缩小指令系统与高级程序设计语言之间的差异,人们研制了复杂指令系统计算机言之间的差异,人们研制了复杂指令系统计算机(CISC,Complex Instruction Set Computer)。)。CISC计算机指令条数多
5、达二三百条,能直接处理多计算机指令条数多达二三百条,能直接处理多种数据类型。种数据类型。9RISC,Reduced Instruction Set Computer,指令系统,指令系统具有指令少、功能简单、指令执行时间短等特点,具有指令少、功能简单、指令执行时间短等特点,RISC成为计算机设计的主流成为计算机设计的主流。1010.1.2 汇编语言汇编语言汇编语言:指令由英文单词或缩写构成,用符号和十汇编语言:指令由英文单词或缩写构成,用符号和十进制数代替机器语言中的二进制编码,便于人们记进制数代替机器语言中的二进制编码,便于人们记忆和书写。忆和书写。1110111000 00001000 00
6、000000 00000101 00000111 00000000以计算以计算A=8+7为例:为例:l机器语言为:机器语言为:l汇编语言为:汇编语言为:MOV AX,8 ADD AX,7;将;将8存入累加器存入累加器A中中;7与累加器与累加器A中的内容相加,中的内容相加,;结果仍存放在;结果仍存放在A中中12计算机程序设计语言总体上可以分为低级语言和高级语计算机程序设计语言总体上可以分为低级语言和高级语言两大类,低级语言是指机器语言和汇编语言;言两大类,低级语言是指机器语言和汇编语言;低级语言的低级并不是说语言的功能性差,而是指与计低级语言的低级并不是说语言的功能性差,而是指与计算机算机 硬件
7、硬件 密切相关,编写程序难度较大密切相关,编写程序难度较大。机器语言和汇编语言都与计算机类型有关机器语言和汇编语言都与计算机类型有关;汇编语言一般用于编制系统软件和过程控制软件汇编语言一般用于编制系统软件和过程控制软件1310.1.3 结构化程序设计语言结构化程序设计语言 结构化程序设计语言:脱离具体计算机硬件结构的程结构化程序设计语言:脱离具体计算机硬件结构的程序设计语言。序设计语言。程序设计的核心是数据结构和算法;程序设计的核心是数据结构和算法;通过数据结构定义数据的存储形式;通过数据结构定义数据的存储形式;通过算法研究如何用快捷、高效的方法来组织解决通过算法研究如何用快捷、高效的方法来组
8、织解决问题的具体过程。问题的具体过程。1420世纪世纪50年代后期,出现了许多脱离具体计算机硬件年代后期,出现了许多脱离具体计算机硬件结构的程序设计语言,人们称之为高级程序设计语结构的程序设计语言,人们称之为高级程序设计语言。例如言。例如Basic、FORTRAN、Pascal等等。例如,计算例如,计算A=8+7并输出结果的并输出结果的BASIC语言程序段如语言程序段如下:下:A=8+7 Print A15结构化程序设计语言将注意力从机器转移到问题本身,结构化程序设计语言将注意力从机器转移到问题本身,它致力于用计算机能理解的逻辑来描述解决问题的它致力于用计算机能理解的逻辑来描述解决问题的具体方
9、法和步骤。具体方法和步骤。面向过程的程序设计的核心是数据结构和算法。通过面向过程的程序设计的核心是数据结构和算法。通过数据结构定义数据的存储形式;通过算法研究如何数据结构定义数据的存储形式;通过算法研究如何用快捷、高效的方法来组织解决问题的具体过程。用快捷、高效的方法来组织解决问题的具体过程。161.1.结构化程序设计语言的基本特征结构化程序设计语言的基本特征:程序内部结构化:程序由顺序、选择(分支)和重程序内部结构化:程序由顺序、选择(分支)和重复(循环)复(循环)3种结构组成。种结构组成。程序模块化:一个大程序由若干个功能独立的、相程序模块化:一个大程序由若干个功能独立的、相互关联的程序模
10、块(子程序、函数等)组成。程序互关联的程序模块(子程序、函数等)组成。程序模块之间通过调用模块之间通过调用 关系完成程序的整体功能。关系完成程序的整体功能。可移植性好:即为一类计算机设计的程序,经少量可移植性好:即为一类计算机设计的程序,经少量改动后可以在另一类计算机上运行。与改动后可以在另一类计算机上运行。与 低级语言相低级语言相比,结构化程序具有较好的移植性。比,结构化程序具有较好的移植性。17具有代表性的结构化程序设计语言具有代表性的结构化程序设计语言:FORTRAN语言:是语言:是Formula Translator的缩写,在工的缩写,在工程、数学和科学研究上是使用最广泛的语言,尤其程
11、、数学和科学研究上是使用最广泛的语言,尤其是在科学计算中发挥着极其重要的作用。是在科学计算中发挥着极其重要的作用。Pascal语言:作为一门实用程序设计语言和教学工具,语言:作为一门实用程序设计语言和教学工具,Pascal语言在高校计算机软件教学中一直处于主导语言在高校计算机软件教学中一直处于主导地位。地位。C语言:适合于系统描述,可以用于编写系统和应用语言:适合于系统描述,可以用于编写系统和应用软件。软件。1810.1.4 面向对象的程序设计语言面向对象的程序设计语言Object Oriented Programming,OOP早在早在20世纪世纪60年代在实验室中就提出了面向对象方法,年代
12、在实验室中就提出了面向对象方法,最早的面向对象软件是最早的面向对象软件是1966年开发的年开发的Simula它首它首次提出模拟人类思维方式,将数据和相关操作集成次提出模拟人类思维方式,将数据和相关操作集成在一起。使得数据和处理数据的方法融为一体,更在一起。使得数据和处理数据的方法融为一体,更方便处理现实世界中复杂的事物。方便处理现实世界中复杂的事物。19面向对象的程序设计语言:面向对象的程序设计语言:对象:是程序中最基本的运行实体,一个程序由若对象:是程序中最基本的运行实体,一个程序由若干个对象组成,各个对象既相互独立,又通过消息干个对象组成,各个对象既相互独立,又通过消息相互联系。相互联系。
13、类:是具有相同特征对象的抽象,是创建对象的模板类:是具有相同特征对象的抽象,是创建对象的模板 202.可视化程序设计可视化程序设计在可视化程序设计中,在可视化程序设计中,属性、事件和方法是用于控制属性、事件和方法是用于控制和管理对象的和管理对象的3个要素。个要素。属性:用于描述对象的特征。属性:用于描述对象的特征。事件:是对象响应某种操作时的一种反映机制,是事件:是对象响应某种操作时的一种反映机制,是响应某种操作的程序代码入口。响应某种操作的程序代码入口。方法:一种子程序,调用时依附于对象,运行时执方法:一种子程序,调用时依附于对象,运行时执行相关的操作,也称之为对象函数。行相关的操作,也称之
14、为对象函数。21具有代表性的面向对象程序设计语言:具有代表性的面向对象程序设计语言:C+语言语言:在:在C语言基础上增加了面向对象的支持,基本兼容语言基础上增加了面向对象的支持,基本兼容C语言程序。其特点是既支持结构化程序设计方法,又支持语言程序。其特点是既支持结构化程序设计方法,又支持面向对象程序设计方法,因此,也称之为混合型语言。面向对象程序设计方法,因此,也称之为混合型语言。Delphi语言语言:是在:是在Pascal基础上开发出来的可视化程序设计语基础上开发出来的可视化程序设计语言,是真正的面向对象编程语言,执行效率高,具有强大的言,是真正的面向对象编程语言,执行效率高,具有强大的数据
15、库管理功能,是开发中小型数据库软件的理想编程工具。数据库管理功能,是开发中小型数据库软件的理想编程工具。Java语言语言:Java也是一种跨平台的程序设计语言,适合开发基也是一种跨平台的程序设计语言,适合开发基于网络、多媒体、与平台无关的应用程序,应用程序可以在于网络、多媒体、与平台无关的应用程序,应用程序可以在网络上传输,并可以运行在任何计算机上。网络上传输,并可以运行在任何计算机上。22网页设计语言:网页设计语言:通过网络浏览器浏览的网页可分为通过网络浏览器浏览的网页可分为 动态网页、动态网页、静态静态网页两种。网页两种。标记语言主要用于设计静态网页,利用标记标注信标记语言主要用于设计静态
16、网页,利用标记标注信息的类型和位置。息的类型和位置。1.脚本语言是介于脚本语言是介于HTML和编程语言之间的一种语言,和编程语言之间的一种语言,主要用于设计动态网页。主要用于设计动态网页。23在计算机中,通常将在计算机中,通常将 结构化程序设计语言和面向对象结构化程序设计语言和面向对象程序设计语言统称为高级程序设计语言,简称高级程序设计语言统称为高级程序设计语言,简称高级语言。语言。2410.2 程序程序任何以计算机为处理工具的任务都是对处理对象和规任何以计算机为处理工具的任务都是对处理对象和规则的完整描述,这种描述称为程序。则的完整描述,这种描述称为程序。程序是用计算机语言设计的,为完成某一
17、任务、按一程序是用计算机语言设计的,为完成某一任务、按一定顺序编排的指令序列。定顺序编排的指令序列。要使程序起作用,必须将其装入到内存中执行,程序要使程序起作用,必须将其装入到内存中执行,程序的实际工作过程称为执行或运行。的实际工作过程称为执行或运行。25 在屏幕上显示字符串在屏幕上显示字符串“Hello World”Hello World”DSEG SEGMENT STRING DB Hello World,0DH,OAH,$;定义缓冲区 DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AXLEA
18、DX,STRINGMOV AH,09HINT 21HMOV AH,4CHINT 21HCSEG ENDSEND START26【例例81】计算阶乘的】计算阶乘的C语言程序语言程序JSJC.C。Long fun(Int x)/*函数函数fun,用来计算用来计算x的阶乘的阶乘*/Long Result=1;/*result是变量,用来保存计算结果是变量,用来保存计算结果*/Int I;/*i为循环控制变量为循环控制变量*/For(i=2;i=x;i+)/*循环控制语句,用于实现语句的多次执行循环控制语句,用于实现语句的多次执行*/Result=Result*i;/*循环体,实现计算循环体,实现计算
19、*/Return result;/*返回语句,将计算结果提交给调用者返回语句,将计算结果提交给调用者*/Main()/*C语言主程序语言主程序*/Int i=1;/*i为循环控制变量为循环控制变量*/Long s;/*s是变量,保存计算结果是变量,保存计算结果*/While(i!=0)/*循环语句,用于实现多次计算循环语句,用于实现多次计算*/Printf(Please Input I(I=0 Over):);/*输入数据提示输入数据提示*/Scanf(“%d”,&i);/*输入数据语句,输入数据保存在变量输入数据语句,输入数据保存在变量i中中*/If(i=0)/*分支语句,用于输入数据判断分
20、支语句,用于输入数据判断*/Exit(0);/*输入输入i值为值为0,调用函数,调用函数exit结束程序结束程序*/Else /*分支否定条件,当输入分支否定条件,当输入i值不为零时值不为零时*/If(i10)/*判断输入数据范围判断输入数据范围*/Printf(“Data must bewteen 1 and 10.n”);/*数据超界,提示合理范围数据超界,提示合理范围*/Continue;/*回到循环开始位置,继续判断循环条件回到循环开始位置,继续判断循环条件*/s=fun(i);/*调用函数调用函数fun计算计算i阶乘,结果存于变量阶乘,结果存于变量s中中*/Printf(%d!=%l
21、dn,I,s);/*在屏幕上输出计算结果在屏幕上输出计算结果*/图图8.1.1 程序程序JSJC运行过程运行过程 27Dim a As Integer Dim b As Integer Private Sub Command1_Click()k=InStr(a,Text2,Text1)If k 0 Then Command1.Caption=查找下一个查找下一个 a=k+Len(Text1)Text2.SetFocus Text2.SelStart=k-1 Text2.SelLength=Len(Text1)b=b+1 Else MsgBox 查找完毕!共找到查找完毕!共找到&b&个个&Tex
22、t1 Command1.Caption=查找查找“a=1 End If Print k End Sub 28根据程序所处软件的开发阶段或运行方式的不同,程根据程序所处软件的开发阶段或运行方式的不同,程序主要有源程序、可执行程序和动态链接库序主要有源程序、可执行程序和动态链接库3种类种类型。型。人们将利用程序设计语言设计的内容称为源程序人们将利用程序设计语言设计的内容称为源程序。将。将保存这些内容的文件称为源程序文件。保存这些内容的文件称为源程序文件。29可执行程序是由源程序翻译(编译)生成的、真实的可执行程序是由源程序翻译(编译)生成的、真实的机器语言程序。机器语言程序。在在Windows中,
23、最常用的可执行程中,最常用的可执行程序文件扩展名为序文件扩展名为EXE和和COM。30动态链接库动态链接库是由源程序生成的机器语言程序的另一种是由源程序生成的机器语言程序的另一种形式,主要作为可执行程序的辅助文件,不能独立形式,主要作为可执行程序的辅助文件,不能独立运行。运行。主要作用:主要作用:(1)提供应用程序接口()提供应用程序接口(API),),User32.dll(2)程序动态加载)程序动态加载31源程序的翻译方式:源程序的翻译方式:编译方式:编译方式:通过程序设计语言提供的编译或生成工具,通过程序设计语言提供的编译或生成工具,系统自动对整个源程序逐句进行词法分析、语法分系统自动对整
24、个源程序逐句进行词法分析、语法分析和机器语言指令翻译。析和机器语言指令翻译。解释方式:解释方式:在程序设计语言环境中直接运行源程序,在程序设计语言环境中直接运行源程序,在执行每条语句前,系统先分析语句的词法和语法,在执行每条语句前,系统先分析语句的词法和语法,若语句正确,则生成并执行机器语言指令,直到程若语句正确,则生成并执行机器语言指令,直到程序运行结束。序运行结束。3210.3 软件工程基础软件工程基础软件工程是将系统的、规范的、可度量的方法应用于软件工程是将系统的、规范的、可度量的方法应用于软件开发和维护整体过程的一门科学,用数学、计软件开发和维护整体过程的一门科学,用数学、计算机科学和
25、管理科学的原理,借助传统工程科学的算机科学和管理科学的原理,借助传统工程科学的原则和方法创建与维护软件,从而达到提高软件质原则和方法创建与维护软件,从而达到提高软件质量、降低软件成本的目的。量、降低软件成本的目的。软件工程学出现的目的是为缓解软件危机。软件工程学出现的目的是为缓解软件危机。33软件工程软件工程的诞生背景的诞生背景程序设计时代程序设计时代:程序设计语言是机器语言:程序设计语言是机器语言和汇编语言,这个阶段被称为程序设计时代。和汇编语言,这个阶段被称为程序设计时代。软件开发主要是个体手工劳动软件开发主要是个体手工劳动,完全依赖程序完全依赖程序设计者的个人技能,不重视程序设计方法。设
展开阅读全文