(中职)2022-2023学年SP.NET动态网页设计第四章. ASP课件.ppt
《(中职)2022-2023学年SP.NET动态网页设计第四章. ASP课件.ppt》由会员分享,可在线阅读,更多相关《(中职)2022-2023学年SP.NET动态网页设计第四章. ASP课件.ppt(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中职)2022-2023学年SP.NET动态网页设计第四章.ppt ASP课件第四章高级程序设计概念与技巧学习目标:n n1认识数组的意义n n2声明一维与二维数组n n3设置一维与二维数组的初始值n n4排序与查找数据n n5认识子程序与函数n n6创建与调用子程序n n7在子程序中传递参数n n8认识传值与传址调用的不同n n9创建与调用函数4-1数组n n数组(Array)是一群由相同类型的元素所集合而成的特殊类型,当程序需要一系列具有相同类型的多项数据时,便可以利用数组来存取数据,有别于每个变量只能存储一个数据的特性。4-1-1数组的意义n n变量是指程序中可以用来存储数据空间的名字
2、,变量是指程序中可以用来存储数据空间的名字,用户可以用它来存放任何数值、文字、日期时间用户可以用它来存放任何数值、文字、日期时间等数据,如同每个人有一个名字一样,当程序中等数据,如同每个人有一个名字一样,当程序中需要使用某变量时,可以用此名字来称呼它。需要使用某变量时,可以用此名字来称呼它。n n若程序中需要一系列具有相同类型的多项数据时,若程序中需要一系列具有相同类型的多项数据时,如果逐个加以设置会比较烦琐。如果使用数组来如果逐个加以设置会比较烦琐。如果使用数组来代表这一系列的多项数据,便轻松多了!代表这一系列的多项数据,便轻松多了!n n可以将数组想成计算机中一块连续的内存,这块可以将数组
3、想成计算机中一块连续的内存,这块连续内存被分成许多相同大小的小空间,每个小连续内存被分成许多相同大小的小空间,每个小空间会按照顺序从空间会按照顺序从0 0开始给予一个编号,以后若需开始给予一个编号,以后若需要某个小空间的数据,就可以用编号来存取该小要某个小空间的数据,就可以用编号来存取该小空间的数据。空间的数据。按照排列的方式,数组分为一维数组和多维数组。一维数组按照排列的方式,数组分为一维数组和多维数组。一维数组是指这些小空间以直线的方式排列,而且每个小空间都依顺是指这些小空间以直线的方式排列,而且每个小空间都依顺序编号来区别,此顺序编号称为索引值(序编号来区别,此顺序编号称为索引值(Ind
4、exIndex),而数组),而数组中每一个小空间所存放的数据称为元素(中每一个小空间所存放的数据称为元素(ElementElement)。)。多维数组是指二维数组、三维数组、四维数组等,以二维数多维数组是指二维数组、三维数组、四维数组等,以二维数组来说,二维数组是指这些小空间会以两个编号来区别。组来说,二维数组是指这些小空间会以两个编号来区别。n n0,00,10,20,30,40,50,6n n1,01,11,21,31,41,51,6n n2,02,12,22,32,42,52,64-1-2一维数组的声明n n 声明一维数组声明一维数组n n在程序中,只要在数组名前面加上在程序中,只要在数
5、组名前面加上DimDim,就达到,就达到声明的作用,其语法如下:声明的作用,其语法如下:n nDimDim数组名数组名(N)(N)n n上述语法说明如下:上述语法说明如下:n n(1 1)数组名只要依照变量的命名规则命名即可。)数组名只要依照变量的命名规则命名即可。n n(2 2)写完数组名后,必须加上)写完数组名后,必须加上()()。n n(3 3)在)在()()中的中的N N为数组内最后一个元素的索引值为数组内最后一个元素的索引值编号,例如:编号,例如:DimX(6)DimX(6),就表示数组名为,就表示数组名为X X,有,有7 7个元素的数组。个元素的数组。声明一维数组并指定数据类型n
6、n在声明数组名时,也可以指定数组的数据类型(数据的类型与变量的类型一样,有字节整型、短整型、整型、长整型、单精度浮点数、双精度浮点数、十进制数、字符串、日期时间、布尔、字符、对象等),只要在声明数组名后加上As和数据类型,就完成数组类型的设置了。n n设置数组数据类型的语法如下:n nDim数组名(N)As数据类型4-1-3一维数组初始值的设置n n声明数组名后,就可以一一表示数组内各元素的数据。若一维数组名为X,则第1个元素以X(0)表示,第2个元素以X(1)表示,第3个元素以X(2)表示,第4个元素以X(3)表示,第5个元素以X(4)表示,第6个元素以X(5)表示,第7个元素以X(6)表示
7、。n n下图是声明一维数组X后,数组内各元素表示的示意图。X(0)X(1)X(2)X(3)X(4)X(5)X(6)n n跟变量一样,声明数组以后,也可以指定数组的初始值。跟变量一样,声明数组以后,也可以指定数组的初始值。与变量最大的不同是,变量只是代表一个数据,所以其初与变量最大的不同是,变量只是代表一个数据,所以其初始值只要指定一个就可以了,但数组是代表一系列具有相始值只要指定一个就可以了,但数组是代表一系列具有相同类型的多项数据,所以要指定数组的初始值时,要一一同类型的多项数据,所以要指定数组的初始值时,要一一指定数组内各元素的初始值。指定数组初始值的语法如下:指定数组内各元素的初始值。指
8、定数组初始值的语法如下:n nDimX(N)AsIntegerDimX(N)AsInteger 声明数组声明数组X X内含内含N+1N+1个元素,而个元素,而且都为整型且都为整型n nX(0)=X(0)=数据数据1 1 指定第指定第1 1个元素的初始值个元素的初始值为数据为数据1 1n nX(1)=X(1)=数据数据2 2 指定第指定第2 2个元素的初始值个元素的初始值为数据为数据2 2n nX(2)=X(2)=数据数据3 3 指定第指定第3 3个元素的初始值个元素的初始值为数据为数据3 3n nn nX(N)=X(N)=数据数据N+1N+1 指定第指定第N+1N+1个元素的初始个元素的初始值
9、为数据值为数据N+1N+14-1-4二维数组的声明n n简单地说,如果数据可以用表格来呈现,就可以使用二维数组来表示简单地说,如果数据可以用表格来呈现,就可以使用二维数组来表示表格内的所有数。表格内的所有数。n n只要在二维数组名前面加上只要在二维数组名前面加上DimDim,就达到声明的作用,其语法如下:,就达到声明的作用,其语法如下:n nDimDim数组名数组名(行数行数-1,-1,列数列数-1)-1)n n上述语法中的数组名只要按照变量的命名规则命名即可,比较特别的上述语法中的数组名只要按照变量的命名规则命名即可,比较特别的是,写完数组名后,必须加上是,写完数组名后,必须加上()(),并
10、在,并在()()中填上中填上“行数行数-1,-1,列数列数-1”-1”。也就是填上行的最大索引值编号和列的最大索引值编号就可以了。同也就是填上行的最大索引值编号和列的最大索引值编号就可以了。同样,索引值编号必须从样,索引值编号必须从0 0开始依次编号。开始依次编号。n n以上述表格为例,声明二维数组如下:以上述表格为例,声明二维数组如下:n nDimDim成绩成绩(4,6)(4,6)n n声明此成绩数组后,可得知行的索引值范围为声明此成绩数组后,可得知行的索引值范围为0 04 4,列的索引值范围,列的索引值范围为为0 06 6,此数组内含,此数组内含(4+1)*(6+1)(4+1)*(6+1)
11、个单元格的数据。个单元格的数据。n n在声明二维数组名时,也可以指定数组的数据类型,数据的类型与变在声明二维数组名时,也可以指定数组的数据类型,数据的类型与变量的类型一样,有字节整型、短整型、整型、长整型、单精度浮点数、量的类型一样,有字节整型、短整型、整型、长整型、单精度浮点数、双精度浮点数、十进制数、字符串、日期时间、布尔、字符、对象等。双精度浮点数、十进制数、字符串、日期时间、布尔、字符、对象等。只要在声明数组名后,加上只要在声明数组名后,加上AsAs和数据类型,就完成数组类型的设置了。和数据类型,就完成数组类型的设置了。n n设置数组数据类型的语法如下:设置数组数据类型的语法如下:n
12、nDimDim数组名数组名(行数行数-1,-1,列数列数-1)As-1)As数据类型数据类型4-1-5二维数组初始值的设置n n声明二维数组名后,即可一一指定数组内的各元声明二维数组名后,即可一一指定数组内的各元素。素。n n下图是声明二维数组后,数组内各元素表示的示下图是声明二维数组后,数组内各元素表示的示意图。意图。n n二维数组二维数组0.00.10.20.30.40.50.60.00.10.20.30.40.50.6n n1.01.11.21.31.41.51.61.01.11.21.31.41.51.6n n2.02.12.22.32.42.52.62.02.12.22.32.42.
13、52.6n n3.03.13.23.33.43.53.63.03.13.23.33.43.53.6n n4.04.14.24.34.44.54.64.04.14.24.34.44.54.6n n与变量和一维数组一样,声明二维数组名后,即与变量和一维数组一样,声明二维数组名后,即可一一指定数组中各元素的初始值。可一一指定数组中各元素的初始值。n n只要在二维数组名后加上只要在二维数组名后加上=,并在,并在内依序写上内依序写上各元素的初始值即可,其语法如下:各元素的初始值即可,其语法如下:n nDimDim数组名数组名(,)=(,)=第第0 0行的数据行的数据,第第1 1行的数据行的数据,第第2
14、2行的数据行的数据,n n所以若以上述成绩表格为例,可以声明二维数组所以若以上述成绩表格为例,可以声明二维数组并指定初始值如下:并指定初始值如下:n nDimDim成绩成绩(,)=MS0001,(,)=MS0001,赖怡璇赖怡璇,94,61,61,98,68,MS0002,94,61,61,98,68,MS0002,张佳玲张佳玲,n n85,92,96,90,62,MS0003,85,92,96,90,62,MS0003,黄玉菁黄玉菁,53,84,80,99,86,MS0004,53,84,80,99,86,MS0004,陈宛宜陈宛宜n n,52,84,89,55,66,MS0005,52,8
15、4,89,55,66,MS0005,吴尚儒吴尚儒,91,76,95,79,54,91,76,95,79,54n n1新建一个01_EX01的ASP.NET网站程序,设计一个倒序显示字符串数组的程序,规则如下:声明一维字符串数组,并设置5个字符串数据为John,I,Love,You,Mary。将这5个字符串以倒序显示出来。n n新建一个01_EX02的ASP.NET网站程序,设计一个星期中英文对照的程序,规则如下:n n声明两个数组,一个数组表示星期的语文名称,另一个数组表示星期的英文单词,并分别指定各数组的初始值。n n利用循环的技巧,使程序执行n n打开练习文件CH0401_EX03(Def
16、au-lt.aspx),设计一个计算成绩总分与平均的程序,规则如下:n n将练习文件grade数组的成绩计算总分与平均分数。n n利用嵌套循环的技巧,在表格中显示学生的数据与成绩,包含原始数据与新增的“总分”与“平均”字段。n n新建一个01_EX04的ASP.NET网站程序,改写星期中英文对照的程序(01_EX02),规则如下:n n声明一个二维数组,并存储星期的中文和英文单词等数据。n n利用循环的技巧,使程序执行时显示星期的中英文对照4-2排序与查找n n排序(Sort)是指将数据由大到小或由小到大依次排列,而查找是指按条件找到数据。当程序中有大量的数据时,常常会应用这两个技巧将数据呈现
17、出来。4-2-1排序n n排序(排序(SortSort)是将数据由小到大或由大到小依次排列,由)是将数据由小到大或由大到小依次排列,由小到大依次排列称为递增排序,由大到小依次排列称为递小到大依次排列称为递增排序,由大到小依次排列称为递减排序。减排序。n n何谓大?何谓小?如果是数值数据,则数值越大者越大;何谓大?何谓小?如果是数值数据,则数值越大者越大;如果是字符串数据,则中文字符如果是字符串数据,则中文字符 小写英文字母小写英文字母 大写英大写英文字母文字母 数字,而中文字符又以编码大者为大;如果是日数字,而中文字符又以编码大者为大;如果是日期数据,则越晚的日期越大。在程序中可以利用循环与条
18、期数据,则越晚的日期越大。在程序中可以利用循环与条件判断来排序数据,也可以使用内置的方法来排序。件判断来排序数据,也可以使用内置的方法来排序。n n根据不同特性的数据,可采用不同的排序算法,较知名的根据不同特性的数据,可采用不同的排序算法,较知名的排序方法有选择排序法(排序方法有选择排序法(SelectionSortSelectionSort)、交换排序法)、交换排序法(ExchangeSortExchangeSort)、插入排序法()、插入排序法(InsertionSortInsertionSort)等)等 使用选择排序法排序n n选择排序法的基本想法是指在有选择排序法的基本想法是指在有N
19、N个元素的数组中,选择出关键值最个元素的数组中,选择出关键值最小的元素,然后在剩下的小的元素,然后在剩下的N N-1-1个元素中再选出关键值最小的元素,重个元素中再选出关键值最小的元素,重复这种程序,直到第复这种程序,直到第N N-1-1遍,即可完成排序作业。选择排序法有多种遍,即可完成排序作业。选择排序法有多种排序策略,下面就是选择排序法策略的一种。排序策略,下面就是选择排序法策略的一种。n n(1 1)第一遍:将第)第一遍:将第1 1位置的数据和其他位置的所有数据做比较。位置的数据和其他位置的所有数据做比较。n n当第当第1 1位置的数据大(小)于其他数据时,则两个数据交换位置,使位置的数
20、据大(小)于其他数据时,则两个数据交换位置,使第第1 1位置位置n n的数据永远保持比较小(大)。的数据永远保持比较小(大)。n n交换位置后,再将交换位置后的第交换位置后,再将交换位置后的第1 1位置的数据与其他位置的数据相位置的数据与其他位置的数据相比较,直比较,直n n到所有的数据比较完。到所有的数据比较完。n n第一遍比较完时,最小(大)的数据一定会出现在第第一遍比较完时,最小(大)的数据一定会出现在第1 1位置。位置。n n(2 2)第二遍:因为第)第二遍:因为第1 1位置的数据已经是最小(大)的,所以将第位置的数据已经是最小(大)的,所以将第2 2位置的数据与第位置的数据与第3 3
21、、4 4、位置的数据相比较。位置的数据相比较。n n当第当第2 2位置的数据比其他位置的数据大(小)时,就交换位置。位置的数据比其他位置的数据大(小)时,就交换位置。n n以此规则一直进行比较。以此规则一直进行比较。n n(3 3)当此范围内有)当此范围内有N N个数据时,需进行个数据时,需进行N N-1-1遍,才能将所有的数据由遍,才能将所有的数据由小到大(由大到小)依次排列完成。小到大(由大到小)依次排列完成。使用Array.Sort排序n n前面所介绍的选择排序法对很多初学者来说难了一些,不前面所介绍的选择排序法对很多初学者来说难了一些,不过过VB.NETVB.NET提供了一种提供了一种
22、Array.SortArray.Sort方法,只要调用这个方法,方法,只要调用这个方法,就可以将指定一维数组内的元素由小到大递增排序。就可以将指定一维数组内的元素由小到大递增排序。n n使用使用Array.SortArray.Sort排序的语法如下:排序的语法如下:n nArray.Sort(Array.Sort(一维数组名一维数组名)n n例如:例如:n nDima()=3,5,9,8,6,4,7Dima()=3,5,9,8,6,4,7n nArray.Sort(a)Array.Sort(a)将数组将数组a a内的元素排序内的元素排序,a()=3,4,5,6,7,8,9,a()=3,4,5,
23、6,7,8,9n nDimx()=10,50,30,40Dimx()=10,50,30,40n nArray.Sort(x)Array.Sort(x)将数组将数组x x内的元素排序内的元素排序,x()=10,30,40,50,x()=10,30,40,50n n如果将数组如果将数组1 1的元素排序时,也想根据数组的元素排序时,也想根据数组1 1的索引值去重的索引值去重新排列另一个数组,使其相配对时,可以在新排列另一个数组,使其相配对时,可以在()()中加上两个中加上两个参数,其语法如下:参数,其语法如下:n nArray.Sort(Array.Sort(数组名数组名1,1,数组名数组名2)2)
24、n n例如:例如:n nDimDim姓名姓名()=()=王一王一,赵二赵二,孙三孙三,吕吕四四,郑五郑五n nDimDim成绩成绩()=68,98,88,65,78()=68,98,88,65,78n nArray.Sort(Array.Sort(成绩成绩,姓名姓名)n n上述代码的意思将成绩数组的元素由小到大排列,上述代码的意思将成绩数组的元素由小到大排列,姓名数组也要跟着相配对,所以排序后,成绩姓名数组也要跟着相配对,所以排序后,成绩()=65,68,78,88,98()=65,68,78,88,98,而姓名,而姓名()=()=吕四吕四,王王一一,郑五郑五,孙三孙三,赵二赵二。n n千万不
25、要将千万不要将Array.Sort(Array.Sort(成绩成绩,姓名姓名)拆成拆成Array.Sort(Array.Sort(成绩成绩)和和Array.Sort(Array.Sort(姓名姓名),这样成绩自,这样成绩自己排序,姓名也自己排序,结果成绩与姓名并不己排序,姓名也自己排序,结果成绩与姓名并不配对!配对!4-2-2最大值和最小值n n如果已经将数据排序,则第一个元素数据和最后一个元素数据就是该群数据的最小或最大值。n n当数据不多时,可以轻易地知道最后一个元素的索引值编号,可是当数组中的元素数据很多时,就不方便算出最后一个元素的索引值编号了。这时,可以利用函数来求得最后一个元素的索
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中职2022-2023学年SP.NET动态网页设计第四章. ASP课件 2022 2023 学年 SP NET 动态 网页 设计 第四 ASP 课件
限制150内