Программирование на языке Turbo Pascal


Тип массива


Описание  массива

1 способ

2 способ

одномерный:

Type t=array[1..n] of тип;

 Var a:t;



Var a: array[1..n] of тип;

двухмерный

Type р=array[1..n,1..m] of тип; Var a:р;

Var а=array[1..n,1..m] of тип;

трехмерный

Type р=array[1..n,1..m,1..k] of тип; Var a:р;

Var a=array[1..n,1..m,1..k] of

Пример описания одномерного массива размерностью 20:

type mas=array[1..20] of integer;

var a : mas;

mas – имя типа,

a – имя переменной типа массив.

Границы изменения индексов - от 1 до 20,  т.к. размерность 20 элементов

const mas : array [1..7]

         of byte=(31,–7,4,3,25,–3,2);

Массив, объявленный как константа, т.е. совмещается объявление массива и занесение в него констант.

Следует помнить, что значением переменной a является весь массив!

Элемент массива обозначается указанием имени массива, за которым в квадратных скобках следует индекс массива. Например, a[1] – первый элемент одномерного массива; с[5] – пятый элемент одномерного массива; a[i] – i-тый элемент одномерного массива или для двухмерных массивов: с[1,5] – пятый элемент первой строки массива; a[i,j] – j-тый элемент i-й строки двухмерного массива.

В двухмерном массиве первый индекс - номер строки, второй - номер столбца.

Двухмерные массивы иногда называют матрицами. Двухмерные массивы могут быть прямоугольными (количество строк и столбцов разное) или квадратными (одинаковое количество строк и столбцов).   В двухмерных массивах элементы, у которых номер строки совпадает с номером столбца, называются диагональными или элементами главной диагонали. Главная диагональ начинается  с первой с роки первого столбца и заканчивается на последней строке последней графы. Кроме главной диагонали существует побочная диагональ - с последней графе первой строки до первой графы последней строки.

Базовые алгоритмы работы с одномерными массивами

Будем считать, что объявили массив из 10 элементов, тип элементов в данном случае значение не имеет:

1.      заполнение одномерного массива:

  • заполнение с клавиатуры:

  • for i:=1 to 10 do

    begin

    writeln (‘Введите значение элемента’);

    readln(a[i]);

    end;

    • заполнение случайным образом:


    • for i:=1 to 10 do

      a[i]:=random(n); {n должно быть задано заранее}

      • заполнение натуральными числами:


      • for i:=1 to 10 do

        a[i]:=i;

        • поменять местами два заданных элемента массива:


        • c:=a[i]; a[i]:= a[j]; a[j]:=c;

          • заполнение по формуле (например, ai=sin i):


          • for i:=1 to 10 do

            a[i]:=sin(i);

            2.      вывод массива на экран:

            for i:=1 to 10 do

            writeln (‘элемент ’, i, ‘ массива ’,a[i]);

            3.      нахождение суммы элементов одномерного массива:

            s:=0;

            for i:=1 to 10 do

            s:=s+a[i];

            4.      подсчёт количества элементов, удовлетворяющих заданному условию (например, положительных элементов):

            k:=0;

            for i:=1 to 10 do

                              if a[i]>0 then k:=k+1;

            5.      поиск максимального элемента одномерного массива и его номера:

            max:=a[1];

            n:=1;

            for i:=2 to 10 do

            if a[i]>max then begin  max:=a[i]; n:=i;  end;


            Содержание раздела