《程序设计基础第1章.ppt》由会员分享,可在线阅读,更多相关《程序设计基础第1章.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机程序设计基础计算机程序设计基础:计算机基础教育课程体系规划教材计算机基础教育课程体系规划教材Visual Basic 版版邱李华邱李华 郭志强郭志强 曹青曹青1第第一一章章 程程序序设设计计基基础础第第1 1章章 程序设计基础程序设计基础本章要点本章要点:程序设计语言程序设计语言算法算法*结构化程序设计结构化程序设计面向对象的程序设计面向对象的程序设计2第第一一章章 程程序序设设计计基基础础指令指令:规定计算机完成一定操作的命令。规定计算机完成一定操作的命令。程程序序设设计计语语言言:要要使使计计算算机机能能够够理理解解人人给给出出的的各各种种指指令令,就就需需要要在在人人和和计计算算机
2、机之之间间有有一一种种特特定定的的语语言言,人人和和计计算算机机都都能能够够识识别别,这这种种特特定定的语言就是计算机语言,也叫程序设计语言。的语言就是计算机语言,也叫程序设计语言。程程序序:使使用用程程序序设设计计语语言言编编写写的的用用来来使使计计算算机机完完成成一定任务的一段一定任务的一段“文章文章”称为程序。称为程序。程序设计程序设计:编写程序的工作称为程序设计。编写程序的工作称为程序设计。学学习习目目的的:利利用用程程序序设设计计语语言言进进行行程程序序设设计计,完完成成一定功能一定功能3第第一一章章 程程序序设设计计基基础础1.1 程序设计语言程序设计语言 发展发展:机器语言机器语
3、言汇编语言汇编语言高级语言高级语言1.1.1 机器语言机器语言 机器指令机器指令:由由0和和1组成的二进制编码组成的二进制编码 机器语言机器语言:计算机能直接识别的机器指令的集合计算机能直接识别的机器指令的集合例:用某机器语言编写的求例:用某机器语言编写的求“9+8”“9+8”的程序。的程序。10110000 10110000 00001001 00001001 00000100 00000100 00001000 00001000 11110100 11110100把加数把加数9 9送到累加器送到累加器ALAL中中 把累加器把累加器ALAL中的内容与另一数中的内容与另一数8 8相加,相加,结
4、果存在累加器结果存在累加器ALAL中中 停止操作停止操作 特点特点:机器能直接识别、执行效率高机器能直接识别、执行效率高 难学、难记、难写、难检查、难移植难学、难记、难写、难检查、难移植4第第一一章章 程程序序设设计计基基础础1.1.2 汇编语言汇编语言 特点特点:可读性好,容易查错、方便可读性好,容易查错、方便 机器不能直接识别、需翻译、可移植性差机器不能直接识别、需翻译、可移植性差 引入助记符代替指令,如引入助记符代替指令,如ADD、SUB、MOV、HLT等。等。例:例:用汇编语言用汇编语言 实现实现 求求“9+8”MOV AL,9 把加数把加数9送到累加器送到累加器AL中中 ADD AL
5、,8 把把AL中中的数的数与与8相加,存在相加,存在AL中中 HLT 停止操作停止操作连接连接程序程序汇编汇编程序程序汇编语言源程序汇编语言源程序目标程序目标程序可执行程序可执行程序5第第一一章章 程程序序设设计计基基础础解释程序解释程序高级语言源程序高级语言源程序执行结果执行结果1.1.3 高级语言高级语言 更更接接近近自自然然语语言言,脱脱离离具具体体机机器器,与与指指令令系系统统无无关关 高级语言处理程序高级语言处理程序:翻译程序翻译程序 翻译程序的工作方式:解释方式和编译方式翻译程序的工作方式:解释方式和编译方式编译程序编译程序连接程序连接程序高级语言高级语言源程序源程序目标目标程序程
6、序可执行可执行程序程序例例:用用某高级语言计算某高级语言计算9+8的问题,只需写成:的问题,只需写成:S=9+8 计算计算9+8的值,保存到变量的值,保存到变量S中中 END 结束结束特点特点:易编写、易读、易查错、不依赖具体机器易编写、易读、易查错、不依赖具体机器 需要配合使用翻译程序需要配合使用翻译程序6第第一一章章 程程序序设设计计基基础础1.2 程序设计程序设计 程序设计程序设计:编制程序的工作编制程序的工作 实现实现:选择工具选择工具语言语言 掌握解题的方法和步骤掌握解题的方法和步骤算法算法1.2.1 算法算法1.什么是算法什么是算法 计算机为解决一个问题而采取的方法和步骤计算机为解
7、决一个问题而采取的方法和步骤。2.算法的特性算法的特性 有穷性、确定性、有效性、有有穷性、确定性、有效性、有0个到若干个输入、个到若干个输入、有有1个到若干个输出。个到若干个输出。3.算法的表示形式算法的表示形式(1)用自然语言表示算法用自然语言表示算法7第第一一章章 程程序序设设计计基基础础例如:将两个变量例如:将两个变量X和和Y的值互换。的值互换。算法表示如下:算法表示如下:步骤步骤1 将将X值存入中间变量值存入中间变量Z中:中:X Z 步骤步骤2 将将Y值存入变量值存入变量X中:中:Y X 步骤步骤3 将中间变量将中间变量Z的值存入的值存入Y中:中:Z Y 用自然语言表示算法,虽然容易表
8、达,但文字冗用自然语言表示算法,虽然容易表达,但文字冗长且易产生长且易产生“二义性二义性”。(2)用流程图表示算法用流程图表示算法 传统流程图传统流程图处理框处理框:连接点连接点:N-S流程图:表示成三种基本的结构流程图:表示成三种基本的结构起止框起止框:输入输入/输出框输出框:判断框判断框:流向线流向线:8第第一一章章 程程序序设设计计基基础础例例:交换两个变量的流程图交换两个变量的流程图传统流程图传统流程图:N-S流程图流程图:开始开始输出输出X X,Y Y输入输入X X,Y YX XZ ZY YX XZ ZY Y结束结束输出输出X X,Y YZ ZY YY YX XX XZ Z输入输入X
9、 X,Y Y9第第一一章章 程程序序设设计计基基础础1.2.2 结构化程序设计结构化程序设计1.三种基本结构三种基本结构 顺序结构、选择结构和循环结构顺序结构、选择结构和循环结构(1)顺序结构顺序结构bABaAB传统流程图传统流程图:N-S流程图流程图:10第第一一章章 程程序序设设计计基基础础(2)选择结构选择结构传统流程图传统流程图:N-S流程图流程图:b ba a条件?条件?A AB B不成立不成立成立成立条件条件成立成立AB不成立不成立11第第一一章章 程程序序设设计计基基础础 例例:分别用传统流程图和分别用传统流程图和N-S流程图表示求一流程图表示求一个数的绝对值的算法。个数的绝对值
10、的算法。开始开始输出输出Y输入输入X-XY结束结束X=0?XYYesYesNoNo输入输入X X?NoNoX=0?X=0?YesYesX XY Y-X XY Y输出输出Y Y传统流程图传统流程图:N-S流程图流程图:12第第一一章章 程程序序设设计计基基础础(3)循环结构循环结构当型循环结构当型循环结构 传统流程图传统流程图:N-S流程图流程图:条件条件?成立成立A Ab b不成立不成立a a 当条件为当条件为真真 A A13第第一一章章 程程序序设设计计基基础础直到条件为直到条件为真真A A直到型循环结构直到型循环结构 传统流程图传统流程图:N-S流程图流程图:a aA Ab b不成立不成立
11、成立成立条件?条件?14第第一一章章 程程序序设设计计基基础础例例:分别用传统流程图和分别用传统流程图和N-S流程图表示流程图表示:求求1+2+3+100的算法。的算法。开始开始输出输出S1IS+ISI+1I结束结束0SI100YesNo直到直到I1001 1I IS+IS+IS SI+1I+1I I输出输出S S0 0S SN-S流程图流程图:传统流程图传统流程图:15第第一一章章 程程序序设设计计基基础础三种基本结构有以下共同的特点:三种基本结构有以下共同的特点:只有一个入口、一个出口只有一个入口、一个出口每个基本结构中的每一部分都有机会被执行到每个基本结构中的每一部分都有机会被执行到结构
12、内不存在结构内不存在“死循环死循环”2.结构化程序设计方法结构化程序设计方法 自顶向下、逐步求精、模块化自顶向下、逐步求精、模块化16第第一一章章 程程序序设设计计基基础础1.2.3 面向对象的程序设计面向对象的程序设计 任何现实问题都是由一些基本任何现实问题都是由一些基本事物事物组成,这组成,这些事物之间存在着一定的些事物之间存在着一定的联系联系,在使用计算机解,在使用计算机解决现实问题的过程中,为了有效地反映客观世界,决现实问题的过程中,为了有效地反映客观世界,最好建立相应的概念去直接表现问题领域中的最好建立相应的概念去直接表现问题领域中的事事物及事物之间的相互联系物及事物之间的相互联系。
13、面向对象技术中引入了面向对象技术中引入了“对象对象”来表示事物;来表示事物;用用消息传递消息传递建立事物间的联系。建立事物间的联系。(1)对象对象(Object)用于描述某一实体。如房屋、人、汽车等:用于描述某一实体。如房屋、人、汽车等:属性属性:事件事件:方法方法:17第第一一章章 程程序序设设计计基基础础(2)面向对象(面向对象(Object Oriented,简称简称OO)(3)消息消息(Messages)消息是用来请求对象执行某一处理或回答某些消息是用来请求对象执行某一处理或回答某些信息的要求。信息的要求。某一对象可以在必要时通过传递消某一对象可以在必要时通过传递消息请求其他对象完成某
14、些处理工作或回答某些信息,息请求其他对象完成某些处理工作或回答某些信息,其他对象在执行所要求的处理活动时,同样可以通其他对象在执行所要求的处理活动时,同样可以通过传递消息与别的对象联系。因此,程序的执行是过传递消息与别的对象联系。因此,程序的执行是靠在对象间传递消息来完成的。靠在对象间传递消息来完成的。(4)类(类(Class)及类的实例及类的实例 将带有相似属性和行为的事物组合在一起构成将带有相似属性和行为的事物组合在一起构成一个类。一个属于某种类的特定对象称为该类的一一个类。一个属于某种类的特定对象称为该类的一个实例。个实例。18第第一一章章 程程序序设设计计基基础础(5)封装(封装(En
15、capsulation)将数据和操作数据的函数衔接在一起,构成一将数据和操作数据的函数衔接在一起,构成一个具有类类型的对象的描述称为封装。个具有类类型的对象的描述称为封装。(6)继承(继承(Inheritance)在面向对象的语言中,可以从一个类生成另一在面向对象的语言中,可以从一个类生成另一个类。派生类(也称子类)继承了其父类和祖个类。派生类(也称子类)继承了其父类和祖先类的数据成员和成员函数。先类的数据成员和成员函数。(7)多态性(多态性(Polymorphism)多态性是一种面向对象的程序设计功能,当同多态性是一种面向对象的程序设计功能,当同样的消息被不同的对象接收时,却导致完全不样的消息被不同的对象接收时,却导致完全不同的行为,即完成不同的功能。同的行为,即完成不同的功能。19第第一一章章 程程序序设设计计基基础础本章小结本章小结1.程序设计语言程序设计语言 机器语言、汇编语言、高级语言机器语言、汇编语言、高级语言2.程序设计程序设计算法的概念算法的概念结构化程序设计的三种基本结构结构化程序设计的三种基本结构 顺序结构、选择结构、循环结构顺序结构、选择结构、循环结构面向对象程序设计的基本概念面向对象程序设计的基本概念 对象、面向对象、消息、类及类实例对象、面向对象、消息、类及类实例、封装、封装、继承、多态性继承、多态性20
限制150内