Попередня сторінка: 2. Встановлення та видалення програм
Наступна сторінка: 4. Шкідливі програми та захист комп'ют...
Людина, яка користується смартфоном, знає, що час від часу перед нею постає проблема нестачі пам’яті для програм і даних. Виявляється, у багатьох випадках можна зробити так, щоб файли займали обсяг пам’яті значно менший від їх звичного обсягу.
Архівування даних — процес стиснення даних, що зберігаються у файлах.
Результатом архівування є архів — файл, який містить у стисненому вигляді один або більше файлів. Архівування даних дозволяє заощаджувати дисковий простір, швидше передавати файл за допомогою інтернету, захищати дані паролем тощо.
Принцип архівування даних
Поширеним методом стиснення даних є знаходження в них фрагментів, які повторюються, та їх кодування коротшими кодами. Такими фрагментами можуть бути пікселі растрового зображення, які мають однаковий колір, повторювані слова чи символи в тексті тощо.
Код растрового зображення (див. § 3, 8 клас), яке має великі одноколірні ділянки, містить довгі послідовності однакових чисел: 5 41 1 1 11 1 1 1 6 6 1 166666666
Побудуємо на його основі послідовність пар чисел, у яких перше число (виділене синім кольором) означає кількість повторень, а друге — код кольору, який повторюється:
1 5 1 4 8 1 2 6 2 1 8 6
Цю послідовність можна прочитати так: одна п’ятірка, одна четвірка, вісім одиниць і т. д.
Отже, послідовність із 22 чисел ми замінили коротшою послідовністю з 12 чисел, за якою легко відновити початкову.
Описаний у прикладі 1 спосіб архівування легко реалізувати у вигляді програми мовою Python, робота якої зрозуміла з коментарів:
# Вводимо рядок чисел і перетворюємо його на список
# Позиція у списку: починаємо з 0
# Цикл до кінця списку
# Допоміжна змінна
# Шукаємо кінець чергової послідовності
# Поки наступне число таке саме,...
# переходимо далі
# Якщо раптом список закінчився,...
# зупиняємо цикл
# Опрацьовуємо знайдену послідовність
K = P-K+1
print(K, code[P], end = '') P = P+1
if P<len(code):
print(1, code[P])
# Обчислюємо кількість однакових
# Переходимо до наступного числа
# Якщо залишилось одне число,...
# то опрацьовуємо його
Зразок вхідних і вихідних даних для перевірки програми наведено вище в прикладі 1.
Ступінь стиснення даних (K) — це відношення обсягу стиснених даних (Va) до обсягу початкових (нестиснених) даних (V0), яке зазвичай виражають у відсотках K=(Va / V0) • 100 %.
У прикладі 1 ступінь стиснення становить K=(12 / 22) • 100 % = 55 %. Ступінь стиснення залежить від типу файлу та методу стиснення.
Файли деяких форматів (наприклад, JPG, MP3) майже не вдається стиснути, оскільки вміщені в них дані стискаються під час створення файлу.
У текстах українською мовою разом із розділовими знаками і цифрами використовується близько 60 символів. Для стиснення тексту замість 8-бітового кодування можна використати 6-бітове (оскільки 26 = 64 > 60). Ступінь стиснення в такому разі становитиме K=(6 / 8) • 100 % = 75 %, тобто буде заощаджено 25 % пам’яті.
Розархівування (видобування) даних — процес повернення даних, записаних в архіві, до початкового стану.
Багатотомний архів, тобто розділений на декілька файлів (томів), створюють тоді, коли один файл великого обсягу ускладнює подальше використання архіву, наприклад не дозволяє зберегти його на носіях меншого обсягу, надіслати електронною поштою тощо.
Архів із саморозархівуванням (SFX-архів, від англ. self extracting — самовидобування) — це виконуваний файл, який після запуску автоматично розархівовується. Такі архіви доцільно використовувати, якщо на комп’ютері отримувача не встановлено відповідного архіватора.
Архіватори
Операції архівування та розархівування здійснюють за допомогою службових програм — архіваторів.
Серед сучасних архіваторів можна назвати безкоштовні PeaZip (багатоплатформний) і 7-Zip, умовно безкоштовні WinRAR i WinZIP.
Архіватор PeaZip
Архіватор PeaZip випускається для ОС Linux, Windows та ін. Він дозволяє опрацьовувати архіви більше ніж 15 різних форматів, а також різних типів: звичайні, багатотомні, із саморозархівуванням. Для створення архіву потрібно:
1) запустити програму і в робочому полі вікна відкрити папку з файлами для архівування;
2) вибрати один або більше файлів (декілька файлів вибирають, утримуючи клавішу Ctrl);
3) натиснути кнопку Додати — відкриється сторінка для налаштування параметрів архіву (папки для збереження, формату, типу, розміру тому тощо);
4) зробити потрібні налаштування і натиснути кнопку Так.
Після цього в зазначеній папці з’явиться архівний файл із вибраною назвою і розширенням, відповідним формату.
Для видобування файлів з архіву потрібно:
1) запустити програму і в робочому полі вікна відкрити архів;
2) вибрати один або більше файлів;
3) натиснути кнопку Видобути — відкриється сторінка для налаштування параметрів (вибору папки для збереження файлів тощо);
4) зробити потрібні налаштування і натиснути кнопку Так.
У зазначеній папці з’являться файли, видобуті з архіву.
Крім операцій архівування та розархівування, сучасні архіватори дозволяють виконувати й інші дії: наприклад, переглядати вміст архіву, додавати файли до архіву, вилучати окремі файли з архіву, перевіряти цілісність архівного файлу тощо.
Питання для самоперевірки
1. Що таке архівування і розархівування даних?
2. Опишіть, яким способом можна зменшити обсяг даних, не втративши їх.
3. Поясніть зв’язок між двома рядками чисел із прикладу 1.
4. Що називають ступенем стиснення даних?
5. Який ступінь стиснення має архів обсягом 51,4 КіБ, якщо початковий обсяг файлів становить 5,9 МіБ?
6. Наведіть декілька прикладів архіваторів.
7. Як передати архів обсягом 50 МіБ через службу миттєвих повідомлень, якщо вона дозволяє передавати файли обсягом до 10 МіБ?
Вправа з
1. Випробуйте програму з прикладу 2.
2. Змініть програму з прикладу 2 так, щоб дані для архівування вводилися з текстового файлу, а результат виводився в інший текстовий файл (див. § 34 в підручнику для 8 класу).
3. Складіть програму для розархівування даних із послідовності чисел, виведеної програмою з прикладу 2.
Комп’ютерне тестування
Виконайте тестове завдання 3 з автоматичною
перевіркою результату.
Практична робота 1
Архівування та розархівування даних
Завдання: здійснити за допомогою програми-архіватора стиснення даних в архіви різних типів, виконати розархівування, порівняти ступінь стиснення даних.
Обладнання: комп’ютер зі встановленим архіватором, папка Archive з файлами для архівування.
Хід роботи
Під час роботи з комп’ютером дотримуйтеся правил безпеки.
1. Запустіть текстовий процесор. Визначте загальний обсяг файлів папки Archive, наданої вчителем. Створіть новий документ і запишіть у нього отримані дані.
2. Створіть звичайний архів папки. Визначте обсяг цього архіву та запишіть дані в документ.
3. Визначте ступінь стиснення архіву. Додайте результат у документ.
4. Створіть багатотомний архів папки із трьох томів приблизно однакового розміру. Знайдіть загальний обсяг трьох томів архіву і допишіть дані в документ.
5. Створіть саморозпаковуваний архів папки. Визначте обсяг архіву і запишіть результат у документ. Видобудьте з архіву папку, змінивши її назву.
6. Додайте в документ таблицю результатів і заповніть її даними, отриманими під час виконання попередніх пунктів.
Збережіть файл з назвою Практична робота 1.
Заверште роботу за комп’ютером.
Зробіть висновок: як за допомогою архіватора створити звичайний, багатотомний, саморозпаковуваний архіви; чому, на вашу думку, архівні файли різних типів мають різний обсяг.
Це матеріал з підручника Інформатика 9 клас Бондаренко 2022
Наступна сторінка: 4. Шкідливі програми та захист комп'ют...