Problem

2/10

配列要素へのアクセス

Theory Click to read/hide

配列要素の参照

配列の有用性の多くは、その要素に個別にアクセスできるという事実から生まれます。
これを行う方法は、インデックスを使用して要素に番号を付けることです。
インデックス は、特定の配列要素を指す値です。

覚えておいてください!
パスカルの配列の番号付けはゼロから始まります!

(これは必須です。最初から始める必要があります。これは特に覚えておくことが重要です)

配列 A へのアクセスの例: <プレ> x := (A[3] + 5) * A[1] // A[3] と A[1] の値を読み取る A[0] := x + 6 // 新しい値を A[0] に書き込みます 配列要素を操作するプログラムを分析してみましょう。 <プレ> 変数 i: 整数; a: 整数の配列。 始める     i := 1;     setlength(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: 整数の配列。 始める     setlength(a, 5);     a[5] := 5; a[-1] := 0; 終わり。

なぜなら配列は 5 つの要素で宣言されているため、要素には 0 から 4 までの番号が付けられます  6 行目のプログラムが存在しない要素を参照していることがわかります。 [5] そして 7 行目で、同じく存在しないa[-1] に移動します。

プログラムが配列の範囲を超えていたことが
判明しました。 範囲外の配列は、配列内に存在しないインデックスを持つ要素にアクセスしています。
このような場合、通常、プログラムは実行時エラー
でクラッシュします。

 
 

Problem

8 行目から 11 行目で、インデックス 1 から 4 の配列要素を前の配列要素の値の 2 倍に設定します。 
このタスクでは、特定の番号を割り当てることはできません。配列の前の要素を名前とインデックスで参照する必要があります
つまり、エントリ a[1] = 46 は正しくないと見なされます。