
- •Оглавление
- •Комбинированный урок №8
- •Массивы. Одномерные массивы. Понятие о массиве
- •Описание массивов
- •Var имя массива : имя типа;
- •Var имя массива:Array[t ,t1,...,tn ] Of тип элементов;
- •Действия над элементами массива
- •Использование значений массивов, ввод и вывод значений массивов
- •Двумерные массивы
- •Полная переменная
- •Примеры использования массивов
- •Контрольные вопросы
Действия над элементами массива
После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись Mas[2], Vector[10] позволяет обратиться ко второму элементу массива Mas и десятому элементу массива Vector. При работе с двумерным массивом указываются два индекса, с n-мерным массивом - n индексов. Например, запись Matr[4,4] делает доступным для обработки значение элемента, находящегося в четвертой строке четвертого столбца массива Matr.
Индексированные элементы массива называются индексированными переменными и могут быть использованы так же, как и простые переменные. Например, они могут находиться в выражениях в качестве операндов, использоваться в операторах for, while, repeat, входить в качестве параметров в операторы Read, Readin, Write, Writeln; им можно присваивать любые значения, соответствующие их типу.
Рассмотрим типичные ситуации, возникающие при работе с данными типа array. Для этого опишем три массива и четыре вспомогательные переменные:
Var
A,D : array[l..4] of real;
В : array[1..10,1..15] of integer;
I, J, К : integer;
S : real;
Инициализация (присваивание начальных значений) массива заключается в присваивании каждому элементу массива одного и того же значения, соответствующего базовому типу. Наиболее эффективно эта операция выполняется с помощью оператора for, например:
Инициализация элементов одномерного массива А:
for I := 1 to 4 do A[I] := 0;
Для инициализации двумерного массива обычно используется вложенный оператор for, например:
Инициализация двумерного массива В:
for I := I to 10 do
for J := 1 to 15 do B[I,J]:= 0;
Использование значений массивов, ввод и вывод значений массивов
Для ссылки на отдельные элементы массива используется переменная с индексом: Имя массива[индекс]. Чтобы получить доступ к конкретному элементу массива, в качестве индекса можно использовать не только целое число, соответствующее порядковому номеру этого элемента в массиве, но и выражение, значение которого равно упомянутому целому числу.
Например, при обращении к элементам некоторого массива "A: Array[1..100] of Real", в качестве индекса можно использовать любое арифметическое выражение, значением которого будет целое число из диапазона 1..100:
A[56]; A[i+7]; A[i div j] .
Можно ввести и значения отдельных элементов, а не всего массива. Так, операторами:
Read(A[3]); { ввод значение третьего элемента вектора А }
Read(B[6,9]);{ ввод значение элемента, расположенного в шестой строке девятого столбца матрицы В }
Оба значения набираются на одной строке экрана, начиная с текущей позиции расположения курсора.
Вводить и выводить значения из массивов целесообразно поэлементно, используя в цикле операторы Readln, Write, Writeln и оператор присваивания.
Program Vvod_Vivod; |
|
Var i:integer; |
|
A:Array[1..20] of Real; |
|
B:Char; |
|
Begin |
|
Writeln('Введите числа в массив: '); |
|
FOR i:=1 TO 20 DO |
|
begin Write('A[',i,']= '); Readln(A[i]) end; |
|
Writeln('Массив заполнен, будете выводить'); |
|
Write('значения на экран? ("Y"-да, "N"-нет)=>'); |
|
Readln(B); |
|
IF UpCase(B)="Y" THEN |
{если прописной вариант введенной} |
FOR i:=1 TO 20 DO Writeln('A[',i,']=',A[i]:6:2); |
{буквы является "Y", то} |
Readln |
|
End. |
|