Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Приклади роботи з масивами




Масив. Порядок роботи з масивом.

План

2. Поняття одновимірного масиву.

3. Поняття двовимірного масиву.

1. Масив. Порядок роботи з масивом.

Масив це структурований тип даних значенням якого є скінченний набір пронумерованих однотипних елементів.

Масив визначається ім'ям (ідентифікатором) і кількістю індексів (номерів), що потрібні для визначення місцезнаходження необхідного елементу масиву. Ім'я масиву є єдиним для всіх його елементів.

Оскільки конфігурація елементів масиву фіксована, то до окремого елементу можна звертатися за допомогою одного або кількох індексів. У якості індексів можуть використовуватися константи та змінні порядкових типів. Елементами можуть бути як прості змінні будь-яких типів, так і змінні складених типів (масивів, рядків і т.і.), тобто мають право на життя масив масивів, масив рядків і т.і.

Перевага масиву ще й у тому, що всі його елементи в пам'яті зберігаються по сусідству, в той час як одиничні елементи простого типу не гарантують такого розташування даних у пам'яті.

Порядок роботи з масивом:

· оголосити про масив у розділі описів, вказавши його розмір і тип елементів, що в нього входять (тобто приготувати місце в пам'яті, де будуть зберігатися значення елементів);

· заповнити необхідними значеннями масив для розв'язування задачі;

· якщо треба, вивести масив на екран для зорової перевірки роботи з ним.

· робота з даним масивом;

· виведення отриманих результатів.

Під час розв'язування задач, як правило, використовуються одновимірні та двовимірні масиви. Масиви більшої розмірності на практиці майже не зустрічаються.

 

2. Поняття одновимірного масиву.

 

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

Кожному елементу ставиться у відповідність один індекс.

Масив А

напрямок зміни індексу

 
 


              І n
                         

 

A[6] або A[i], якщо i=6

Для початку роботи з масивом готуємо місце в пам'яті, для чого повідомляємо про нього в розділі оголошень.

Формат опису:

1 спосіб

ТУРЕ < назва типу > = array [< розмір >] of < назва базового типу >

VAR ідентифікатор масиву: ім'я типу;

Наприклад

Type mas=array [1..5] of іnteger.

Var a: mas;

2 спосіб

Var <ім’я масиву>: array [<розмірність>] of <базовий тип елементів>;

Якщо в такій формі опису масиву заданий один індекс, масив називається одновимірним (або лінійним), якщо два індекси – двовимірним (або таблицею), якщо n індексів – n-вимірним. Розмірність обмежена тільки об'ємом пам'яті конкретної ЕОМ. Одновимірні масиви звичайно використовуються для представлення векторів, а двовимірні – для представлення матриць.

Для опису масиву можна використовувати попередньо визначені константи:

Const

G1=4; G2=6;

Var

Mas:array[1..G1,1..G2] of real;

Приклади:

Const n:=100;

Var А: аrrау[1..n] оf real;

В: аrrау[1..1000] of integer;

Першим описан масив, до складу якого входить 100 дійсних чисел, а другим – масив з 1000 цілих чисел.

Зверніть увагу на те, що елементів у масиві не обов'язково буде стільки, скільки ми їх оголосили, але не більше.

Звертання до елементу масиву:

<ІМ'Я_масиву>[<його_індекс>]

Приклад:

M[6]; A[10]; B[i]

Для роботи масивом нам необхідний будь-який оператор повторення, тому що кожна дія з його елементами виконується однаково.

Паскаль не має засобів введення-виведення усіх елементів масиву водночас, тому введення і виведення значень робиться послідовно окремо кожен елемент.

 

Методи заповнення одновимірного масиву:

· за формулою:

for і:=1 to n do М[і]:=i*i-10 {або будь-яка формула};

· з клавіатури:

for і:=1 to n do

begin

writeln(‘введіть М[‘,i,']:');

readln(М[i]);

end;

· випадковим чином із проміжку [А, В]:

for і:=1 to n do

М[і]:=random(B-A)+A;

· Використання типових констант:

Const a:array [1..5] of іnteger=(28,13,0,-14,18);

b:array [1..3,1..2] of іnteger=((28,3),(-2,5),(-3,-4));

 

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

· for і:=1 to n do

writeln(М[i]); {у стовпчик}

· for і:=1 to n do

write(М[i]); {у рядок}

Для масиву з дійсними числами бажано зазначити формат виведення, наприклад, writeln(М[і]:10:3).

Дозволяється об'єднувати в одному циклі кілька етапів розв'язування задачі. Наприклад, очищення, заповнення масиву та виведення елементів масиву для контролю на екран.

А що можна робити з елементами масиву?

· знайти найменший, найбільший;

· знайти відповідний визначеній властивості;

· знайти суму елементів, їх добуток або різницю;

· поміняти місцями або замінити;

· впорядкувати їх за різними ознаками і т.і.

3. Поняття двовимірного масиву.

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

Двовимірний масив — це масив, де кожному елементу ставиться у відповідність два індекси.

Напрямок зміни другого індексу

 
 

            I m
  Напрямок                
  зміни                
  першого                
  індексу              
                   
    n              
                     

 

Для початку роботи з масивом готуємо місце в пам'яті у вигляді прямокутника, що має задану кількість рядків і стовпчиків. Для цього повідомляємо про нього в розділі оголошень, використовуючи зарезервоване слово Аrray і, з огляду на те, що на першому місці вказуються індекси рядків, потім стовпчиків і обов'язково тип елементів.

Опис двовимірного масиву

Const n:=100;

m:=100;

Var A:array[1..n,1..m] of real;

D:array[1..10,1.100] of integer;

 

Зверніть увагу на те, що рядків або стовпчиків у масиві не обов'язково буде стільки, скільки ми їх оголосили, але не більше.

В описі:

Ім'я_масиву[<поч_інд_рядків>..<кін_інд_рядків>,

<поч_інд_стовп>..<кін_інд_стовп>]

of <тип_елементів>;

Звертання до елементу двовимірного масиву:

Ім'я_масиву[<індекс_рядку>, <інд_стовпчика>]

 

Заповнення масиву:

· з клавіатури:

for і:=1 to n do

for j:=1 to m do

begin

writeln(‘введіть А[‘,i,',',j,']:');

readln(А[i,j]);

end;

· за формулою:

for і:=1 to n do

for j:=1 to m do

А[і,j]:=i*i-10 {або будь-яка формула};

· випадковим чином із проміжку [K,L]:

for і:=1 to n do

for j:=1 to m do

А[і,j]:=random(L-K)+K;

Виведення двовимірного масиву на екран

· for і:=1 to n do begin

for j:=1 to m do

write(A[i,j]); {виведення в рядок}

writeln; {перехід на новий рядок}

end;

Як ви вже помітили, для роботи з масивом необхідний будь-який оператор повторення. Але в нас двовимірний масив, а тому необхідний один цикл для переходу між елементами рядка (тобто, по стовпчиках), а другий, зовнішній, — для переміщення між рядками.

Якщо в матриці кількість рядків і стовпчиків однакова, то таку матрицю називають квадратною. Тільки в квадратних матрицях існують головна та бічна діагоналі.

 
 


Головна Бічна

діагональ діагональ

 

 

Елементи, що стоять на головній діагоналі, мають індекси (1, 1), (2, 2), (3, 3),... (і, і)...., (n, n). Номер рядка дорівнює номеру стовпчика!

Елементи, що стоять на бічній діагоналі, мають такі індекси (1,n), (2, n–1), (3, n–2),..., (і, n+1–і), (n,1). Індекси елементів взаємозалежні за формулою N+1 – i.

Для роботи з масивом, як з єдиним цілим, використовується ідентифікатор масиву без вказівки індексу в квадратних дужках. Масив може брати участь тільки в операціях відношення “дорівнює”, “не дорівнює” і в операторі присвоювання. Масиви, що беруть участь у цих діях, повинні бути ідентичні за структурою, тобто мати однакові типи індексів і однакові типи компонентів. Наприклад, якщо масиви А та В описані, як Var A,B:array[1..20] of real; то застосування до них допустимих операцій дасть наступний результат:

ираз Результат
A=B True, якщо значення кожного елемента масиву А дорівнює відповідному значенню елемента масиву В.
A<>B True, якщо хоча б одне значення елемента масиву А не дорівнює значенню відповідного елемента масиву В.
A:=B Усі значення елементів масиву В присвоюються відповідним елементам масиву А. Значення елементів масиву В залишаються незмінними.

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1913; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.033 сек.