Міністерство освіти та науки України Вінницький національний технічний університет Факультет інтелектуальних інформаційних технологій та автоматизації Кафедра комп’ютерних наук Лабораторна робота №1 з дисципліни : Крос-платформне програмування Виконав студент групи Перевірив: Вінниця 2023 Лабораторна робота №1 Мета роботи: ознайомитися з основами об’єктно-орієнтованої мови програмування Python і використання математичної бібліотеки. Завдання 1. Вибрати індивідуальне завдання відповідно до номера здобувача в загальному списку групи. 2. Реалізувати розв’язання завдання з використанням консольного введення- виведення. 3. Реалізувати розв’язання завдання з використанням графічної бібліотеки Tkinter. 4. Продемонструвати результати виконання індивідуального завдання у двох різних операційних системах на вибір здобувача. Хід роботи Завдання : Створити програму, яка містить масив із ≥ 8 назв емоцій і відповідних їм смайликів, а також кілька назв без смайликів. Поділити всі смайлики на 2 групи – позитивні та негативні, кожній групі задати свій колір. Використовуючи цикл While із післяумовою, при введенні користувачем у консоль назви емоції виводити відповідний смайлик кольором, відповідним до його групи. Якщо для введеної назви емоції смайлик не передбачений, вивести повідомлення про його відсутність. Історію введених емоцій і смайликів продублювати у вікні форми. Реалізація: import tkinter as tk # Створення масиву з назвами емоцій та смайликами emotions = { "радість": "😀", "сміх": "😂", "любов": "❤️", "горе": "😢", "злість": "😠", "сум": "😔", "страх": "😨", "здивування": "😲", "подив": "🤔", "сон": "", "спрага": "", "голод": "" } # Розділення смайликів на позитивні та негативні positive_emotions = ["радість", "сміх", "любов"] negative_emotions = ["горе", "злість", "сум", "страх", "здивування", "подив"] # Задання кольорів для позитивних та негативних емоцій positive_color = "green" negative_color = "red" # Створення вікна програми window = tk.Tk() window.title("Емоції та смайлики") # Створення текстового поля для введення назв емоцій entry = tk.Entry(window, width=30) entry.pack() # Створення поля для виведення історії емоцій та смайликів text = tk.Text(window, width=50, height=10) text.pack() # Функція для виведення смайлика відповідно до назви емоції def show_emotion(): emotion = entry.get().lower() if emotion in emotions: smiley = emotions[emotion] if smiley: color = positive_color if emotion in positive_emotions else negative_color text.insert(tk.END, f"{emotion}: {smiley}\n") text.tag_config(emotion, foreground=color) text.insert(tk.END, smiley + "\n", emotion) else: text.insert(tk.END, f"{emotion} не має смайлика.\n") else: text.insert(tk.END, f"Не вдалося знайти емоцію '{emotion}'.\n") entry.delete(0, tk.END) # Додавання кнопки для виклику функції show_emotion() button = tk.Button(window, text="Показати смайлик", command=show_emotion) button.pack() # Запуск головного циклу програми window.mainloop() Результати: Контрольні питання 1. Що робить метод mainloop? 2. Які типи даних існують у Python? 3. Для чого потрібна бібліотека Tkinter? 4. Чи є в Python класи? 5. Перерахуйте 6 віджетів для відображення інформації на формі. 6. Як оголошуються методи в Python? 7. Що спільного в мов програмування Python і Java? Відповіді на запитання Метод mainloop використовується в Tkinter, щоб запустити безкінечний цикл обробки подій для відображення графічного інтерфейсу користувача (GUI). У Python існують такі типи даних, як числа (int, float, complex), рядки (str), булеві значення (bool), списки (list), кортежі (tuple), множини (set), словники (dict) та інші. Бібліотека Tkinter є стандартною бібліотекою Python і використовується для створення графічного інтерфейсу користувача (GUI) у програмах. Так, в Python є класи, які використовуються для створення об'єктів, які містять методи та атрибути. Віджети для відображення інформації на формі можуть бути, наприклад: Label (напис), Entry (поле вводу), Button (кнопка), Listbox (список), Checkbox (прапорець) та Radiobutton (радіокнопка). Методи в Python оголошуються за допомогою ключового слова "def", за яким слідує назва методу і його аргументи, включаючи аргумент self для методів класу. Обидві мови програмування, Python і Java, є об'єктно-орієнтованими, підтримують використання класів та методів, мають схожий синтаксис управління потоком програми і використовуються для розробки різноманітних програм, від веб-додатків до мобільних додатків та інших програмних продуктів. Висновок: Я ознайомився з основами об’єктно-орієнтованої мови програмування Python і використовуванням математичної бібліотеки. |