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 div>
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.
Запрещенные операторы: 46