第4章数组和程序分块设计课件

上传人:春****铺 文档编号:272885457 上传时间:2022-04-04 格式:PPT 页数:33 大小:478KB
返回 下载 相关 举报
第4章数组和程序分块设计课件_第1页
第1页 / 共33页
第4章数组和程序分块设计课件_第2页
第2页 / 共33页
第4章数组和程序分块设计课件_第3页
第3页 / 共33页
第4章数组和程序分块设计课件_第4页
第4页 / 共33页
第4章数组和程序分块设计课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第4章数组和程序分块设计课件》由会员分享,可在线阅读,更多相关《第4章数组和程序分块设计课件(33页珍藏版)》请在金锄头文库上搜索。

1、第第4章章 数组和程序分块设计数组和程序分块设计 u 4.1【案例案例11】调查产品满意率相关知识调查产品满意率相关知识u 4.2【案例案例12】求转置矩阵相关知识求转置矩阵相关知识u 4.3【案例案例13】绘制递归图案相关知识绘制递归图案相关知识u 4.1【案例案例11】调查产品满意率相关知识调查产品满意率相关知识1数据结构数据结构早期的计算机主要用于解决数值计算问题,例如,计算函数值、解不定方程、早期的计算机主要用于解决数值计算问题,例如,计算函数值、解不定方程、解代数方程和求一元多次方程的解等。随着计算机应用的不断发展,计算机解代数方程和求一元多次方程的解等。随着计算机应用的不断发展,计

2、算机的应用领域除了用于科学计算外,还更大范围地应用于数据处理和数据管理的应用领域除了用于科学计算外,还更大范围地应用于数据处理和数据管理等非数值计算工作,例如,文献检索、金融管理、商业系统数据处理、计算等非数值计算工作,例如,文献检索、金融管理、商业系统数据处理、计算机辅助设计和制造,以及图像模式识别等。机辅助设计和制造,以及图像模式识别等。在计算机编程的实际应用中,除了需要处理纯数值数据外,还经常需要处理在计算机编程的实际应用中,除了需要处理纯数值数据外,还经常需要处理字符、表格、图像、音频及视频等具有一定结构的数据。了解数据结构是解字符、表格、图像、音频及视频等具有一定结构的数据。了解数据

3、结构是解决实际问题的关键,是编程的基础。决实际问题的关键,是编程的基础。数据结构是一门研究非数值计算问题中,计算机处理对象,对象之间关系及数据结构是一门研究非数值计算问题中,计算机处理对象,对象之间关系及对这些对象进行相关操作等的一门学科。计算机完成这类工作的效率和被处对这些对象进行相关操作等的一门学科。计算机完成这类工作的效率和被处理数据的组织形式有着密切的关系。这就是说存在一个数据结构问题。理数据的组织形式有着密切的关系。这就是说存在一个数据结构问题。对于许多非数值问题,通常是无法用数学方程来描述,这些问题所求的不是对于许多非数值问题,通常是无法用数学方程来描述,这些问题所求的不是某个数值

4、,而是某种检索的结果、某种排列的状态、某种转换后的形式、某某个数值,而是某种检索的结果、某种排列的状态、某种转换后的形式、某种设计的表示等,这些问题的数学模型是通过一种数据结构来描述数据以及种设计的表示等,这些问题的数学模型是通过一种数据结构来描述数据以及数据之间相互关系的。下面通过一个数据之间相互关系的。下面通过一个“职工工资查询表职工工资查询表”问题来了解数据结问题来了解数据结构。构。该问题是要求用户输入职工的姓名,如果存储有该职工的工资单,该问题是要求用户输入职工的姓名,如果存储有该职工的工资单,则会给出相应的工资;否则,显示没有该职工的工资信息。可以则会给出相应的工资;否则,显示没有该

5、职工的工资信息。可以使用两种方法建立表格,一是按照每位职工入厂的前后顺序建立使用两种方法建立表格,一是按照每位职工入厂的前后顺序建立查询的表格,存储到计算机中,如表查询的表格,存储到计算机中,如表4-1-1所示。这种情况下,所示。这种情况下,由于很难记住每位职工的入厂时间,所以查找时只能从第一位职由于很难记住每位职工的入厂时间,所以查找时只能从第一位职工开始逐一进行。另一种是根据每位职工姓名的第一个拼音字母,工开始逐一进行。另一种是根据每位职工姓名的第一个拼音字母,按照按照26个英文字母的顺序进行排列,如表个英文字母的顺序进行排列,如表4-1-2所示。这种情况所示。这种情况下,根据姓名的第一个

