Problem

2/10

دسترسی به یک عنصر آرایه

Theory Click to read/hide

ارجاع به عنصر آرایه

بیشتر سودمندی آرایه ها از این واقعیت ناشی می شود که عناصر آن به صورت جداگانه قابل دسترسی هستند.
روش انجام این کار استفاده از یک شاخص برای شماره گذاری عناصر است.
شاخص مقداری است که به عنصر آرایه خاصی اشاره می کند

به یاد داشته باشید!
شماره گذاری آرایه ها در پاسکال از صفر شروع می شود!

(این امر اجباری است &mdash؛ باید از ابتدا شروع کنید. یادآوری این نکته به ویژه مهم است)

نمونه هایی از دسترسی به آرایه A: <پیش> x := (A[3] + 5) * A[1] // خواندن مقادیر A[3] و A[1] A[0] := x + 6 // مقدار جدید را به A[0] بنویسید بیایید برنامه کار با عناصر آرایه را تجزیه و تحلیل کنیم. <پیش> var i: عدد صحیح; الف: آرایه ای از اعداد صحیح؛ شروع     من := 1;     استقرار (a, 5); //ایجاد یک آرایه از 5 عنصر      a[0] := 23; // به هر یک از 5 عنصر آرایه (شاخص های 0 تا 4)     a[1] := 12; // یک مقدار خاص بنویسید     a[2] := 7;     a[3] := 43;     a[4] := 51;     a[2] := a[i] + 2 * a[i - 1] + a[2 * i]; // مقدار عنصر را با شاخص 2 به نتیجه عبارت تغییر دهید     // زیرا i=1، سپس مقدار متغیر i را با عبارتی که بدست می آوریم جایگزین می کنیم     // عبارت بعدی  a[2] := a[1] + 2*a[0] + a[2];     writeln(a[2] + a[4]); پایان.
در نتیجه اجرا این برنامه مقدار مجموع عناصر آرایه با شاخص 2 و با اندیس 4 برابر با 116 روی صفحه ظاهر می شود. همانطور که از مثال می بینید، ما می توانیم به هر عنصر آرایه دسترسی داشته باشیم . و همچنین تعداد مورد نیاز عنصر را با استفاده از فرمول های مختلف محاسبه کنید (مثلاً مانند برنامه A[i-1] یا A[2*i]، در این موارد، شاخص های عناصر محاسبه می شود و بستگی به مقدار i.)

بیایید به یک برنامه نمونه نگاه کنیم <پیش> var a: آرایه عدد صحیح؛ شروع     استقرار (a, 5);     a[5] := 5; a[-1] := 0; پایان.

چون آرایه با 5 عنصر اعلام شده است، بنابراین عناصر از 0 تا 4 شماره گذاری می شوند. می بینیم که برنامه در خط 6 به عنصری اشاره دارد که وجود ندارد а [5] و در خط هفتم به خط نیز وجود ندارد a[-1].

به نظر می رسد که برنامه از مرزهای آرایه فراتر رفته است
آرایه خارج از محدوده دسترسی به عنصری با شاخصی است که در آرایه وجود ندارد.
در چنین مواردی، برنامه معمولاً با خطای زمان اجرا
از کار می افتد.

 
 

Problem

در خطوط 8 تا 11، عناصر آرایه را در اندیس 1 تا 4 قرار دهید تا دو برابر مقدار عنصر آرایه قبلی باشد. 
در این کار نمی توانید اعداد خاصی را اختصاص دهید، باید به عنصر قبلی آرایه با نام و شاخص مراجعه کنید
یعنی ورودی a[1] = 46 نادرست در نظر گرفته خواهد شد.