Масиви і їх види

Надіслати свою хорошу роботу в базу знань просто. Використовуйте форму, розташовану нижче

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

Одновимірна масив можна представити як лінійну структуру, в якій елементи слідують один за одним. Однак бувають більш складні структури даних. Наприклад, двовимірні масиви, які можна описати як таблицю, в осередках якої розташовуються значення. Для звернення до даних масиву вказується номери їх рядків і стовпців. Часто табличні масиви називають матрицями.

Зазвичай двовимірні масиви на мові програмування Pascal описуються так: програмування масив матриця рascal

array [1..m, 1..n] of базовий_тіп

Однак можна їх описувати і по-іншому:

array [1..m] of array [1..n] of базовий_тіп

1 варіант - опис масиву через розділ type:

matrix = array [1..M, 1..N] of integer;

2 варіант - опис масиву в розділі змінних:

a: array [1..M, 1..N] of integer;

При використанні третього варіанту опису краще спочатку визначити певний тип одновимірного масиву (рядок двовимірного масиву), який потім використовується при описі двовимірного масиву:

type a = array [1..10] of byte;

var b: array [1..100] of a;

Для звернення до елемента двовимірного масиву необхідно вказати ім'я масиву та в квадратних дужках через кому - значення двох індексів (перший вказує номер рядка, а другий - номер стовпця), на перетин яких варто елемент (наприклад, a [i, 2]: = 6 ). У мові програмування Pascal допустимо поділ індексів за допомогою квадратних дужок (наприклад, a [i] [5]: = 7) Якщо описується двовимірний масив як типизированная константа, то при завданні значень його елементів він розглядається як масив масивів. При цьому в загальних круглих дужках через кому перераховуються укладені в круглі дужки значення елементів рядків (кожен рядок в своїх дужках):

arr = array [1..4, 1..3] of integer;

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

matrix: array [1..3,1..5] of integer;

writeln ( 'Введіть 15 чисел:');

for i: = 1 to 3 do

for j: = 1 to 5 do

for i: = 1 to 3 do begin

for j: = 1 to 5 do

matrix: array [1..M, 1..N] of integer;

writeln ( 'Введіть 15 чисел:');

for i: = 1 to M do

for j: = 1 to N do

for i: = 1 to M do begin

for j: = 1 to N do

for i: = 1 to length (s) do

if s [i] in [ 'A' .. 'Z', 'А' .. 'П'] then s [i]: = chr (ord (s [i]) + 32)

else if s [i] in [ 'Р' .. 'Я'] then s [i]: = chr (ord (s [i]) + 80)

else if s [i] = 'Yo'then s [i]: =' е ';

Припустимо, що програма працює з великою кількістю однотипних даних. Скажімо близько ста різних цілих чисел потрібно обробити, виконавши над ними ті чи інші обчислення. Як ви собі уявляєте 100 змінних в програмі? І для кожної змінної потрібно написати одне і теж вираз обчислення значення? Це дуже неефективно. Є більш просте рішення. Це використання такої структури (типу) даних як масив. Масив являє собою послідовність елементів пам'яті, в яких зберігаються однотипні дані. При цьому існує лише одне ім'я змінної пов'язаної з масивом, а звернення до конкретної осередку відбувається по її індексу (номера) в масиві. Потрібно чітко розуміти, що індекс осередку масиву не є її вмістом. Вмістом є що зберігаються в осередках дані, а індекси тільки вказують на них. Дії в програмі над масивом здійснюються шляхом використання імені змінної, пов'язаної з областю даних, відведеної під масив. Отже, масив - це іменована група однотипних даних, що зберігаються в послідовних комірках пам'яті. Кожна клітинка містить елемент масиву. Елементи нумеруються по порядку, але не обов'язково починаючи з одиниці (хоча в мові програмування Pascal найчастіше саме з неї). Порядковий номер елемента масиву називається індексом цього елемента. Пам'ятаємо, всі елементи певного масиву мають один і той же тип. У різних масивів типи даних можуть відрізнятися. Наприклад, один масив може складатися з чисел типу integer, а інший - з чисел типу real.Індекси елементів масиву зазвичай цілі числа, проте можуть бути і символами, а також описуватися іншими порядковими типами. Тобто для індексу можна використовувати тип, в якому визначена дискретна послідовність значень, і всі ці значення можна перерахувати по порядку. Індексувати можна як константами і змінними, так і виразами, результат обчислення яких дає значення перечислимого типу. Якщо індекс масиву може набувати все допустимі значення певного перечислимого типу, то при описі масиву можливе завдання імені типу замість кордонів зміни індексу. При цьому межами індексу будуть перше і останнє значення в описі типу індексу. Межі зміни індексів можуть задаватися за допомогою раніше оголошених констант. Рекомендується попередньо оголошувати тип масиву в розділі опису типів. Масив можна створити декількома способами.

