GithubHelp home page GithubHelp logo

s2_op_textfileprocessing's Introduction

Варіант #2

Визначити переможця чемпіонату Англії з футболу. Результати матчів подано в файлах (посилання на папку на гітхабі) наступному форматі – Назва команди, результати матчу №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 з результатами всіх команд ліги. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.

Повна версія:

Assignment #2. Text files processing

Перед виконанням уважно прочитайте цю інструкцію до виконання всіх лаб і виконайте, що там написано.

Варіант завдання – остача від ділення номеру бригади на 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.

Варіант #0

Реалізувати складання списку студентів, що отримують стипендію. На вхід подається назва директорії, всередині якої необхідно зчитати всі текстові файли .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. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.

Варіант #1

Ваше завдання: визначити список країн-переможців у конкурсі Допобачення-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. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.

Варіант #2

Визначити переможця чемпіонату Англії з футболу. Результати матчів подано в файлах (посилання на папку на гітхабі) наступному форматі – Назва команди, результати матчу №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 з результатами всіх команд ліги. Вихідні дані повинні містити єдиний результат виконання для всіх файлів вхідної директорії.

s2_op_textfileprocessing's People

Contributors

milahalko avatar

Watchers

 avatar

Forkers

vostok17

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.