Робота з масивами в Pascal

23.10.2015 0 By svvas

Масив – структурний тип даних, який складається з фіксованого числа елементів одного і того ж типу.

Одновимірні масиви

Одновимірний масив – це лінійна сукупність елементів одного типу. Кількість елементів задається під час опису масива і не змінюється на протязі виконання програми.
Методи опису масивів.
1) var ім’я масиву:array[m..n] of тип елементів масиву;
де m,n – цілі числа.
Наприклад
A:array[1..9] of integer;
C:array[4..12] of real;
2) type ім’я типу=array[m..n] of тип компонент масиву
var ім’я масиву:ім’я типу;
Наприклад:
type TAB=array[1..9] of integer;
var A:TAB;
При зверненні до елементів масиву необхідно вказувати ім’я масиву і номер елемента
(індекс).
Наприклад:
А[4], A[8], C[11]
Введення і виведення елементів масиву здійснюється поелементно, тому для введення і виведення елементів масиву використовують оператори циклу.

Наприклад: Знайти добуток елементів масиву
Program DOBUTOK;
Var A:array[1..9] of real;
d: real;
i: integer;
Begin
For i:=1 to 9 do
begin
writeln(‘Введіть елементи масиву’);
write(‘A[‘,i,’]=‘);
readln(A[i]);
end;
{Обчислення добутку}
d:=1;
For i:=1 to 9 do d:=d*a[i];
{Вивід добутку на екран}
writeln(‘d=‘,d)
End.

Двовимірні масиви

Двовимірні масиви являють собою таблицю, яка складається з m-рядків та n-стовпчиків. Двовимірний масив можна замінити сукупністю двох одновимірних масивів.
Описують двовимірний масив майже так само, як і одновимірний.
var ім’я масиву:array[m..k,n..h] of тип елементів масиву;

Впорядкування елементів масиву

Інколи виникає необхідність впорядкувати елементи масиву в порядку зростання чи спадання. Для розв’язування даних задач використовують декілька методів:
1. Метод бульбашок
Метод “бульбашок” оснований на порівнянні двох сусідніх елементів, якщо числа в парі розміщені в порядку зростання (спадання взалежності від умови задачі) то залишаємо їх без змін, якщо ні, то міняємо їх місцями. Недоліком даного методу являється надмірна кількість переглянутих пар елементів.Щоб уникнути цього використовують допоміжну змінну в якій фіксується кількість перестановок, якщо ця кількість рівна нулю перегляд закінчується – масив впорядковано.

Program Sort1;
var a:array[1..15] of real;
j,i,n:integer;
m:real;
begin
read(n);
for i:=1 to n do
readln(a[i]);
for j:=1 to n-1 do
begin
for i:=1 to n-j do
if a[i]>a[i+1] then
begin
m:=a[i];
a[i]:=a[i+1];
a[i+1]:=m
end;
end;
for i:=1 to n do writeln (a[i]:1);
end.

2. Впорядкування елементів масиву методом вибору мінімального елемента.
Сортування вибором проводять в наступному порядку:
1.Визначити номер мінімального елемента масиву.
2.Поміняти місцями мінімальний і перший елементи масиву.
3.Повторити виконання пунктів 1 і 2 для залишку масиву (без першого елемента).
4.Виконувати пункти 1 і 2 поки залишок масиву не скоротиться до одного елемента.
Розлянемо порядок сортування для масиву А[5], який містить елементи – 4,5,1,2,3.
4 5 1 2 3
1 5 4 2 3
1 2 4 5 3
1 2 3 5 4
1 2 3 4 5

Program Sort2;
var F:array[1..5] of integer;
i,j,min,k:integer;
begin
{Блок введення елементів масиву}
writeln(‘Введіть елементи масиву’);
for i:=1 to 5 do
begin
write(‘F[‘,i,’]=‘);
readln(f[i]);
end;
{Блок сортування елементів масиву}
for i:=1 to 5 do
begin
min:=f[i];
k:=i;
j:=i+1;
while j<=5 do
begin
if min > f[j] then
begin
min:=f[j];
k:=j;
end;
j:=j+1;
end;
f[k]:=f[i];
f[i]:=min;
end;
{виведення відсортованого масиву}
Writeln(‘Масив після сортування’);
for i:=1 to 5 do
write(f[i]:4);
End.

Comments

comments