
حجم فایل : 207.7 KB
نوع فایل : پاور پوینت
تعداد اسلاید ها : 49
1 متغیرهای اندیسدار یا زیرنویسدار 2 آرایه (Array) آرایه گروهی از متغیرها یا ثابتها هستند که نوع آنها یکی است و با اسم واحدی نامیده میشوند.
a(1) a(2) a(3) a(4) a(5) Array a حافظه رایانه 3 نمایش متغیر به صورت آرایه Do i = 1, 100
a(i) = SQRT(a(i))
End do
جزییات حلقه فوق به صورت زیر است:
a(1) = SQRT(a(1))
a(2) = SQRT(a(2))
a(100) = SQRT(a(100)) 4 دستور اعلام متغیر اندیسدار Real, Dimension(10) :: X
Character(len = 20), Dimension(50) :: & last_name
آرایه میتواند با یک یا چند بعد معرفی شود. تعداد ابعاد یک آرایه را رتبه (rank) نامند. در مثال فوق رتبه متغیرهای X و last_name برابر یک است.
تعداد عناصر یک بعد را extent آن گویند. در متغیر X برابر 10 و در متغیر last_name برابر 50 است.
ترکیبی از rank و extent هر آرایه را شکل (shape) آن آرایه نامند. بنابراین دو آرایه دارای یک شکل هستند، اگر رتبه و تعداد عناصر هر بعد آرایه با هم یکسان باشد.
به تعداد کل درایههای یک آرایه اندازه (size) آن آرایه گویند. 5 مثال اعلام متغیر اندیسدار، یک بعد و بیش از یک بعد Real, Dimension(100) :: R
Real, Dimension(10,10) :: S
Real :: T(10,10)
Integer, Dimension :: L(2,3)
Integer, Dimension(5) :: A, B(2,3)
Real, Dimension(15) :: X
Real, Dimension(3,5) :: Y, Z
به دو مثال اخیر توجه کنید. متغیر X دارای رتبه یک و متغیرهای Y,Z دارای رتبه دو هستند.
اندازه متغیرهای X و Y,Z با هم برابرند.
متغیرهای X و Y,Z دارای شکل یکسان نیستند.
extent بعد دوم متغیرهای Y,Z برابر 5 است.
6 انواع اندیسها فرم کلی اندیسها به صورت زیر است.
Real,Dimension(lower_bound:upper_bound) :: array
به شرط آن که
lower_bound <= upper_bound
به مثالهای زیر توجه کنید.
Real, Dimension(5) :: a1
Real, Dimension(-2:2) :: b1
Real, Dimension(5:9) :: c1
هر سه آرایه دارای شکل (shape) یکسان هستند. زیرا دارای ابعاد و extent برابرند.
در حالت کلی تعداد درایه در هر بعد را، میتوان با استفاده از رابطه ساده زیر بدست آورد.
Extent = upper_bound – lower_bound+1
Real, Dimension(-2:2, 0:3)
همانطور که ملاحظه میشود هر بعد گستره مربوط به خود را دارد. گستره بعد اول 5 و گستره بعد دوم 4 است. 7 استفاده از عناصر متغیرهای اندیسدار مانند متغیرهای عادی هر درایه از آرایهای را میتوان به صورت یک متغیر معمولی به کار برد. به مثال زیر توجه کنید.
Integer, Dimension(10) :: index
Real, Dimension(3) :: temp
دستورات کاملا درست هستند.
Index(10) = 5
Temp(3) = Real(index(1)) / 4.