6、字母就可以迅速地进行查找,从而大大减下,根据姓名的第一个字母就可以迅速地进行查找,从而大大减少了查找所需的时间。少了查找所需的时间。在这个例子中,为了提高查找效率,必须了解待处理对象之间的在这个例子中,为了提高查找效率,必须了解待处理对象之间的关系,以及如何存储和表示这些数据。表关系,以及如何存储和表示这些数据。表4-1-1和表和表4-1-2就是为就是为了解决此问题而建立的不同的数学模型。在表了解决此问题而建立的不同的数学模型。在表4-1-2中,各对象中,各对象(姓名)之间存在一种有效的最简单的线性关系,即按姓名顺序(姓名)之间存在一种有效的最简单的线性关系,即按姓名顺序排列。排列。入厂时间姓

7、 名工资姓 名入厂时间工资1988.10楚浚(Chujun)4 030.00楚浚(Chujun)1988.104 030.001989.4李翔(Lixiang)4 820.10李霞菇(Lixiagu)1998.63 000.001993.9张芸(Zhangyun)3 200.50李翔(Lixiang)1989.44 820.101998.6李霞菇(Lixiagu)3 000.00张芸(Zhangyun)1993.93 200.50表4-1-1 职工工资查询表1 表4-1-2 职工工资查询表2这个例子中的问题是一个非数值计算问题,不能用数学方程描述这类问题,而是这个例子中的问题是一个非数值计算问

8、题,不能用数学方程描述这类问题,而是使用了表这个数据结构来进行描述。使用了表这个数据结构来进行描述。在数据处理领域中,数据类型比较复杂,而且数据元素之间具有各种特定的联系,在数据处理领域中,数据类型比较复杂,而且数据元素之间具有各种特定的联系,因此,了解数据集合中元素之间的关系以及如何组织和表示这些数据,可以提高因此,了解数据集合中元素之间的关系以及如何组织和表示这些数据,可以提高处理数据的效率。处理数据的效率。在数据结构中有许多术语,下面介绍几种常用术语的含义。在数据结构中有许多术语,下面介绍几种常用术语的含义。(1)数据。数据()数据。数据(Data)是对客观事物的名称、数量、特征、性质等

9、属性的描述)是对客观事物的名称、数量、特征、性质等属性的描述形式(即编码),是计算机所能处理的一切符号(例如,数、字符、图像符号、形式(即编码),是计算机所能处理的一切符号(例如,数、字符、图像符号、声音符号、视频符号等)的集合。数据是信息的载体,它可以用计算机来加工处声音符号、视频符号等)的集合。数据是信息的载体,它可以用计算机来加工处理。理。(2)数据元素。数据元素()数据元素。数据元素(Data Element)是数据集合中的一个个体,是数据)是数据集合中的一个个体,是数据的基本单位。例如,数据集合的基本单位。例如,数据集合N=l, 2, 3, 4, 5,6中自然数中自然数16均为数据元

10、素。一均为数据元素。一个数据元素可以是简单的只有一个数据项,例如,一个数值、一个符号或一个名个数据元素可以是简单的只有一个数据项,例如,一个数值、一个符号或一个名称等,也可以是由若干个数据项组成的。称等,也可以是由若干个数据项组成的。(3)数据对象。具有相同性质的数据元素的集合称为数据对象()数据对象。具有相同性质的数据元素的集合称为数据对象(Data Object)。)。(4)关键数据项。在数据结构中,通常一个数据结点由用来描述一个独立事物的)关键数据项。在数据结构中,通常一个数据结点由用来描述一个独立事物的多种属性的多个信息组成,例如,在多种属性的多个信息组成,例如,在“职工工资查询表职工

11、工资查询表”中,每个人是一个结点,中,每个人是一个结点,结点包括职工的姓名、入厂日期和工资等信息。结点包括职工的姓名、入厂日期和工资等信息。(5)数据类型。数据类型()数据类型。数据类型(Data Type)是指设计过程语言中允许的变量类)是指设计过程语言中允许的变量类型。程序中出现的每一个变量必须与一个且仅与一个数据类型相联系,它不型。程序中出现的每一个变量必须与一个且仅与一个数据类型相联系,它不仅规定了该变量可以设定的值的集合,而且规定了这个集合上的一组运算。仅规定了该变量可以设定的值的集合,而且规定了这个集合上的一组运算。各种语言都规定了它所允许的数据类型。各种语言都规定了它所允许的数据

