您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第7章程序设计基础和数据库技术基础
JXNUCIE2019年8月29日星期四大学计算机基础第7章程序设计基础和数据库技术基础程序是人们为了处理某个事务而编制的某种计算机语言命令序列集合。产生程序的过程,被称为程序设计。数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。JXNUCIE2本章主要内容7.1程序设计基础7.2数据库技术基础JXNUCIE37.1程序设计基础7.1.1程序与程序设计的概念7.1.2常用程序设计语言7.1.3程序的三种基本控制结构7.1.4程序设计的基本步骤7.1.5结构化程序设计方法7.1.6面向对象程序设计方法概述JXNUCIE47.1.1程序与程序设计的概念计算机实际上是一台高速执行指令序列的机器。每一条指令完成一个基本的操作,比如输入/输出、算术运算等。虽然每一条指令都非常简单,但是将这些指令组合起来却能完成非常复杂的工作。要让计算机按人们的意图完成某一项工作,只需事先按照完成这项工作的步骤,将这些指令排成一个有序的序列,然后交给计算机执行。JXNUCIE57.1.1程序与程序设计的概念(续)程序为完成某一项工作而编排的有序的指令集合,就称为程序。或者说程序是人们为了处理某个事务而编制的某种计算机语言命令序列集合。对于机器语言来说,这些命令被称为指令,而对于高级语言而言,这些命令被称为语句。程序设计产生程序的过程,被称为程序设计。程序设计所包括的工作不仅仅是编写程序代码,它还包括算法设计与描述、数据结构分析与定义、程序的调试与测试,以及结果分析等工作。JXNUCIE67.1.2常用程序设计语言1.过程式程序设计语言过程式程序设计语言用一系列语句描述解决问题的方法和步骤,用这类语言编程时,不仅要告诉计算机做什么,而且还要告诉计算机怎样做。常用的过程语言BASIC:一种易学易用的高级程序设计语言,初学者学习程序设计。FORTRAN:主要用于科学计算和工程应用。COBOL:主要应用于情报检索、商业数据处理等管理领域。PASCAL:一种结构化程序设计语言,普遍用于教学。C:兼顾了高级语言和汇编语言的特点,广泛应用于专业程序设计。JXNUCIE77.1.2常用程序设计语言(续)2.面向对象程序设计语言程序包含定义的各种对象、类,并规定它们之间传递消息的规律。面向对象程序设计语言通过对象来描述程序中的实体,程序设计的主要精力放在设计对象的属性和事件过程上。程序运行时,等待用户操作,当发生某一事件时,执行相应的事件处理程序。面向对象程序设计语言适用于编写Windows应用程序。常用的面向对象程序设计语言Smalltalk:世界上第一个真正面向对象程序设计语言。VisualBasic:可视化面向对象编程语言。C++:由C语言发展而来,一种混合型面向对象程序设计语言。Java语言:适合网络应用的面向对象程序设计语言。JXNUCIE87.1.2常用程序设计语言(续)3.说明性语言说明性语言也有人把它称为非过程性语言,提供了功能强大的非过程化问题定义手段。编程者只需具体说明问题的规则并定义一些条件即可。说明性语言只需告诉计算机做什么,而不需要告诉计算机怎样做。常用的说明性语言Prolog:接近于自然语言,被应用于人工智能与专家系统领域。SQL:标准的数据库语言,是面向集合的描述性非过程化语言。JXNUCIE97.1.2常用程序设计语言(续)4.Web开发语言Web开发语言是随着的出现而诞生的,它将图形用户界面带到了Internet网,而在此之前Internet网只采用文本形式。超文本标记语言HTML是第一个用来制作Web网页的程序设计语言,利用FrontPage、Dreamweaver等软件制作网页更加方便快捷,它同样产生HTML程序。目前互联网开发中最常用的编写Web应用程序的有VBScript、JavaScript和Perl等简单易懂的语言。JXNUCIE107.1.3程序的三种基本控制结构一个程序包括两方面的内容:对数据的描述及对操作的描述。前者指在程序中要指定使用的数据,以及这些数据的类型和数据的组织形式,即数据结构;后者是指程序中的操作步骤,即算法。瑞士计算机科学家尼克劳斯·沃尔斯(NiklausWirth)曾提出一个著名的公式:程序=算法+数据结构算法是解决“做什么”和“怎么做”的问题,是程序的灵魂。1996年,计算机科学家Bohm和Jacopini证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。JXNUCIE117.1.3程序的三种基本控制结构(续)1.顺序结构在执行完A框所指定的操作后,必然接着执行B框所指定的操作。顺序结构是最简单的一种基本结构。2.选择结构此结构中必定包含一个判断框,根据给定的条件P是否成立而选择执行A框或B框,无论走哪一条路径,在执行完A或B之后,都经过b点,然后脱离本选择结构。3.循环结构反复执行某一部分的操作。循环结构又可以分成当型循环结构和直到循环结构。JXNUCIE127.1.3程序的三种基本控制结构(续)三种基本结构流程图表示以上三个种基本控件结构,有以下几个共同特点:只有一个入口。只有一个出口。结构内的每一部分都有机会被执行到。JXNUCIE137.1.3程序的三种基本控制结构(续)表示三种基本控件结构方式除了上面介绍的流程图法以外,常用的还有N-S图法和PAD图法。N-S图法PAD图法JXNUCIE147.1.4程序设计的基本步骤编写计算机程序解决实际问题,通常需要经过下以几个基本过程:需求分析算法与数据结构设计编写程序代码调试程序与测试程序编写程序文档JXNUCIE157.1.4程序设计的基本步骤(续)1.需求分析对现实问题进行分析,明确解决问题的目标,略去一些次要方面,找出解决问题的规律,并将这些规律用一具体的概念模型加以描述。根据建立的模型,准确地描述出需要输入哪些数据,需要输出哪些数据,输出数据格式上有什么要求,数据具体的处理过程,要实现那些功能等等,形成需求说明书。需求说明书将成为程序设计的基础和依据。JXNUCIE167.1.4程序设计的基本步骤(续)2.算法与数据结构设计(1)算法算法的定义:对问题求解方法的形式化描述称为算法。算法的规则:有穷性。算法所包含的计算步骤是有限的。确定性。算法中所要执行的操作有严格的规定,没有歧义。输入。算法有零个或多个输入,即算法开始执行之前,要设置好初始值。输出。算法有一个或多个输出,即算法执行后,有最终输出结果。可行性。算法要执行的运算和操作都是最基本的,它们能够精确地进行。算法的描述:自然语言、流程图、N-S图、PAD图、IPO图、伪代码、程序设计语言等。JXNUCIE177.1.4程序设计的基本步骤(续)(2)数据结构用来反映一个数据的内部构成,即一个数据由那些成分组成,以什么方式相关联,呈什么样的结构。是数据存在的形式,所有的数据都是按照数据结构进行分类的。简单数据类型对应于简单的数据结构,如高级语言中的整数型、实数型、字符型和布尔型等基本的数据类型;构造数据类型对应于复杂数据结构,如数组、记录、链表、栈、队列、树和图等结构。由此可见,算法和数据结构是计算机程序的两个重要的组成部分。算法是程序的核心,而数据结构是对所要加工数据的抽象和组织,将各种松散的数据按程序处理要求组成合适数据结构,可使程序有效地处理数据。JXNUCIE187.1.4程序设计的基本步骤(续)3.编写程序代码依据算法的描述,用选定的程序设计语言来编写程序。编写程序时,必须严格遵循所选择的程序设计语言的语法规范。例如,求100以内自然数的和,用C语言编写的程序代码为:#includestdio.hmain(){inti,sum;sum=0;for(i=1;i=100;i++)sum=sum+i;printf(“sum=%d\n”,sum);}JXNUCIE197.1.4程序设计的基本步骤(续)4.调试程序与测试程序调试程序是将编制的程序投入实际运行前,用手工或编译程序等方法,修正语法错误和逻辑错误的过程。这是保证程序正确性必不可少的步骤。测试程序测试是以程序通过编译,在没有语法和连接错误的基础上进行的。目前常用的测试方法有黑盒法和白盒法。黑盒法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,只测试程序是否满足需求分析中的功能说明,是否会发生异常情况。白盒法是把被测试的程序看成是一个透明的箱子,对系统内部过程性细节做细致的检查。它是以程序内部的逻辑结构及相关信息来设计或选择测试用例,使测试数据覆盖被测试程序的所有逻辑路径。JXNUCIE207.1.4程序设计的基本步骤(续)5.编写程序文档写出程序使用说明书和写出程序技术说明书。JXNUCIE217.1.5结构化程序设计方法结构化程序设计采用了模块分解与功能抽象和自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务,分解成许多易于控制和处理的子程序,便于开发和维护。结构化程序设计方法包括:自顶向下,逐步求精的设计方法;分而治之的分解技术;模块化的组织形式。PP1P2P3P11P12P21P22P23P31P32JXNUCIE227.1.6面向对象程序设计方法概述1.面向对象程序设计思想及方法(1)面向对象程序设计的基本思想是尽可能按人类的思维方式,从现实世界出发去考虑软件开发。(2)面向对象程序设计方法是以数据为中心,将数据和处理相结合的一种方法。JXNUCIE237.1.6面向对象程序设计方法概述(续)2.面向对象程序设计的基本概念(1)类与对象对象现实世界中每一个实体都是一个对象。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。从程序设计者的角度来看,对象是一个程序模块。类是指同种对象的集合与抽象。JXNUCIE247.1.6面向对象程序设计方法概述(续)(2)属性与方法属性是用来描述和反映对象特性的参数。方法对象的行为。行为即为在对象上实施的操作。JXNUCIE257.1.6面向对象程序设计方法概述(续)(3)消息与事件驱动消息是对象之间进行通信的一种规格说明。一般它由三部分组成:接收消息的对象、消息名及实际变元。事件驱动在面向对象的程序设计中,程序是由若干个规模较小的事件过程组成的。程序执行后,系统等待某个事件的发生,事件一旦触发,则程序转去执行和处理该事件的事件过程,待事件过程执行完毕后,系统又处于等待状态,这就是事件驱动的含义。用户对这些事件驱动的顺序决定了程序代码执行的顺序,因此,应用程序每次运行时所经过的代码可能都不同。JXNUCIE267.1.6面向对象程序设计方法概述(续)3.面向对象程序设计特性(1)封装性封装性是指数据与其有关的操作放在一起,形成一个实体即对象,用户不必知道对象行为的实现细节,只需根据对象提供的外部特性接口访问对象。(2)继承性继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其他类的全部描述,同时可修改和扩充。(3)多态性多态性是指对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。JXNUCIE277.2数据库技术基础7.2.1数据库系统概述7.2.2数据库的建立和维护7.2.3数据库查询7.2.4窗体和报表JXNUCIE287.2.1数据库系统概述数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科,是计算机科学技术中发展最快的领域之一,也是应用最为广泛的技术之一。数据库技术已经成为现代信息技术的重要组成部分,是现代计算机信息系统的基础和核心。JXNUCIE297.2.1数据库系统概述(续)1.数据管理技术的三个发展阶段人工管理阶段20世纪50年代中期以前,外部存储器只有磁带、卡片和纸带等,软件只有汇编语言,没有数据管理方面的软件,计算机主要用于科学计算。在这个阶段,程序员将程序和数据编写在一起,每个程序都有属于自己的一组数据,程序
本文标题:第7章程序设计基础和数据库技术基础
链接地址:https://www.777doc.com/doc-599470 .html