LW0_ауд_Робота на повторення Виявлення залишкових знань.
Shooting AI: цикли, умови, масиви
Робота в аудиторії.
Мета роботи. Закріпити навички програмування мовою C (ввід/вивід, цикли, умови) та виконати перехід до теми масивів шляхом модифікації рішення із використанням масивів.
Інструкція по роботі
1. Відкрити задачу. Перейди за посиланням: https://www.codingame.com/ide/puzzle/onboarding. У правій частині редактора обери мову C.

2. Уважно подивіться, що вже є в коді. У коді нічого видаляти не треба.
Ви бачите
- while (1) – нескінченний цикл (гра працює постійно);
- змінні:
- enemy1, dist1 – перший ворог і відстань до нього;
- enemy2, dist2 – другий ворог і відстань до нього.
- enemy1, dist1 – перший ворог і відстань до нього;
Ці дані оновлюються на кожному кроці гри.
3. Зрозумійте, що ТРЕБА ЗРОБИТИ. На кожному кроці гри потрібно:
- порівняти dist1 і dist2;
- вивести (printf) ІМ’Я ближчого ворога.
Увага!!!! Виводити треба ТІЛЬКИ ім’я ворога, нічого зайвого.
4. Напишіть правильну умову if. Знайдіть місце в коді після зчитування даних і допиши ОЦЕ:
if (dist1 < dist2) {
5. Запустити перевірку:
- Натисніть кнопку PLAY TESTCASE
- Якщо з’являються помилки – уважно подивіться, що написано внизу в Console output
- Коли один тест проходить – натисніть PLAY ALL TESTCASES
6. Переконайтесь, що задача пройшла. Якщо все правильно:
- гра більше не показує YOU LOSE;
- тест-кейси проходять;
- кнопка SUBMIT стає доступною.
7. Натисніть SUBMIT. Дочекайся, поки Codingame прийме рішення
8. Зробіть СКРІНШОТ. На скріншоті має бути видно:
- код;
- що задача прийнята / проходить тести.
9. Здати роботу.
- Код. Скопіюйте весь код і встав у поле “Онлайн-текст” (або прикріпіть .c файл)
- Скріншот. Завантажте скріншот з Codingame
- Коротке пояснення (5–7 речень).
Хід виконання роботи
Завдання 1. Codingame Onboarding (C), базовий алгоритм if-else
- Перейдіть у Codingame (Onboarding): https://www.codingame.com/ide/puzzle/onboarding
- Оберіть мову C.
- Реалізуйте алгоритм: на кожному ході зчитати enemy1, dist1, enemy2, dist2 і вивести ім’я ближчого ворога.
- Запустіть PLAY ALL TESTCASES і натисніть SUBMIT.
- Зробіть скріншот результату (YOU WIN / тест-кейси пройдено).
Завдання 2. Модифікація рішення під масиви (2 вороги → масиви + цикл)
На основі завдання 1 переробіть код так, щоб:
-
- імена ворогів зберігалися у двовимірному масиві char enemy[2][257];
- відстані зберігалися у масиві int dist[2];
- вибір ближчого ворога виконувався через цикл for (пошук мінімуму).
- імена ворогів зберігалися у двовимірному масиві char enemy[2][257];
Вимоги:
-
- Виводити тільки ім’я ворога + \n;
- Не додавати “пояснювальні” printf у вивід;
- Вибір робити саме через цикл, а не if (dist1 < dist2).
- Виводити тільки ім’я ворога + \n;
Питання для самоконтролю
- Що робить while(1)?
- Чому не можна друкувати зайвий текст?
- Для чого потрібен \n?
- Що означає char enemy[2][257]?
- Як знайти мінімум у масиві dist[]?
За результатами роботи студенти повинні здати звіт, який містить по кожній задачі:
- Код/файли:
- task1.c (або вставлений код 1)
- task2.c (або вставлений код 2)
- task1.c (або вставлений код 1)
- Скріншот(и): 1–2 зображення з результатом Codingame.
- Пояснення: 2 короткі абзаци (для кожного завдання окремо).:
- що робить while(1);
- що порівнюється в if;
- чому обирається саме цей ворог;
- що виводить printf.
- що робить while(1);
Критерії оцінювання:
- Завдання 1: правильність рішення + проходження тестів + пояснення – до 5 балів
- Завдання 2: коректне використання масивів + цикл + пояснення – до 5 балів
Разом: 10 балів
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу