PharoAthleteProject

Description

Створено для ознайомлення з особливостями взаємодії Pharo та GitHub.

Details

Source
GitHub
Dialect
pharo (25% confidence)
Created
Oct. 11, 2025
Updated
Nov. 20, 2025

Categories

Packaging / VCS

README excerpt

ВАРІАНТ № 3
Спроектуйте класи, вказані нижче. У кожному з них визначте метод виведення в потік, 
методи порівняння, виконання арифметичних дій. Оголошення цих класів розташуйте у 
окремому пакеті. Інформацію про екземпляри класів задайте в Playground, прочитайте з 
клавіатури або з файлу. Функціонал класів перевірте за допомогою модульних тестів.

1. Сутність «спортсмен» характеризується такими даними: прізвище, вік, громадянство. 
Тенісист додатково пам’ятає світовий рейтинг та призові, зароблені в трьох останніх 
турнірах. Футболіст пам’ятає клуб, величину річного контракту та кількість забитих (у 
році) голів. Кожен гол збільшує його дохід на 1%. Оголосіть класи, що моделюють 
описані сутності. Екземпляри цих класів вміють повідомляти прізвище, вік, заробіток.
Спортсменів порівнюють за величиною прибутків.

3. Створіть п’ять різних спортсменів та занесіть їх у контейнер. Забезпечте можливість 
вводити в режимі діалогу інформацію про нового спортсмена і долучати його до 
колекції інших. Надрукуйте всі елементи контейнера. Знайдіть об’єкт з найбільшим 
прибутком. Чи це футболіст? Продемонструйте використання арифметичних 
операторів. Збільшіть вік кожного спортсмена на один рік; створіть нову колекцію, що 
містить дані про українських спортсменів.

5. Продемонструйте зберігання створених об’єктів до файлу (до різних файлів у різних 
форматах), до бази даних (наявність бази можна імітувати в пам’яті) та завантаження 
їх з файлу, з бази. Робота з БД - завдання на майбутнє.


Обовʼязки розподілялись зазвичай в міру надходження завдання: отримали 
завдання -- поділили між собою завдання приблизно порівно на всіх -- виконали. 

Однак, якщо дивитись загальніше: Шмигельський Роман -- створення та розробка більшості 
елементів базового класу атлет(або спортсмен), Торський Роман -- створення більшості 
елементів класу футболіста, Валага Назар -- створив більшість елементів класу тенісиста.

Також, було створено класи для тестування класів:
Шмигельський Роман -- створив всі тести для базового класу.
Торський Роман -- створив всі тести для класу, що моделює сутність футболіста.
Валага Назар -- створив всі тести для класу, що моделює сутність тенісиста.

Детальніше виконання роботи учасниками можна побачити за історією комітів репозиторію.

Під час роботи команда стикалася з тим, що середовище Pharo автоматично створило гілку master, 
на яку й зберігало всі зміни. Ця проблема була вирішена злиттям гілок main та master в одну.
Також, під час роботи стикалися із тим, що середовище блокувало commit, pull, push. З невідомих 
для нас причин, це ставалося, і це було вирішено шляхом копіювання репозиторію, та створення 
нового локального репозиторію. 
Була спроба створити baseline для зручного завантаження коду з репозиторію. Однак, спіткала 
невдача(припускаю, що справа саме у назві пакету, яка містить дефіс у назві). Хоч і було знайдено 
інформацію про те, що не так важлива назва пакету, як назва класу -- головне, щоб вона була 
правильно вказана. Однак, це не працювало. Проблема не була вирішена до кінця. Команда прийняла 
рішення вже не переносити весь код у інший пакет та залишити все як є, задля уникнення 
потенційних проблем зі зміненими шляхами.

На жаль, станом на 17 листопада 2025 року, не було зʼясовано з яких причин середовище ламається 
при спробі завпуску методу salary у Footballer, та addPrizeMoney у TennisPlayer. Як тільки 
користувач запускає код де має виконатися один із вище вказаних методів -- середовище ламається. 
← Back to results