Визначити переможця чемпіонату Англії з футболу. Результати матчів подано в файлах (посилання на папку на гітхабі) наступному форматі – Назва команди, результати матчу №1-№10
, наприклад:
1
Chelsea FC,3:0,0:0,1:0,0:2,4:1,3:1,0:3,1:5,0:2,4:1
Перший рядок задає кількість команд, результати яких знаходяться в цьому файлі.
Результат матчу подається у форматі A:B
, де А – результат команди, В – результат супротивника. За перемогу команда отримує 3 очка, за нічию – 1, за програш – 0. Необхідно вивести підсумкову таблицю чемпіонату.
На вхід програми подається назва теки. Вивід – файл results.csv з результатами всіх команд ліги. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.
Перед виконанням уважно прочитайте цю інструкцію до виконання всіх лаб і виконайте, що там написано.
Варіант завдання – остача від ділення номеру бригади на 3 (цей номер ви берете просто по порядку, записуючись у табличку нижче). Варіантами можна обмінюватись, але не можна просто змінювати за власним бажанням. Це зроблено, щоб кількість різних виконаних варіантів залишалась рівною.
За цю роботу ви отримуєте максимум 4 бали: 2 бали за виконання роботи і ще 0-2 за виконання додаткового задання під час заняття.
Будь ласка, не використовуйте pull requests при виконанні роботи. В такій малій роботі це зайві складнощі, без яких ви наразі запросто обійдетесь.
Не використовуйте сторонні чи вбудовані засоби для розбору файлів csv, частина завдання – навчитися робити це власноруч.
Пам'ятайте, що кожен учасник бригади має виконати хоча б кілька коммітів, як би це не було складно і "надумано". Роботи, в яких будуть комміти типу "initial commit", "lab2 done.", "little fix" просто не прийматимуться. Краще відразу починайте з git і заливайте код поступово при виконанні роботи. Чим швидше у вас з'явиться звичка робити невеликі комміти при невеликих змінах коду, тим краще для вас як фахівця. Одна з найбільш неприємних речей, які трапляються на реальних проектах, – великі комміти, що ламають поведінку програми. Після таких доводиться витрачати безліч часу розбираючись, в якому конкретному місці все зламалося.
Перша робота зроблена дуже простою спеціально, щоб ви мали нагоду ознайомитися з git і спробувати працювати удвох в бригаді. Для успішної здачі роботи вам треба:
- Вміти виконувати операції над текстовими файлами (читання, обробка, запис), розуміти призначення формату .csv
- Вміти знаходити файли в папках за допомогою обраної вами мови програмування.
- Буде плюсом розібратись з іншими форматами для подання даних
- Розібратись з основами роботи в git не тільки в git-game, але і в реальних умовах, коли ви робите справжні зміни в код. Як мінімум вам знадобляться команди add, commit, checkout, merge, rebase. Спробуйте також використовувати revert та reset, якщо ви наробили дурниць і хочете все виправити. Якщо ви ще не робили першу роботу, зараз саме час: вона познайомить вас із основами git, щоб ви не відволікались на них при виконанні цієї.
- Як хороші додаткові знання, які рано чи пізно знадобляться – stash, interactive rebase. Взагалі круто – git flow, але якщо ви тільки знайомитесь з гітом, залиште це на потім.
- Під час здачі роботи буде завдання, що полягатиме у навмисному створенні конфліктів при merge або rebase, які ви матимете вирішити.
Цілком можливо, у вас виникнуть проблеми з кириличним кодуванням символів. В сучасних мовах програмування найчастіше використовують кодування Unicode, де кожен символ може займати різну кількість байтів у пам'яті, а не лише 1 (це як?). Якщо ви працюєте із C, просто скористайтеся транслітерацією і не витрачайте зайвого часу, це не впливатиме на оцінку.
Якщо у вас є зауваження, виправлення або доповнення до завдання лабораторної роботи, яке ви читаєте зараз, робіть pull request.
Реалізувати складання списку студентів, що отримують стипендію. На вхід подається назва директорії, всередині якої необхідно зчитати всі текстові файли .csv. Перший рядок кожного файлу містить ціле число – кількість студентів, що записані в файлі, всі інші рядки мають такий формат:
Прізвище, предмет №1,№2,№3,№4,№5, контрактник
, наприклад
2
Ivanov,78,61,95,87,90,FALSE
Petrov,85,66,70,99,100,TRUE
Необхідно розібрати всі такі файли (посилання на папку на гітхабі), скласти одну велику таблицю, підрахувати для кожного студента-бюджетника середній бал та вивести вищі 40% сумарного рейтингу студентів + мінімальний бал для отримання стипендії.
На вхід програми подається назва теки. Вивід – файл rating.csv з прізвищами студентів-стипендіатів та їх середній бал (до третього знаку). Мінімальний бал для стипендії можна вивести в stdout. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.
Ваше завдання: визначити список країн-переможців у конкурсі Допобачення-2020. На вхід подається назва директорії, всередині якої необхідно зчитати всі текстові файли .csv. Всі файли (посилання на папку на гітхабі) мають такий формат Країна, кількість голосів за у країні №1-№20
, наприклад:
1
Ukraine,78000,6156,495,7,9456460,45645,21213,898...
Перший рядок містить кількість країн, що знаходяться в кожному з файлів. Кожен наступний рядок містить кількість голосів від кожної з країн-учасниць. У прикладі вище Україна отримала 78000 голосів від країни №1, 6156 голосів від країни №2 тощо. Країна, що набрала найбільшу кількість голосів (в стовпчику) отримує 12 балів, друге місце – 10, з третього по десяте – 8-1 бал відповідно. Необхідно порахувати сумарну кількість балів за кожну країну і вивести топ-10 переможців у текстовий файл.
На вхід програми подається назва теки. Вивід – файл results.csv з результатами найкращих десяти країн Допобачення-2020. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.
Визначити переможця чемпіонату Англії з футболу. Результати матчів подано в файлах (посилання на папку на гітхабі) наступному форматі – Назва команди, результати матчу №1-№10
, наприклад:
1
Chelsea FC,3:0,0:0,1:0,0:2,4:1,3:1,0:3,1:5,0:2,4:1
Перший рядок задає кількість команд, результати яких знаходяться в цьому файлі.
Результат матчу подається у форматі A:B
, де А – результат команди, В – результат супротивника. За перемогу команда отримує 3 очка, за нічию – 1, за програш – 0. Необхідно вивести підсумкову таблицю чемпіонату.
На вхід програми подається назва теки. Вивід – файл results.csv з результатами всіх команд ліги. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.