Problem

2/10

Bir dizi öğesine erişme

Theory Click to read/hide

Bir dizi öğesine başvurma

Dizilerin kullanışlılığının çoğu, öğelerine ayrı ayrı erişilebilmesi gerçeğinden gelir.
Bunu yapmanın yolu, elemanları numaralandırmak için bir dizin kullanmaktır.
Dizin , belirli bir dizi öğesine işaret eden bir değerdir

Unutmayın!
PASCAL'DA DİZİLERİN NUMARALANDIRILMASI SIFIRDAN BAŞLAR!

(Bu zorunludur — sıfırdan başlamalısınız. Bunu unutmamak özellikle önemlidir)

A dizisine erişim örnekleri:
x := (A[3] + 5) * A[1] // A[3] ve A[1] değerlerini oku
A[0] := x + 6 // A[0]'a yeni değer yaz
Dizi öğeleriyle çalışmak için programı analiz edelim.
var i: tamsayı;
a: tamsayı dizisi;

başlamak
    ben := 1;
    ayar uzunluğu(a, 5); //5 elemanlı bir dizi oluştur 
    a[0] := 23; // dizinin 5 öğesinin her birine (0'dan 4'e kadar dizinler)
    a[1] := 12; // belirli bir değer yaz
    a[2] := 7;
    a[3] := 43;
    a[4] := 51;
    a[2] := a[i] + 2 * a[i - 1] + a[2 * i]; // indeksi 2 olan elemanın değerini ifadenin sonucuna değiştir
    // çünkü i=1, sonra i değişkeninin değerini elde ettiğimiz ifadede değiştiriyoruz
    // sonraki ifade  a[2] := a[1] + 2*a[0] + a[2];
    writeln(a[2] + a[4]);
son.


Çalışma sonucunda bu program 116'ya eşit indeks 2 ve indeks 4'e sahip dizinin elemanlarının toplamının değeri ekranda görünecektir. Örnekten de görebileceğiniz gibi dizinin herhangi bir elemanına ulaşabiliyoruz. . Ayrıca gerekli eleman sayısını çeşitli formüller kullanarak hesaplayın (örneğin, A[i-1] veya A[2*i] programında olduğu gibi, bu durumlarda elemanların indeksleri hesaplanacak ve i'nin değeri.)

Örnek bir programa bakalım
var a: tamsayı dizisi;

başlamak
    ayar uzunluğu(a, 5);
    a[5] := 5;
    bir[-1] := 0;
son.

Çünkü dizi 5 öğeyle bildirildiği için öğeler 0'dan 4'e kadar numaralandırılacaktır. 6. satırdaki programın var olmayan bir öğeye gönderme yaptığını görüyoruz а [5] ve 7. satırda yine var olmayan a[-1].

Programın dizinin sınırlarını aştığı ortaya çıktı
Dizi sınırların dışında, dizide olmayan bir dizine sahip bir öğeye erişiyor.
Bu gibi durumlarda, program genellikle çalışma zamanı hatası
vererek çöker.

 
 

Problem

8'den 11'e kadar olan satırlarda, 1'den 4'e kadar olan dizinlerdeki dizi öğelerini önceki dizi öğesinin değerinin iki katına ayarlayın. 
Bu görevde belirli numaralar atayamazsınız, dizinin bir önceki elemanına isim ve indeks ile başvurmalısınız
Yani, a[1] = 46 girişi yanlış kabul edilecektir.