- •Інформація та інформатика.
- •1. Інформація в матеріальному світі.
- •1.1. Сигнали і дані
- •1.2. Дані і методи.
- •1.3. Поняття про інформацію
- •1.4. Діалектична єдність даних і методів в інформаційному процесі.
- •1.5. Властивості інформації
- •2.1. Носії даних.
- •2.2. Операції з даними.
- •2.3. Кодування даних двійковим кодом.
- •2.4. Кодування цілих і дійсних чисел.
- •2.5. Кодування текстових даних
- •2.6. Кодування графічних даних
- •2.7. Кодування звукової інформації
- •2.8.Основні структури даних
- •Лінійні структури (списки даних, вектори даних)
- •Табличні структури (таблиці даних, матриці даних)
- •Ієрархічні структури даних
- •2.9. Упорядкування структур даних
- •3. Файли і файлова структура
- •3.1. Одиниці представлення даних
- •3.2. Одиниці виміру даних
- •3.3. Одиниці збереження даних
- •3.4. Поняття про файлову структуру
- •4. Інформатика
- •4.1. Предмет і задачі інформатики
- •4.2. Джерела і передумови інформатики
- •5. Підведення підсумків
Лінійні структури (списки даних, вектори даних)
Лінійні структури — це добре знайомі нам списки. Список — це найпростіша структура даних, що характеризується тим, що кожен елемент даних однозначно визначається своїм номером у масиві. Проставляючи номера на окремих сторінках розсипаної книги, ми створюємо структуру списку. Звичайний журнал відвідування занять, наприклад, має структуру списку, оскільки всі студенти групи зареєстровані в ньому під своїми унікальними номерами. Ми називаємо номери унікальними тому, що в одній групі не можуть бути зареєстровані два студенти з тим самим номером.
При створенні будь-якої структури даних треба вирішити два питання: як розділяти елементи даних між собою і як шукати потрібні елементи. У журналі відвідування, наприклад, це вирішується так: кожен новий елемент списку заноситься з нового рядка, тобто розділовим знаком є кінець рядка. Тоді потрібний елемент можна розшукати по номеру рядка.
N п/п Прізвище, Ім'я, По батькові
1 Лелека Олександр Олексійович
2 Бобров Борис Борисович
Воробйова Валентина Владиславівна
….. ………………………………………………
27 Сорокін Сергій Семенович
Розділовим знаком може бути і який-небудь спеціальний символ. Нам добре відомі розділові знаки між словами — це пропуски. У російській і в багатьох європейських мовах загальноприйнятим розділовим знаком є крапка. У розглянутому нами класному журналі як розділовий знак можна використовувати будь-який символ, що не зустрічається в самих даних, наприклад символ «*». Тоді наш список виглядав би так:
Лелека Олександр Олексійович * Бобров Борис Борисович * Воробйова Валентина Владиславівна *...* Сорокін Сергій Семенович.
У цьому випадку для пошуку елемента з номером п треба переглянути список, починаючи із самого початку і перерахувати розділові знаки, що зустрілися. Коли буде відлічене п-1 розділових знаків, розпочнеться потрібний елемент. Він закінчиться, коли буде зустрітий наступний розділовий знак.
Ще простіше можна діяти, якщо всі елементи списку мають рівну довжину. У цьому випадку розділові знаки в списку взагалі не потрібні. Для розшуку елемента з номером п треба переглянути список із самого початку і відрахувати а(п-1) символ, де а — довжина одного елемента. З наступного символу почнеться потрібний елемент. Його довжина теж дорівнює а, тому його кінець визначити неважко. Такі спрощені списки, що складаються з елементів рівної довжини, називають векторами даних. Працювати з ними особливо зручно. Таким чином, лінійні структури даних (списки) — це упорядковані структури, у яких адреса елемента однозначно визначається його номером.
Табличні структури (таблиці даних, матриці даних)
З таблицями даних ми теж добре знайомі, досить згадати усім відому таблицю множення. Табличні структури відрізняються від лінійних тим, що елементи даних визначаються адресою комірки, що складається не з одного параметра, як у списках, а з декількох. Для таблиці множення, наприклад, адреси комірки визначаються номерами рядка і стовпця. Потрібний комірка знаходиться на їхньому перетині, а елемент зчитується з комірки.
При збереженні табличних даних кількість розділових знаків повинна бути більшою, ніж для даних, що мають структуру списку. Наприклад, коли таблиці друкують у книгах, рядки і стовпці розділяють графічними елементами — лініями вертикальної і горизонтальної розмітки (мал. 1.4).
Планета |
Відстань до Сонця |
Відносна маса |
Кількість супутників |
Меркурій |
0,39 |
0,056 |
0 |
Венера |
0,67 |
0,88 |
0 |
Земля |
1,0 |
1,0 |
1 |
Марс |
1,51 |
0,1 |
2 |
Юпітер |
5,2 |
318 |
16 |
Меркурій*0,39*0,056*0#Венера*0,67*0,88*0#Земля*1,0*1,0*1#Марс*1,51*0,1*2#…
Для пошуку елемента, що має адресу комірки (т, п), треба переглянути набір даних із самого початку і перерахувати зовнішні роздільники. Коли буде відлічений т-1 роздільник, треба перераховувати внутрішні роздільники. Після того як буде знайдений n-1 роздільник, знайдемо потрібний елемент. Він закінчиться, коли буде зустрінутий будь-який черговий роздільник.
Ще простіше можна діяти, якщо всі елементи таблиці мають рівну довжину. Такі таблиці називають матрицями. У даному випадку роздільники не потрібні, оскільки всі елементи мають рівну довжину і їх кількість відома. Для розшуку елемента з адресою (т, п) у матриці, що має М рядків і N стовпців, треба переглянути її із самого початку і відрахувати a [N(m -1) + (п -1)] символ, де а — довжина одного елемента. З наступного символу почнеться потрібний елемент. Його довжина теж дорівнює а, тому його кінець визначити неважко. Таким чином, табличні структури даних (матриці) — це упорядковані структури, у яких адреса елемента визначається номером рядка і номером стовпця, на перетині яких знаходиться комірка, що містить потрібний елемент.
Багатомірні таблиці. Вище ми розглянули приклад таблиці, що має два виміри (рядок і стовпець), але в житті нерідко приходиться мати справу з таблицями, у яких кількість вимірів більша. От приклад таблиці, за допомогою якої може бути організований облік студентів.
Номер факультету: 3
Номер курсу (на факультеті): 2
Номер спеціальності (на курсі): 2
Номер групи на потоці однієї спеціальності: 1
Номер студента в групі: 19
Розмірність такої таблиці дорівнює п'яти, і для однозначного пошуку даних про учня в подібній структурі треба знати всі п'ять параметрів (координат).