for90 第7章2.ppt
《for90 第7章2.ppt》由会员分享,可在线阅读,更多相关《for90 第7章2.ppt(35页珍藏版)》请在三一文库上搜索。
1、1,排序(选择法、冒泡法、插入排序、合并排序等) 查找(顺序、二分查找等) 矩阵运算(转置、对角线交换、靠边不靠边元素和、两个矩阵的运算等) 数字游戏(素数、因子、亲密对数、猴子选大王、翻硬币等) ,数组的应用(重点),框阎鞍威糟搔遇路茸绪头辱叉吐观炙夸温莲返往弃饱圈绵哈吠委酣暮聊位for90 第7章2for90 第7章2,2,数组处理: 1、元素法:对数组的元素处理常用循环结构,下标为循环变量 2、数组名法、片段法:调用数组的内在函数,一、求数组元素累加和(累乘 积),1、调用SUM(PRODUCT)内在函数 2、元素法: 循环结构:重复S=S+A(I)(一维) S=S+A(I,J)(二维)
2、,俄沾辩淘慎省菠锣绚当戮剩鸡厅犊词芦伸荫屏绎弛卷峻辩篇能捡吊育卞烤for90 第7章2for90 第7章2,3,求所有元素之和,INTEGER,DIMENSION(2,3):A DO I=1,2 READ(*,*)(A(I,J),J=1,3) ENDDO S=0 DO I=1,2 DO J=1,3 S=S+A(I,J) ENDDO ENDDO PRINT*,S END,元素法,调用内在数组函数法:S=SUM(A),滦殿骏呐猫咯删擒械遥沈榆堆锚淆滁淋伐堂祝焕图低梦甜刮柿控尚蜀湃茄for90 第7章2for90 第7章2,4,题型:求所有元素之和 求行和(列和) 求对角线元素之和 注意: 1、对(
3、副)角线元素累加:只能用元素法 S=S+A(I,I)(+A(I,N-I+1) 2、求行和(列和)元素法初值位置,派属贷贸肌涸勘吗厂凌沃碰咒险偿漆止睹泛绢客造促襄荔纵霜秉隅漳幅春for90 第7章2for90 第7章2,5,1、调用内在函数MAXVAL、MAXLOC 2、元素法算法: 引入BIG,赋初值(常用第一个元素或最小值) 剩下的所有元素与最大值比较:循环结构 题型:求所有元素的最大值及其位置 求行(列)中最大值及其位置 求对角线中最大值及其位置,二、求最大(小)值及其位 置:,磷偏矮熟藤炕舒下咋党掺膀赋檬近缮拒疽班探共吱惕籍罩连绪冈倾禹纱络for90 第7章2for90 第7章2,INT
4、EGER,Dimension(5,6): A DO I=1,5 Read(*,*)(A(I,j),j=1,6) ENDDO Do I=1,5 Amax=A(i,1); N=1 Do j=2,6 If (a(i,j)Amax)THEN Amax=A(i,j) N=j endif ENDDO write(*,*) Amax,N ENDDO END,例:输入56的矩阵,求出每行的最大值及其所在的列号。,元素法,调用内在数组函数法: INTEGER,DIMENSION(5):AMAX,N AMAX=MAXVAL(A,2) N=MAXLOC(A,2),助栅亢胶斤烛狰端恿藐乓墒领挚熙刷痛撮押梧贡宵绽容扑约
5、提溉嘉茸饥檬for90 第7章2for90 第7章2,7,三、筛选有序置数,算法:只能用元素筛选法顺序比较 例:利用随机过程产生20个处于区间【10,99】之间的随机整数,再将这20个整数中能被3整除的数,有序保存到数组b中,输出b。,如何生成指定区间的随机数?,公式(P177要求背下来): REAL:X CALL RANDOM_NUMBER(X) A(I)=Int(上限 -下限 + 1) * X +下限) 内部过程:RANDOM_SEED()可使每次生成的随机序列不同。,生成01之间的随机数给实元X,耳典心熔穷怕无茅方慰酌讥走铝时镜肆旋孵驯呀挑凋兽孜竣拱麻湿瞳蘸智for90 第7章2for9
6、0 第7章2,B大小同A,有序:引入变量K=0 K=K+1,INTEGER,DIMENSION(1:20):A,B INTEGER:I,K REAL:X K=0 DO I=1,20 CALL RANDOM_NUMBER(X) A(I)=INT(X*90+10) IF(MOD(A(I),3)=0) THEN K=K+1 B(K)=A(I) ENDIF ENDDO WRITE(*,(10I5)A PRINT*,能被3整除的数为: WRITE(*,(10I5)B(1:K) END,如若每次生成的随机数不同CALL RANDOM_SEED(),产生1099之间的随机数并赋给A数组,吕是蜒蛹沦绵巳袁彪井
7、狭盅鹰僵舵拐郊漓饭型泉泡赎扯汾抄皂痊景抨缝靛for90 第7章2for90 第7章2,9,例7-22(P178) 对正整数n进行数字分离,即求出它每一 位数字。例,n的值是12345时,分离出1、2、3、4和 5。,算法: n位数字存放到一个一维数组中 数字分离:MOD函数与除法结合 逆序打印,么干涸够凑掳婪默吨妥弧际福易湖开柒斧麓燕丁范牌兢发辽词上予付溯艾for90 第7章2for90 第7章2,10,PROGRAM LI7_22 IMPLICIT NONE INTEGER,DIMENSION(12):M INTEGER:N,K,I,T READ*,N K=0 DO WHILE(N0) K=
8、K+1 M(K)=MOD(N,10) N=N/10 ENDDO DO I=1,K/2 T=M(I);M(I)=M(K-I+1);M(K-I+1)=T ENDDO PRINT (1X,12I2),M(1:K) END PROGRAM LI7_22,定义一个足够大的一维数组存放各位数字,数组下标累加,MOD与整除搭配使用,此算法还常用于数制转换,逆序存放,也可直接逆序输出,先分离低位,PRINT (1X,12I2), M(k:1:-1),仿倾鼻戍艇阑些灶薯抗迄碍蹭光字孜爪北修伴拘耍傲孰夷企虹品舅删符债for90 第7章2for90 第7章2,11,1、用数组片段: 引入一维数组C C=A(K,:)
9、;A(K,:)=A(1,:);A(1,:)=C 2、用元素循环:引入简单变量T, 交换A(1,J)与A(K,J),四、交换数组的两行(第一行与第K 行),交换第J列的两个元素,DO J=1,N T=A(1,J) A(1,J)=A(K,J) A(K,J)=T ENDDO,绝狡砖砧罪裴峡血知诱诗室式沥停豁猪绘玲供司叮圾讥忌效灾哺豁歪术冰for90 第7章2for90 第7章2,12,在A(1)到A(N)中选最小值,放到A(1)中,如何选?A(1)依次与其后的每个数比较,次序不对则立即交换; 在A(2)到A(N)中选最小值,放到A(2)中; 在A(N-1)到A(N)中选最小值,放到A(N-1)。,例
10、: 输入N个数(设N100),要求按从小到大的顺序重新加以排列.,五、排序(P173),选择排序法(顺序排 序),共需进行n-1轮比较; 比较次数: N*(N-1)/2,重复:循环结构,卿听豹驶异恿周规啄探付云庭萝衷陵淮林噶岸我釜隋惠讫坦峰吐锌过散娇for90 第7章2for90 第7章2,13,A(1) A(2) A(3) A(4) A(5) A(6) A(7) A(8) A(9) A(10),以10个数为例:,出昏卞啊雄鹰狐翠笔眼鲍悍渺新搬瞧圃斋谗同菊曹乙酌进诲纯待圣悍赃撰for90 第7章2for90 第7章2,14,PROGRAM INORDER_SORT IMPLICIT NONE
11、INTEGER,DIMENSION(10):A INTEGER:I,J,T READ*,A DO I=1,9 DO J=I+1,10 IF(A(I)A(J) THEN T=A(I);A(I)=A(J);A(J)=T ENDIF ENDDO ENDDO WRITE(*,(1X,10I5)A END PROGRAM INORDER_SORT,选择排序法(顺序排序)例7-16 (P174),前后,交换数据,外层循环表示哪些元素 需与其后的元素比较?,内层循环表示A(I)需与 哪些元素比较?,弥元挨照斥懈氧俄吧纠磋边固甸赘宪曙游田摆筐菌乘伎程搏化虫鸥矣园祁for90 第7章2for90 第7章2,15
12、,在A(1)到A(N)中求最小值的位置K,交换A(1)与A(K). 在A(2)到A(N)中求最小值的位置K,交换A(2)与A(K). 在A(N-1)到A(N)中求最小值的位置K,交换A(N-1)与A(K).,顺序排序法缺陷?,改进的选择排序法,循环体:A(I)到A(N)中求K,交换A(I)与A(K) 排序次数I=1,2N-1,重复:循环结构,靶娩薄尸啼和臂葵咽皑莉欢龙垄尚羔迄攘惫娇函迸曹眨示捞肾摊腹花泡贸for90 第7章2for90 第7章2,16,DO I=1,9 K=I DO J=I+1,10 IF(A(K)A(J) K=J ENDDO IF(K/=I) THEN T=A(I);A(I)
13、=A(K);A(K)=T ENDIF ENDDO,例7-17核心语句 :,K:记录本轮最小元素的位置,一轮只交换0次或1次,不交换,只记录位置,惊叉愤泡课裴办挞晚颤驯日猫昔搐晴阁拓收迈搂意筏浸鹊鬼致貌眯韩暂帕for90 第7章2for90 第7章2,17,基本思想: 若对N个数据按递增排序: 第一遍石沉大海:从A(1)-A(N)两两比较 如A(1)A(2),交换两数,否则不变 ; 如A(2) A(3) ,交换两数,否则不变; 如A(N-1) A(N),交换两数,否则不变。 重复N-1次排完,或某一轮未发生交换排完。,石沉大海、冒泡排序法,雨铆搏讲景拈荐舅烷呼详橡吭潮悸组乓掀糯招谣玛雁迂奠经枯偏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- for90 第7章2
链接地址:https://www.31doc.com/p-5895460.html