Лабораторна робота 3
ЛАБОРАТОРНА РОБОТА №3
Тема: Реалізація асинхронного перекладу тексту в Python з використанням модуля googletrans
Мета роботи: Ознайомитися з принципами асинхронного програмування в Python та набути практичних навичок використання механізмів asyncio для організації конкурентного виконання мережевих запитів на прикладі розробки програми перекладу тексту із застосуванням модуля googletrans; дослідити відмінності між синхронним та асинхронним підходами і оцінити їх вплив на продуктивність застосунку.
Хід виконання роботи
1. Створити віртуальне оточення Python (ім'я - прізвище студента).
2. В папці проекту створити текстовий файл, в який скопіювати текст із файлу Steve_Jobs.docx відповідно до свого варіанту.
3. В цьому оточенні створити програму на мові Python для перекладу тексту
за допомогою модуля googletrans 4.0.2 (https://pypi.org/project/googletrans/)
В програмі реалізувати три функції: TransLate(str, lang), LangDetect(txt), CodeLang(lang).
3.1. TransLate(str, lang) - функція для перекладу тексту. Тут str – текстовий рядок, який необхідно перекласти, lang – текстовий параметр, який визначає мову, на яку необхідно перекласти текст str. Параметр lang може бути або назвою мови (формат: English або еnglish), або ISO-639 code мови (формат: en або En або EN) (дивись таблицю мов https://cloud.google.com/translate/docs/languages). Функція повинна повертати текстовий рядок – переклад на вибрану мову, або повідомлення про помилку.
3.2. LangDetect(txt) - функція, яка повертає мову тексту txt і його confidence.
3.3. CodeLang(lang) - функція, яка повертає код мови (відповідно до таблиці), якщо в параметрі lang міститься назва мови, або повертає назву мови, якщо в параметрі lang міститься її код.
3.4. Використав створені функції, написати програму яка
3.4.1. читає текст з файлу, створеного в завданні 2, в змінну список TxtList, кожен елемент якого - окреме речення тексту, розпізнає мову тексту, перекладає текст на задану в варіанті мову (без асинхронності), рахує витрачений на роботу час (визначення мови тексту + переклад).
3.4.2. читає текст з файлу, створеного в завданні 2, в змінну список TxtList, кожен елемент якого — окреме речення тексту, розпізнає мову тексту, перекладає текст на задану в варіанті мову в асинхронному режимі (одночасно перекладає всі речення і робить розпізнавання мови), рахує витрачений на роботу час.
3.5. Программа повинна виводити:
- імя текстового файлу, з якого читає текст (або повідомлення про помилку при виникнені проблем з читанням файлу)
- кількість символів в тексті
- кількість речень в тексті
- мову, код та confidence для оригінального тексту
- оригінальний текст
- мову та код на якій було зроблено переклад (відповідно до варіанту)
- Переклад тексту на вказану мову (або повідомлення про помилку, при виникнені проблем з перекладом)
- Час, затрачений на визначення мови та перекладу (пункт 3.4.1)
- Час, затрачений на визначення мови та перекладу в асинхроному режимі (пункт 3.4.2.)
4. Завантажити проект на GitHub
5. За результатами роботи зробити звіт, який складається з:
- Титульний аркуш,
- Текст завдання,
- Скріншот середовища VSCode з кодом програми з пункту 3.4. (вимоги до скріншотів),
- Повний код програми з пункту 3.
- Скріншот термінала з виводом версії Python в віртуальному середовищі (вимоги до скріншотів),
- Скріншот термінала з виводом всіх встановлених модулів та пакетів в віртуальному середовищі (pip list)(вимоги до скріншотів)
- Скріншот терміналу з результатами виконання програми з пункту 3.5. (Програма повинна виконуватись в віртуальному оточені, яке було створено завданні 1, це повинно бути видно на скріншоті)(вимоги до скріншотів),
- Посилання на проект на GitHub
- Посилання на відео (на платформі YouTube, обліковий запис НУБіП) з демонстрацією запуску і роботи програми в віртуальному середовищі (за вимогою викладача).
6. Зберегти звіт в PDF або DOCX файл і завантажити в Elearn.
Форма подання результатів виконаної роботи: звіт в електронному форматі.
Критерії оцінювання:
Максимальна кількість балів - 14 балів.
| N | Кількість балів | Критерій |
| 1 | 0 | Роботу не здано |
| 2 | 1 | Не виконаний пункт завдання: 1. Віртуальне оточення не створено, або його назва не співпадає з призвищем студента. |
| 3 | 1 | Код розробленої студентом програми не працює |
| 4 | 1 | Скріншоти, що демонструють роботу програм були правлені в графічному редакторі або іншим чином. |
| 5 | 1-10 | Роботу здано після встановленого терміну |
| 6 | 2-5 | Програма працює, але не задовільняє вимогам завдання |
| 7 | 2-5 | Програма працює. Студент не може пояснити роботу коду програми. На більшість питань викладача дає неправильні відповіді. |
| 8 | 6-7 | Програма працює і задовільняє всім вимогам завдання. Звіт оформлено не належним чином (не відповідає вимогам пункту 5, скріншоти не відповідають вимогам). |
| 9 | 8-10 | Програма працює і задовільняє всім вимогам завдання. Звіт оформлено належним чином (задовільняє всім вимогам пункту 5, всі скріншоти якісні і мають праввильну орієнтацію) |
| 10 | 11-13 | Програма працює і задовільняє всім вимогам завдання, але має незначні недоліки які студент може виправити під час захисту. Всі пункти завдання виконані. Звіт оформлено належним чином. Студент може пояснити роботу коду програми і особливості роботи алгоритму, правильно відповідає на всі питання викладача під час захисту роботи. |
| 11 | 14 | Програма працює і задовільняє всім вимогам завдання. Всі пункти завдання виконані. Звіт оформлено належним чином. Студент може пояснити роботу коду програми і особливості роботи алгоритму, правильно відповідає на всі питання викладача під час захисту роботи. |
Термін подання результатів - згідно календарного плану роботи.
- 18 лютого 2026, 12:52
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу