سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره آموزش جامع برنامه نویسی کامپیوتر در خدمت شما هستیم.
در این جلسه قصد داریم به آموزش آرایه ها در برنامه نویسی بپردازیم.
آرایه ها متغیر هایی هستند که میتوانند چندین داده هم نوع را در خود ذخیره کنند.
موقعیتی را در نظر بگیرید که لازم دارید ۵ متغیر از نوع int داشته باشید.
اگر از متغیر های ساده که در جلسات قبل آموختیم بخواهیم استفاده کنیم، نیاز به تعریف ۵ متغیر جداگانه داریم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main() { int number1; int number2; int number3; int number4; int number5; number1 = 10; number2 = 20; number3 = 30; number4 = 40; number5 = 50; printf( "number1: %d\n", number1); printf( "number2: %d\n", number2); printf( "number3: %d\n", number3); printf( "number4: %d\n", number4); printf( "number5: %d\n", number5); } |
حال اگر نیاز به ۱۰۰ متغیر داشته باشید چه؟ خب استفاده از این روش عاقلانه به نظر نمیرسد.
راه حل استفاده از آرایه ها است.
همانطور که گفتیم آرایه ها برای ذخیره مجموعه ای از داده ها (بهتر بگوییم متغیر های هم نوع) است.
اندازه هر آرایه برابر با تعداد داده های موجود در آن است که با استفاده از اندیس آرایه میتوانیم به این داده ها دسترسی پیدا کنیم.
برای ساخت آرایه در زبان C، ابتدا نوع داده هایی که آرایه میخواهد ذخیره کند را مینویسیم.
سپس نام آرایه و بعد از براکت [] را قرار میدهیم. داخل براکت نیز اندازه آرایه را مشخص میکنیم.
1 | type arrayName [ arraySize ]; |
در مثال زیر یک آرایه با اندازه ۱۰ و از نوع int ایجاد میکنیم.
1 | int number[10]; |
برای مقداردهی آرایه ها روش های متفاوتی وجود دارد.
یک روش مقداردهی در هنگام تعریف آرایه است. در این روش مقادیر را داخل {} آورده و با , از یکدیگر جدا میکنیم:
1 | int number[5] = {10, 20, 30, 40, 50}; |
روش دیگر مانند روش بالا است با این تفاوت که میتوانیم اندازه آرایه را مشخص نکینم:
1 | int number[] = {10, 20, 30, 40, 50}; |
روش دیگر مقدار دهی به تک تک عناصر آرایه است. در مثال زیر مقدار عنصر یا خانه ۴ آرایه (اندیس ۴) را برابر با ۵۰ قرار میدهیم:
1 | number[4] = 50; |
برای دسترسی به عناصر آرایه از اندیس استفاده میکنیم.
برای مثال در کد زیر مقدار عنصر دهم (شمارش عناصر در آرایه از صفر شروع میشود) آرایه numbers را در متغیر var ذخیره میکنیم.
1 | int var = number[9]; |
برنامه زیر نیز مثال جامعی از ایجاد، مقدار دهی و دسترسی به عناصر آرایه با استفاده از حلقه های تکرار در زبان C را نشان میدهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main () { int number[10]; int i = 0; while( i < 10 ) { number[ i ] = i + 100; i = i + 1; } i = 0; while( i < 10 ) { printf("number[%d] = %d\n", i, number[i] ); i = i + 1; } return 0; } |
خروجی:
1 2 3 4 5 6 7 8 9 10 | number[0] = 100 number[1] = 101 number[2] = 102 number[3] = 103 number[4] = 104 number[5] = 105 number[6] = 106 number[7] = 107 number[8] = 108 number[9] = 109 |
نحوه تعریف آرایه ها در جاوا مقداری با زبان C فرق دارد.
اما نحوه دسترسی مانند زبان C است.
برای مثال از کلمه کلیدی new برای ساخت آرایه در جاوا استفاده میشود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class DemoJava { public static void main(String []args) { int[] number = new int[10]; int i = 0; while( i < 10 ) { number[ i ] = i + 100; i = i + 1; } i = 0; while( i < 10 ) { System.out.format( "number[%d] = %d\n", i, number[i] ); i = i + 1; } } } |
خروجی:
1 2 3 4 5 6 7 8 9 10 | number[0] = 100 number[1] = 101 number[2] = 102 number[3] = 103 number[4] = 104 number[5] = 105 number[6] = 106 number[7] = 107 number[8] = 108 number[9] = 109 |
پایتون ساختمان داده ای به نام آرایه ندارد. در عوض از ساختما داده ی دیگری به نام list استفاده میکند که مانند آرایه است.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # Following defines an empty list. number = [] i = 0 while i < 10: # Appending elements in the list number.append(i + 100) i = i + 1 i = 0 while i < 10: # Accessing elements from the list print "number[", i, "] = ", number[ i ] i = i + 1 |
خروجی:
1 2 3 4 5 6 7 8 9 10 | number[ 0 ] = 100 number[ 1 ] = 101 number[ 2 ] = 102 number[ 3 ] = 103 number[ 4 ] = 104 number[ 5 ] = 105 number[ 6 ] = 106 number[ 7 ] = 107 number[ 8 ] = 108 number[ 9 ] = 109 |
جلسه آموزش آرایه ها در برنامه نویسی نیز به پایان رسید.
در جلسه بعد نیز به آموزش رشته ها در برنامه نویسی خواهیم پرداخت.