12、类型。2数组数组数组是一批按一定顺序排列的、相互有联系的数据的集合。数组在数组是一批按一定顺序排列的、相互有联系的数据的集合。数组在Java语言语言设计过程中相当重要,它可以使设计过程更有条理和更简便。设计过程中相当重要,它可以使设计过程更有条理和更简便。在实际应用中,经常需要处理一批相互有联系、有一定顺序、同一类型和具在实际应用中,经常需要处理一批相互有联系、有一定顺序、同一类型和具有相同性质的数据。例如,有相同性质的数据。例如,1 000个职工的工资、一个矩阵中的所有数据等。个职工的工资、一个矩阵中的所有数据等。Java语句提供了数组来保存和处理这类数据。数组是指一组类型相同的数据,语句提

13、供了数组来保存和处理这类数据。数组是指一组类型相同的数据,每个数据称为一个数组元素。例如,如果上述每个数据称为一个数组元素。例如,如果上述1 000个职工的工资构成一个数个职工的工资构成一个数组,则每位职工的工资叫数组元素;如果某个矩阵中的数据构成一个数组,组,则每位职工的工资叫数组元素;如果某个矩阵中的数据构成一个数组,则其中的每个数字叫数组元素。则其中的每个数字叫数组元素。有了数组,就可以用同一个变量名来表示一系列的数据,并用下标来表示同有了数组,就可以用同一个变量名来表示一系列的数据,并用下标来表示同一数组中的不同数组元素。每个元素都具有一个下标值,也就是该元素在数一数组中的不同数组元素

14、。每个元素都具有一个下标值,也就是该元素在数组中的位置。在组中的位置。在Java语言中数组元素可以是简单数据类型,也可以是对象数语言中数组元素可以是简单数据类型,也可以是对象数据类型。数组的主要特点有据类型。数组的主要特点有5个。个。(1)数组是相同数据类型元素的集合。)数组是相同数据类型元素的集合。(2)数组中的各个元素在内存中按照先后顺序连续存放在一起。)数组中的各个元素在内存中按照先后顺序连续存放在一起。(3)每个数组元素用其所在数组的名称和其在数组中的顺序位置表示。例如,)每个数组元素用其所在数组的名称和其在数组中的顺序位置表示。例如,salary0代表变量名为代表变量名为salary

15、的数组中的第的数组中的第1个元素,个元素,salary1代表数组代表数组salary的第的第2个元素,依此类推,个元素,依此类推,salaryn代表数组代表数组salary的第的第n+1个元素。个元素。(4)数组的下标值是从)数组的下标值是从0开始的,它可以是开始的,它可以是int类型的数据、变量和算术表达类型的数据、变量和算术表达式。例如,式。例如,salaryi、numbers3+7都是合法的下标值。都是合法的下标值。(5)每个数组都有长度,也就是其所能含有元素的个数。)每个数组都有长度,也就是其所能含有元素的个数。3创建一维数组创建一维数组创建数组的设计过程方法如下。创建数组的设计过程方

16、法如下。(1)在使用数组之前必须先声明数组。声明数组主要是声明数组的名称和数)在使用数组之前必须先声明数组。声明数组主要是声明数组的名称和数组中元素的数据类型,其格式有以下两种。组中元素的数据类型,其格式有以下两种。格式格式1:格式格式2:其中,其中,“数组名称数组名称”必须符合必须符合Java语言标识符规则,例如下面的声明语句都语言标识符规则,例如下面的声明语句都是合法的。是合法的。数组元素类型数组元素类型 数组名称数组名称;数组元素类型数组元素类型 数组名称数组名称;double salary;int numbers;String str; 声明数组的目的只是告诉系统一个新的数组的名称和类型,现阶段的数组还声明数组的目的只是告诉系统一个新的数组的名称和类型,现阶段的数组还没有保存任何数组元素,数组值为没有保存任何数组元素,数组值为null。(2)使用关键字)使用关键字new来指定数组的长度,并分配相应的内存空间,其格式如来指定数组的长度,并分配相应的内存空间,其格式如下。下。格式:格式:例如,下面的语句表示给数组例如,下面的语句表示给数组salary分配内存空间,用来保存分配内存空

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号