Проект "Калькулятор"

email:  voronenko@54.edu.ks.ua

ОПРАЦЮВАННЯ КІЛЬКОХ ПОДІЙ

ПРАКТИЧНА РОБОТА

Узагальнення знань з тем:

- "Об'єкти графічного вікна"

- "Функції"

- "Опрацювання розгалужень"

Ми вже вивчили багато елементів керування і тому готові створити проєкт справжнього калькулятора, схожого на той, що вбудований в ОС Windows. Розглянемо загальний принцип його роботи: 

ЕТАП 1. "Створення інтерфейсу калькулятора"

Планування зовнішнього вигляду майбутнього калькулятора має відбутися з урахуванням критеріїв:

Крок 1 

Розплануй інтерфейс калькулятора: намалюй на аркуші в клітинку макет вікна майбутньої програми. 

1. Кожна квадратна кнопка має сторону розміром 2 клітинки. 

2. Відстань між кнопками по горизонталі і вертикалі та відстань від кнопки до краю вікна — 1 клітинка. 

3. Довжина трьох видовжених кнопок (C, =, 0) відповідає двом квадратним кнопкам та відстані між ними, тобто 5 клітинкам. 

4. Висота текстового поля для введення чисел — 2 клітинки. Його довжину визнач самостійно.


Припустимо, що кожній клітинці на аркуші паперу відповідає квадратна ділянка розміром 10 x 10 пікселів у вікні програми. 

1. За макетом калькулятора вирахуй ширину та висоту вікна програми і створи це вікно. 

2. Створи текстове поле, враховуючи координату його лівого верхнього кута (10,10) і розмір відповідно до макета. Усім елементам керування надавай імена згідно з таблицею з наступної сторінки 

Створення однострокового поля Entry, в якому буде відображатися результат арифметичної операції


Користуючись уроком «Об'єкти графічного інтерфейсу», зміни програмний код так, щоб текст у полі вирівнювався за правим краєм і мав розмір 14 пт. 

Створення кнопок

Тепер створимо кнопки. Звичайно, набирати код для кожної кнопки заново — нераціонально. Тому будемо створювати лише деякі кнопки, а інші (подібні) — отримувати копіюванням та зміненням координат. 

1. Визнач розміри та координати лівих верхніх кутів усіх кнопок у пікселях. Запиши ці координати на макеті Калькулятора біля кожної кнопки. 

2. Запрограмуй створення та розміщення кнопки «С». 

3. Перевір результат на практиці. 

Розмір шрифту для написів на кнопках має бути 14, як і в даних, що вводяться в текстове поле. 

Роборта за комп'ютером


3. Додайте на поле елемент Entry, встановивши для символів розмір 14.

4. Додаємо першу кнопку з координатою виводу (10, 50).

Увага! На даному етапі ми не прописуємо для кнопок атрибут command, інакше програма при запуску буде видавати помилку, бо для команди не існує відповідної функції. Атрибут як і функцію ми додамо на наступному уроці.


5. Додаємо наступний рядок кнопок. Код дуже подібний, отже його можна копіювати з попередніх кнопок, змінивши неякі атрибути та назву самої кнопки.

Увага! Кпопки з цифрами будемо називати з урахуванням цифри, що на ній зображена.



6. Аналогічно створюємо наступні ряди кнопок.

Додаємо наступний код після строки 22.

7. Створюємо ще один ряд кнопок. 


8. Додаємо останній ряд кнопок . 


ДОМАШНЄ ЗАВДАННЯ

ОПРАЦЮВАННЯ КІЛЬКОХ ПОДІЙ

ЕТАП 2. "Створення функціоналу"

На минулому уроці ми вже створили візуальну частину нашого проекту. 



Результатом роботи програми на даному етапі є готовий інтерфейс калькулятора, але при натисканні на кнопки нічого не відбувається, бо ми ще не задали функції.

ДОДАЄМО ФУКНЦІЇ

Створимо таблицю, в якій пропишемо назви функцій, які будемо використовувати в нашому проекті. 

Додаємо функцію для очищення поля Entry:


Додаємо функції для цифрових кнопок.

Почнемо з функції для кнопки «0».


За аналогією додаємо інші функції. 

В результаті отримуємо наступний блок функцій: 



В блоці кнопок також прописуємо властивість command з посиланням на відповідні функції. 

Програмуємо блок зі знаками /, *, +, -.

Відповідно до минулих дій створюємо ще чотири функції



Та прописуємо для кнопок властивість command з посиланням на відповідні функції:

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





Також додаємо до кнопки властивість command з посиланням на функцію. 

ДОДАТКОВО

Подумайте, як працює такий код і де його доцільно було б використати в нашому проекті.


ДОМАШНЄ ЗАВДАННЯ