اموزش Qbasic (ارایه ها)
آرایه ها
معرفی آرایه .
فرض کنید می خواهیم n عدد را به صورت صعودی مرتب
کنیم . برای ذخیره سازی این اعداد باید n متغیر به نام های a1,a2,a3,...,an تعریف
کنیم .
نوشتن برنامه ای که بتواند این n عدد را مرتب کند مخصوصا زمانی که مقدار n
بزرگ باشد ، بسیار مشکل و تقریبا غیر ممکن است . در چنین مواردی از آرایه ها یا
ماتریس ها استفاده می کنیم . به کمک آرایه ها می توان تعداد مشخصی متغیر همنوع را
فقط با یک نام و مشخص کردن اندیس آنها به کار برد . برای مثال می توان ده عدد را در
متغیری به نام N از نوع آرایه ای به طول 10 ذخیره کرد
:
325
145
23
965
3
47
10
0
71
400
N
1 2 3 4 5 6 7 8 9 10
مثلا N(1)=325 و N(9)=71
برای تعریف آرایه از دستور DIM به شکل
کلی زیر استفاده می شود :
[ نوع داده AS ] (دامنه یا تعداد عناصر ) نام متغیر
آرایه DIM
( عبارت داخل [ ] اختیاری است )
به مثال های زیر توجه کنید
:
ایجاد آرایه ای به نام B و دارای 20 عنصر : (DIM B(1 TO 20 یا (DIM
B(20
ایجاد آرایه ای به نام M از نوع عدد صحیح و دارای 50 عنصر : (DIM
M%(50
ایجاد آرایه ای به نام Grade از نوع اعشاری ساده دارای 35 عنصر : DIM
Grade(35) AS SINGLE
مثال 1 : برنامه ای بنویسید که ۱۴ نمره یک دانش آموز را در آرایه ذخیره کرده و مجموع و میانگین نمرات را چاپ کند .
DIM Grade(1 TO 14 ) AS INTEGER
sum!=0
FOR i=1 TO
14
(%INPUT "Grade : "Grade(i
(%sum! = sum! + Grade(i
NEXT
i
average!=sum!/14
!PRINT "sum = ";sum
!PRINT "average =
";average
این برنامه را می توانستید با دریافت نمرات در حلقه یا دریافت تک تک نمرات (۱۴ بار) نیز بنویسید . اما فرض کنید کاربر بخواهد نمره سوم یا ششم خود را مشاهده کند . در این صورت باید از آرایه ها استفاده کنید زیرا در روش قبلی امکان دسترسی به تک تک اطلاعات وجود نداشت ولی حالا با افزودن قطعه کد زیر به برنامه بالا می توان برنامه ای ساخت که نمره دلخواه کاربر را نمایش دهد :
INPUT "which grade do you want to see?",a
(PRINT "grade ";a;" is
= ";Grade(a
آرایه های دوبعدی و چند بعدی :
در مواقعی نیاز به آرایه هایی داریم که هر عنصر آن دارای دو بعد باشد . مثلا برای ذخیره مختصات چند نقطه نیاز به یک آرایه دو بعدی داریم تا مختصات x و y نقطه را ذخیره کنیم . تعریف آرایه های n بعدی به طور کلی به شکل زیر است : (A1,A2,A3,...,An و B1,B2 و ... همگی عدد هستند )
(DIM (A1 TO A2,B1 TO B2, ... , Z1 TO Z2 یا (DIM (A1,A2,A3,...,An
مثال ۲ : برنامه ای بنویسید که جدول ضرب اعداد از یک تا ده را در یک آرایه دوبعدی ذخیره نماید .
(DIM N(10,10
FOR I%=1 TO 10
FOR J%=1 TO
10
%N(I%,J%)=I%*J
%NEXT J
%NEXT I
مثلا N(3,5)=15 .
- ۹۳/۰۸/۲۳
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.