people = array [years] of longint;

growth: array [months] of real;

notes: array [1..n] of string;

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

var ch: array [1..11] of char;

for i: = 1 to 11 do read (ch [i]);

for i: = 1 to 11 do write (ch [i]: 3);

У прикладі виділяється область пам'яті під масив з 11 символів. Їх індекси від 1 до 11. У процесі виконання програми користувач вводить 11 будь-яких символів (наприклад, `q ',' w ',' e ',' 2 ',' t ',' 9 ',' u ',' I ' , 'I', 'o', 'p'), які записуються в комірки масиву. Поточне значення змінної i в циклі for використовується в якості індексу масиву. Другий цикл for відповідає за виведення елементів масиву на екранФункція sizeof, застосована до імені масиву або імені масивного типу, повертає кількість байтів, що відводиться під массів.В задачах з програмування дуже часто зустрічається необхідність заповнити масив даними і вивести їх потім на екран. Методів цього не так вже й багато і особливою різноманітністю вони не відрізняються.

Тому добре б їх оформити у вигляді процедур і використовувати в міру необходімостіАлгорітм рішення задачі: Створимо дві процедури заповнення одновимірного масиву цілими числами: одну з використанням функції random і одну, де користувач самостійно задає значення. Також створимо процедуру виведення масиву на екран. Потім викличемо в основний гілці програми ці процедури, передавши їм в якості аргументів змінні, пов'язані з масивами.

Програма на мові Паскаль:

miniarr = array [1..n] of integer;

procedure arr_rand (k: integer; var arr: miniarr);

writeln ( 'Заповнення масиву випадковими числами.');

Широке використання комп'ютерних та інформаційних технологій. Концепції типів даних. Алгоритми сортування одновимірних масивів. Опис двовимірного масиву Паскаля. Методи доступу до елементів масивів. Індексні, динамічні і гетерогенні масиви.

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

Обробка складних структур даних як одна з найбільш поширених можливостей застосування мови програмування С ++. Переваги використання підпрограм. Передача параметрів, одновимірних і двовимірних масивів, функції та їх повернення в функцію.

Вивчення функцій і можливостей середовища розробки мови програмування Pascal. Розгляд роботи з одновимірними і двовимірними масивами, з рядками і числами. Математичне формулювання завдань. Розробка алгоритмів, опис структури програм.

Ознайомлення з основними поняттями та організацією введення-виведення, обробкою масивів. Опис одновимірних і двовимірних масивів. Опис рядків і операції з ними. Комбінований тип даних - записи. Характеристика записів, які використовують вариантную частина.

Поняття масиву і правила опису масивів в програмах на мові С. Розгляд основних алгоритмів обробки одновимірних масивів. Приклади програм на мові С для всіх розглянутих алгоритмів. Приклади розв'язання задач з обробки одновимірних масивів.

Історія розробки мови Pascal, його основні переваги та недоліки. Поняття і допустимі операції над множинним типом даних. Робота з символьними змінними, числами і рядками. Приклади записів з варіантами. Розробка інтерфейсу програми.

Характеристика обчислювальної системи і інструментів розробки. Програмування на мові Pascal в середовищі Turbo Pascal і на мові Object Pascal в середовищі Delphi. Використання процедур, функцій, масивів, бінарного пошуку. Створення бази даних у вигляді файлу.

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

Роботи в архівах красиво оформлені згідно з вимогами ВНЗ і містять малюнки, діаграми, формули і т.д.
PPT, PPTX і PDF-файли представлені тільки в архівах.
Рекомендуємо завантажити роботу.

Схожі статті