Массивы в Паскаль.

Построение структур данных

Данные бывают двух видов:

  1. Простейшие данные – элементы данных, являющиеся неделимыми (числа, строки, знаки). Для простейших данных существуют стандартные типы (Integer,Real, Char, String, Boolean).
  2. Структурированные данные – это структуры, состоящие из нескольких простейших данных. Определяются пользователем в программе при помощи двух конструкций:
  1. Массив – структура однотипных данных с индексированным доступом.
  2. Запись – структура данных с доступом по идентификатору.

Массивы

Массив – структура однотипных данных с индексированным доступом. Каждый элемент массива получает один или несколько номеров, называемых индексами. Индексы записываются в квадратных скобках через запятую.

Массивы бывают следующих видов:

  1. Одномерные – каждый элемент массива получает два индекса (пр. [2,3]).
  2. Многомерные – каждый элемент получает более 2-х индексов (пр. [1,1,k]).

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

Каждый из индексов массива находится в некотором диапазоне (<нач. элемент>…<кон. элемент>). Причем конечный элемент больше либо равен начальному элементу. В качестве диапазона можно использовать: Integer, Char, Boolean.

Массив в языке Паскаль это сложный тип данных, поэтому чаще всего его описывают в разделе переменных.

Var <переем. массив>: array[<диапазон 1>..<диапазон N>]

Of <тип переменной>;

Пример: список студентов группы

Var Spisok: array[1..40] String[20];

Получение элементов массива

Каждый элемент массива — это переменная, которой можно присваивать значения в операторах и функциях. Для того, чтобы указать элемент массива, необходимо записать все его индексы.

<перем. массив>[<индекс>,..,<индекс N>]

Пример:

Spisok[1]:=’Иванов’;

Ввод массива с клавиатуры

Массив нельзя ввести с клавиатуры одной командой, для этого организовывается цикл с параметром. Для того чтобы обеспечить правильный ввод массива, необходимо соблюдать следующий алгоритм:

<приглашение к вводу массива>;

<ввод количества элементов массива>;

For i:=1 to <кол-во элементов> do

Begin

<приглашение к вводу i-го элемента>;

<ввод i-го элемента>;

End;

Пример:

WriteLn (‘ввод списка студентов’);

WriteLn (‘введите количество студентов’);

ReadLn (kolvo);

For i:=1 to kolvo do

Begin

WriteLn (i,’ ’);

ReadLn (spisok[i]);

End;

Вывод массива на экран

  1. Вывод в строку. При выводе массива в строку нужно использовать Write, которая будет находиться в цикле с параметром, а после цикла нужно поставить WriteLn.

Пример:

For i:=1 to kolvo do

Write(spisok[i],’ ‘);

WriteLn;

  1. Вывод массива в столбец. При выводе в столбец в цикле указывается WriteLn, причем для массивов, содержащих числа, следует также указывать количество знаков при выводе на экран.

Пример:

For i:=1 to kolvo do

Write (i:2,’. ’,spisok[i]);

Действия с массивами

Над массивами нельзя выполнять арифметические действия (вычитать, складывать и др.). Все действия выполняются поэлементно.

Пример: Написать программу, которая выполняет поэлементное суммирование массивов A и B.

Program Summ;

Var A,B Array [1..10] of Integer;

Kolvo:Integer;

C: Array [1..10] of Integer;

i: Integer;

Begin

WriteLn (‘введите количество элементов массивов’);

ReadLn (Kolvo);

WriteLn (‘введите элементы маcсива A’);

For i:=1 to Kolvo do

begin

Write(i, ‘) ’);

ReadLn (A[i]);

end;

WriteLn (‘введите элементы маcсива B’);

For i:=1 to Kolvo do

begin

Write(i, ‘) ’);

ReadLn (B[i]);

end;

For i:=1 to Kolvo do

C[i]:= A[i]+B[i];

For i:=1 to Kolvo do

Writeln (C[i]:5);

End.

Двухмерные массивы

Ввод построчно

<приглашение ввода массива>;

<цикл по строкам>;

Begin

<приглашение ввода строки>;

<цикл по столбцам>;

Begin

<приглашение ввода элемента>;

<ввод элемента массива>;

End;

End.

Ввод по столбцам

<приглашение ввода массива>;

<цикл по столбцам>;

Begin

<приглашение ввода столбца>;

<цикл по строкам>;

Begin

<приглашение ввода элемента>;

<ввод элемента массива>;

End;

End

 

 

назад

. одномерные и двухмерные масивы паскаль
. все о массивах
Комментирование и размещение ссылок запрещено.