آرایههای پویا در پاسکال شیگرا

آرایههای پویا در پاسکال شیگرا
یک آرایه متغیری است که یک نوع دادهای را به تعداد مشخصی تکرار میکند
هر نوع دادهای بدون توجه به این که توسط برنامه نویس تعریف شده باشد یا استاندارد باشد
می تواند به آرایه گسترش داده شود در حقیقت اگر به چند متغیر هم نیاز داشته باشید
( مثلا Integer ) که به نحوی با یکدیگر در ارتباط باشند بهتر است از آرایه استفاده کنید
در زبان پاسکال تعداد عناصر آرایه را در هنگام معرفی آن مشخص میکردید که به آن آرایه ایستا گفته میشود
برای مثال تعریف زیر یک آرایه ایستا را معرفی میکند
MyArray:array [1..10]of integer;
توجه داشته باشید که مقدار حافظه مصرفی آرایههای ایستا در هنگام معرفی مشخص میشود
و در زمان اجرا غیر قابل تغییر است در زبان پاسکال شیگرا علاوه بر آرایههای ایستا قادر به استفاده از آرایههای پویا نیسر خواهید بود
آرایه پویا به آرایهای گفته میشود که در هنگام معرفی تعداد عناصر آن مشخص نمیشود
لذا مقدار حافظه مصرفی آن در هنگام اجرای برنامه مشخص میشود
و قابل تغییر نیز خواهد بود در صورتی که تجریه استفاده از آرایههای ایستا را داشته باشید
متوجه شده اید که چه قابلیت فوق العادهای به پاسکال شیگرا اضافه شده است
زیرا در بسیاری از موارد در هنگام اجرای برنامه نیاز به تغییر تعداد عناصر آرایه داشته اید
برای مثال تعریف زیر یک آرایه پویا را معرفی میکند
MyArray:array of integer;
همان طور که مشاهده میکنید در تعریف فوق تعداد عناصرآرایه مشخص نشده است
لذا شما میتوانید در هنگام اجرای برنامه با استفاده از تابع SetLength اقدام به تعیین تعداد عناصر آرایه کنید
SetLength (MyArrary,10);
نکـــــــــته |
---|
در حقیقت آرایه پویا به آرایهای اطلاق میشود که حافظه مصرفی آن در هنگام اجرای برنامه مشخص میشود هم چنین تعداد عناصر آرایههای پویا را میتوان بر اساس نیاز برنامهها در هنگام اجرا بیشتر یا کمتر کرد |
در صورتی که هنگام اجرای برنامه اقدام به تعیین عناصر آرایه نموده
و مجددا در بخش دیگری از برنامه نیاز به اضافه نمودن تعداد عناصر داشته باشید
میتوانید از تابع Copy استفاده کنید
برای مثال اگر در برنامه تان با استفاده از عبارت زیر :
SetLength(MyArray,10);
تعداد عناصر آرایه پویا را با ده عنصر تعیین نموده باشید
میتوانید در بخش دیگری از کد برنامه تان با استفاده از عبارت زیر :
Copy (MyArray,20);
تعداد عناصر آرایه را گسترش دهید توجه داشته باشید که با انجام این عمل مقادیر عناصر قبلی بدون تغییر باقی مانده و عناصر جدیدی به آرایه اضافه خواهد شد
هم چنین پیاده سازی آرایههای چند بعدی میز استفاده از آرایههای پیو امکان پذیر است
برای مثال عبارت زیر باعث ایجاد آرایه دو بعدی در حافظه میشود
SetLength(MyArray,3,2);
اگر بخواهید چنین آرایهای را به صورت ایستا ایجاد کنید
کد مورد نظر میتواند به صورت زیر باشد
MyArray : array[1..3,1..2] of integer;
توجه داشته باشید که نحوه دسترسی به عناصر آرایههای ایستا و پیوا یکسان است
Myarray[2][1]:123;
یا
MyArray[2,1]: =123;