Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Pascal Урок 6. Массивы

Mathian

Мастер
Всем Хай!
Я совсем забыл про Массивы! Вот вам урок.
​
[HR][/HR]
Массив - набор однотипных компонентов/элементов, расположенных в памяти непосредственно друг за другом. Доступ к ним осуществляется по индекс(у/ам). В отличие от списка, массив является структурой с произвольным доступом.

Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным, одномерным или вектором.
[HR][/HR]
Объявление одномерных массивов:
Объявить массивы можно как и в разделе переменных:
PHP:
Var Имя_Массива1, Имя_Массива2 : Array [Тип_Индекса] of Тип_Элемент(а/ов);
Так и в разделе констант:
PHP:
Const Имя_Массива: Array [Тип_Индекса] of Тип_Элемент(а/ов) = (Список_Элементов);
Так же и в разделе описания типов:
PHP:
Var Имя_Массива: Тип;
[HR][/HR]
Ввод данных в одномерный массив можно осуществить несколькими способами:
•Оператором Read
•В разделе Констант
•Так же можно заполнить его сгенерировав числа для заполнения функцией "Random"

[HR][/HR]
Оператором Read:
PHP:
For B:=1 to C do
Begin
    Writeln('Введите элемент массива:');
Read (A[B]);

В разделе Констант:
PHP:
Const B = 5;
A:=array [1..B] of integer (-8,0,4,1,3);

Рандомными числами:
PHP:
Randomize;
For B:=1 to C do
A[B] := Random (D-E)*E;

[HR][/HR]
Вывод данных осуществляется за счёт операторов Write и WriteLn. Пример:
PHP:
Program Primer; 
Var a, b, c: array [1..100] of integer;
    I, n: byte; 
Begin 
    Write (‘Введите размерность:’); 
    Readln(n); 
    For i:=1 to n do 
        Readln (a[i]);
    For i:=1 to n do 
        Readln (b[i]);
    For i:=1 to n do 
        C[i]:=a[i]+b[i];
    For i:=1 to n do 
        write (c[i],’ ‘);
end.
[HR][/HR]
Двумерный массив в Паскале трактуется как одномерный массив, тип элементов которого также является массивом (массив массивов). Положение элементов в двумерных массивах Паскаля описывается двумя индексами. Их можно представить в виде прямоугольной таблицы или матрицы.

Пример описания двумерного массива:
PHP:
Type 
Vector = array [1..5] of <тип_элементов>; 
Matrix= array [1..10] of vector; 
Var m: matrix;

Ввод двумерного массива:
Для последовательного ввода элементов одномерного массива мы использовали цикл for, в котором изменяли значение индекса с 1-го до последнего. Но положение элемента в двумерном массиве Паскаля определяется двумя индексами: номером строки и номером столбца. Это значит, что нам нужно будет последовательно изменять номер строки с 1-й до последней и в каждой строке перебирать элементы столбцов с 1-го до последнего. Значит, нам потребуется два цикла for , причем один из них будет вложен в другой.

Пример:
PHP:
type 
   matrix= array [1..5, 1..10] of integer; 
var 
   a, : matrix; 
   i, j: integer; { индексы массива } 
begin 
   for i :=1 to 5 do {цикл для перебора всех строк} 
      for j :=1 to 10 do {перебор всех элементов строки по столбцам} 
         readln ( a [ i , j ]); {ввод с клавиатуры элемента, стоящего в i -й строке и j -м столбце}
Вывод двумерного массива:
PHP:
for i :=1 to 5 do {цикл для перебора всех строк} 
begin 
   for j :=1 to 10 do {перебор всех элементов строки по столбцам} 
      write ( a [ i , j ]:4); {печать элементов, стоящих в i -й строке матрицы в одной экранной строке, при этом для вывода каждого элемента отводится 4 позиции} 
   writeln ; {прежде, чем сменить номер строки в матрице, нужно перевести курсор на начало новой экранной строки} 
end ;
В данном уроке использовались материалы взятые на просторах интернета.
С вами был Лев Попов((Lev_Popov)).
Удачного обучения! xD
 
Последнее редактирование:
Сверху Снизу