14
計計計計計 Computer Programming Language Lecture 5 計計 計計計 計計計計 5488

計算機程式 C omputer Programming Language Lecture 5 陣列

Embed Size (px)

DESCRIPTION

計算機程式 C omputer Programming Language Lecture 5 陣列. 郭修伯 助理教授 (5488). 陣列 ( Array). 用一個變數儲存多個數值 一維陣列 Datatype name (size) integer student (40) type(person) student (students). 陣列型態. 陣列變數名稱. 陣列的容量( 使用宣告為 parameter 的常數 或直接用數字 ). 使用陣列注意事項. 存取陣列內容 student (1) = 89 - PowerPoint PPT Presentation

Citation preview

Page 1: 計算機程式 C omputer Programming Language Lecture 5  陣列

計算機程式Computer Programming Language

Lecture 5 陣列

郭修伯 助理教授 ( 5488 )

Page 2: 計算機程式 C omputer Programming Language Lecture 5  陣列

陣列 (Array)

• 用一個變數儲存多個數值– 一維陣列– Datatype name (size)

• integer student (40)• type(person) student (students)

陣列型態陣列變數名稱

陣列的容量(使用宣告為 parameter 的常數 或直接用數字)

Page 3: 計算機程式 C omputer Programming Language Lecture 5  陣列

使用陣列注意事項• 存取陣列內容

– student (1) = 89

• 小心不要超出陣列容量• 從 1 開始,和 C 語言中從

0 開始不一樣

• Fortran 77 語法– integer a

– dimension a (10)

Page 4: 計算機程式 C omputer Programming Language Lecture 5  陣列

• 使用自訂型態的一維陣列 • 二維陣列

Page 5: 計算機程式 C omputer Programming Language Lecture 5  陣列

• 二維– Fortran 90

Integer a(10,10)

Integer a(1:10,1:10)

– Fortran 77integer a

dimension a(10,10)

dimension a(1:10,1:10)

• 最多七維• 配合迴圈

Page 6: 計算機程式 C omputer Programming Language Lecture 5  陣列

設定矩陣初值

Page 7: 計算機程式 C omputer Programming Language Lecture 5  陣列

• 此 where 指令和 do 迴圈效果一樣,但是 do 迴圈寫法的程式不能做平行處理• where 指令是用來設定陣列的,也可以配合 elsewhere

Page 8: 計算機程式 C omputer Programming Language Lecture 5  陣列

範例:計算五個人的稅金收入 30 萬以下稅率 10% , 30~50 萬稅率為 12% , 50 萬以上稅率為 15%

Try to use “do…if …”

Page 9: 計算機程式 C omputer Programming Language Lecture 5  陣列

陣列的儲存規則• Integer A(5)

– 在記憶體中的順序 A(1),A(2),A(3),A(4),A(5)

• Integer A(2,3)– 在記憶體中的順序 A(1,1),A(2,1),A(1,2),A(2,2),A(1,3),A(2,3)

• Integer A(2,2,2)– 在記憶體中的順序

A(1,1,1),A(2,1,1),A(1,2,1),A(2,2,1),A(1,1,2),A(2,1,2),A(1,2,2),A(2,2,2)

和 C 語言正好相反

Page 10: 計算機程式 C omputer Programming Language Lecture 5  陣列

• Fortran 77 • Fortran 90可變大小的陣列

Page 11: 計算機程式 C omputer Programming Language Lecture 5  陣列

釋放記憶體空間

Page 12: 計算機程式 C omputer Programming Language Lecture 5  陣列

數字排序

交換兩個變數內容的方法

Page 13: 計算機程式 C omputer Programming Language Lecture 5  陣列

矩陣相乘

M

kjkkiji BAC

1,,, *

Page 14: 計算機程式 C omputer Programming Language Lecture 5  陣列

習題說明• 宣告容量為 10 的一維陣列,

初值為 2, 4, 6, … 20 ;計算 10 個數字的平均值

• 將費式數列前 20 項儲存在一個一維陣列