计算机软件和程序设计基础知识计算机软件和程序设计基础知识软件的基本概念1.指令指令是指计算机执行某种操作的命令,它由一串二进制数码组成。一条指令通常由两个部分组成:操作码+地址码(操作数)。(1)操作码:指计算机程序中所规定的要执行操作的那一部分指令或字段(通常用代码表示),其实就是指令序列号,用来告诉CPU需要执行哪一条指令。(2)地址码:指明操作对象的内容或所在的存储单元地址。(3)指令系统:指一台计算机所能执行的全部指令的集合,不同型号的计算机有不同的指令系统,它反映了计算机的处理能力。计算机软件和程序设计基础知识软件的基本概念2.程序程序是为实现特定目标或解决问题而用计算机语言编写的指令序列的集合。(1)算法可以看作是有限个步骤组成的用来解决问题的具体过程。实质上反映的是解决问题的思路。其主要性质有穷性、确定性和可行性。(2)数据结构是从问题中抽象出来的数据之间的关系,它代表信息的一种组织方式,用来反映一个数据的内部结构。其目的是提高算法的效率。典型的数据结构包括线性表、堆栈和队列。计算机软件和程序设计基础知识软件的基本概念3.软件软件是指程序及开发、使用和维护程序所需的文档。软件系统一般分为系统软件和应用软件。系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无须用户干预的各种程序的集合,主要功能是高度、监控和维护计算机系统,负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。它包括操作系统、计算机语言、系统支持和服务程序、数据库管理系统(DBMS)等.操作系统(OS)是系统软件的核心。计算机语言通常分为机器语言、汇编语言和高级语言三类。计算机软件和程序设计基础知识软件的基本概念(1)机器语言:机器语言是计算机唯一能够识别并直接执行的语言。机器语言的运行速度快,但可读性、通用性和移植性差。(2)汇编语言:(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。(3)高级语言:计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。编写的程序称之为源程序。高级语言源程序要先被翻译成机器语言程序才能执行。翻译的方法有“解释”和“编译”两种。一个高级语言源程序必须经过这两个步骤才能成为可执行的机器语言计算机软件和程序设计基础知识软件的基本概念编译程序、汇编程序和解释程序是常见的语言处理程序,其工作对象或方式不同。编译型语言系统在执行速度上都优于解释型语言系统。汇编程序将汇编语言编写的源程序翻译成机器语言程序。编译程序的翻译方式是将高级语言源程序翻译成目标程序(汇编语言或机器语言形式),进行汇编及连接后才能在计算机上执行。解释程序是对某种程序设计语言(如Basic语言)编写的源程序的每条语句逐句进行解释并执行,最后得出结果。边翻译,边执行,不产生目标程序。计算机软件和程序设计基础知识软件的基本概念应用软件是为了解决计算机各类应用问题而编制的软件系统,它具有很强的实用性、可分用户程序和应用软件包。计算机软件和程序设计基础知识程序设计1.程序设计程序设计分为指令是指计算机执行某种操作的命令,它由一串二进制数码组成。程序设计面向过程程序设计面向对象程序设计分析出解决问题所需要的步骤,然后用函数把这些步骤一眇一眇实现,使用时一个一个依次调用即可。C语言是典型的面向过程程序设计语言把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。计算机软件和程序设计基础知识程序设计2、面向对象程序设计(1)面向对象的基本概念①对象:对象是指要研究的任何事物,是类的实例。②类:类是对象的模板,即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。类是在对象上的抽象,对象则是类的具体化,是类的实例。类可有子类,也有其他类,形成类层次结构。类和对象就好比是“实型”和“1.23”,“实型”是一种数据的类型,而“1。23”是一个真正的“实数”(即对象)。所有的“实数”都具有“实型”所描述的特征。③消息的方法:对象之间的信息传递是通过消息进行的,消息是对象之间进行通信的一种规格说明,一般由三个部分组成接收消息的对象、消息名及实际变元。计算机软件和程序设计基础知识程序设计面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。计算机软件和程序设计基础知识程序设计2、面向对象程序设计(1)面向对象的主要特征①封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。②继承性:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性,Java中一个子类只能继承一个父类,Object类是所有类的最终父类。计算机软件和程序设计基础知识程序设计③多态性:多态性是指不同的对象对同一事物而做出的相同行为,一个类A可以指向其自身类和其导出类,一个接口可以指向其接口实现类,在方法参数中,使用多态可以提高参数的灵活性。④唯一性。⑤分类性。计算机软件和程序设计基础知识程序设计(3)面向对象的要素①抽象:类是对象的抽象:对象是类的具体表现形式。通常抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处,而忽略与当前主题无关的方面。②封装。③共享性④强调对象结构而不是程序结构。计算机软件和程序设计基础知识程序设计(4)面向对象的优点①易维护:采用面各对象思想设计的结构,可读性高,由于继承的存在,即使改变需求维护也只是在局部模块,所以维护起来是非常方便和较低成本的。②质量高:在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。③效率高:在软件开发时,根据设计的需要对现实的事物进行抽象,产生类。使用这样的方法解决问题,更接近日常生活的思考方式,势必提高软件开发的效率和质量。④易扩展:由于继承、封装、多态的特性,自然设计同高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本低。计算机软件和程序设计基础知识课后作业P93-95做完后,请发送至老师邮件箱jerkcai@163.com