You are on page 1of 8

МІНІСТЕРСТВО НАУКИ ТА ОСВІТИ УКРАЇНИ

Національний Авіаційний Університет


Факультет комп`ютерних наук та тахнологій
Кафедра прикладної математики

М2 Лабараторна робота № 1
Тема: "Вивчення роботи структури даних мови Python - Словник"
З дисципліни « Алгоритмічні мови та програмування»

Виконав студент 118 групи:


Ярослав Петриченко
Старший викладач:
Андрій Костянтинович ШЕВЧЕНКО

Київ 2023

1
Зміст

1. Постановка задачі............................................................................................................................3
2. Теоретична частина.........................................................................................................................4
3. Блок-схема......................................................................................................................................5
4. Тестування......................................................................................................................................7
5. Висновок.........................................................................................................................................8
6 Література........................................................................................................................................8

2
1. Постановка задачі
Завданням є розробка скрипту на мові програмування Python для аналізу частоти входження
літер у заданому текстовому файлі.
Завдання:

1. Приймати командний аргумент (`-f`), який вказує шлях до вхідного текстового


файлу для аналізу.

2. Зчитувати вміст вказаного файлу та зберігати його у змінній (`file_content`).

3. Створювати словник (`stat_dict`) для відстеження кількості кожної літери у


файлі.

4. Проходити через кожен символ у вмісті файлу та оновлювати словник


кількістю кожної літери.

5. Перетворювати словник у список кортежів (`stat_list`), де кожен кортеж


містить літеру та її частоту.

6. Реалізувати сортування списку за зменшенням значень частоти входження,


використовуючи алгоритм сортування вставками.

7. Виводити на екран початковий словник та відсортований список.

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

9. Надати опцію довідки (`-h`), щоб вивести інформацію про функціональність


програми та завершити її роботу.

Скрипт повинен мати структуру, включаючи функцію (`stat_array_of_letters`) для


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

3
2. Теоретична частина

Зчитування командних аргументів:


Код використовує бібліотеку getopt для зчитування командних аргументів. В даному випадку,
програма очікує опцію -f, яка вказує на шлях до файлу для аналізу.
Зчитування вмісту файлу:
Завдання починається з перевірки, чи був переданий шлях до файлу. Якщо так, то відбувається
зчитування вмісту файлу за допомогою конструкції with open(file_path, 'r', encoding='utf-8') as
file:.
Створення словника для аналізу літер:
Створюється порожній словник stat_dict, в якому буде відстежуватися кількість кожної літери у
файлі.
Аналіз вмісту файлу та оновлення словника:
Програма проходить через кожен символ у вмісті файлу і оновлює словник stat_dict кількістю
входження кожної літери.
Перетворення словника у список кортежів:
Створюється список кортежів stat_list, де кожен кортеж містить літеру та її кількість входжень.
Сортування списку за частотою входження:
Використовується алгоритм сортування вставками для сортування списку кортежів за
зменшенням значення кількості входжень.
Виведення результатів:
На етапі виведення результатів програма друкує початковий словник stat_dict та відсортований
список stat_list.
Обробка командних аргументів та вихід:
Головний блок коду обробляє командні аргументи, встановлює значення file_path при наявності
аргумента -f, і викликає функцію stat_array_of_letters(file_path). Також передбачена опція -h для
виведення довідкового повідомлення.

3.Блок схема

4
5
Тестування

6
5. Висновок

Робота з командним рядком:

Ознайомився із бібліотекою getopt, яка дозволяє зручно обробляти та аналізувати командні


аргументи в Python.

Читання та обробка файлів:

Вивчив способи відкриття та читання вмісту текстового файлу, використовуючи конструкцію


with open().

Робота із словниками та списками:

Освоїв роботу із словниками та списками для зберігання та обробки інформації.

Використання алгоритму сортування:

Навчився використовувати алгоритм сортування вставками для сортування списку за певним


критерієм.

Структурування коду:

Осознаю важливість структурованого коду, використовуючи функції для виконання конкретних


завдань та забезпечення його читабельності.

Робота з командним рядком та виведенням довідкової інформації:

Розумію, як додавати можливість обробки командного рядка для зручного використання


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

Всі ці аспекти роботи з текстовим файлом та обробкою даних надали мені практичний досвід в
розробці функціональних та ефективних Python-скриптів.

6. Література
1) Безлі, Д. Python Distilled (Developer's Library) [Текст] / Д. Безлі. — Pearson, 2021. — 352 с. —
ISBN 978-0-13-417327-6.
2) Марк Лутц, Вивчаємо Python, 4-е вид., 2010.
3) Свейгарт, А. Automate the Boring Stuff with Python: Practical Programming for Total Beginners
[Текст] / А. Свейгарт. — No Starch Press, 2021. — 592 с.

7
Статті та посібники в Інтернеті

You might also like