Урок 4: Структури Управління – Як Приймати Рішення (І Казати Своїй Програмі Що Робити!)


Урок 4

Урок 4: Структури Управління – Як Приймати Рішення (І Казати Своїй Програмі Що Робити!)


Вітаю з поверненням, сміливий мандрівник у світі коду! 🗺️

До цього моменту ти вже навчився зберігати числа, виконувати якісь обчислення та змушувати свої змінні працювати. Але тепер час підняти планку і керувати потоком своєї програми. Бо, якщо чесно, якщо твій код не може приймати рішення або повторювати завдання, то це як GPS, що не вміє перебудувати маршрут — повний хаос!

Готуйся дослідити загадковий світ структур управління. Від умов if до циклів, ти скоро будеш тримати кермо і вирішувати, що має робити твоя програма і коли. Тож пристебнись, візьми чашечку кави (краще подвійну сьогодні), і погнали!


Умови If – Вчимо Твій Код Думати

Почнемо з основ: інструкція if. Уяви, що це вибивала на вході в клуб — пропускає лише тих, у кого все в порядку.

Синтаксис простий:

if (умова) {
    // код для виконання, якщо умова істинна
}

Уяви, що у тебе є програма, яка перевіряє, чи є в тебе достатньо кави в чашці:

#include <stdio.h>

int main() {
    int kava = 3;

    if (kava > 0) {
        printf("Продовжуй програмувати, у тебе ще є кава!\n");
    }

    return 0;
}

Пояснення: Якщо значення kava більше 0, програма виведе “Продовжуй програмувати, у тебе ще є кава!”. Інакше вона просто мовчатиме — як хороший бариста, який не лізе, коли ти залишився без кофеїну.

Інструкція else – Як Працювати з “От Лихо!” Сценаріями

А що, якщо кава закінчилася? Ти ж не хочеш, щоб твоя програма просто сиділа і дивилася на тебе порожніми очима. Тут у гру вступає інструкція else:

if (kava > 0) {
    printf("Продовжуй програмувати, у тебе ще є кава!\n");
} else {
    printf("Кава закінчилася! Пора на кухню за новою порцією.\n");
}

Тепер з else твоя програма знає, як поводитись в обох випадках. Це як мати план “Б” — бо ніхто не хоче програмувати без кави!


Інструкція else if – Додаємо Більше Умов

А що, якщо в тебе занадто багато кави? (Так, таке буває!) Додаємо ще одну умову з else if:

if (kava > 5) {
    printf("Ей, не захоплюйся кавою! Час пригальмувати.\n");
} else if (kava > 0) {
    printf("Продовжуй програмувати, у тебе ще є кава!\n");
} else {
    printf("Кава закінчилася! Пора на кухню за новою порцією.\n");
}

Тепер твоя програма обробляє три сценарії:

  1. Якщо у тебе більше 5 чашок — програма каже, щоб ти трохи збавив оберти.
  2. Якщо залишилося трохи кави, вона підбадьорює тебе продовжувати.
  3. Якщо кави немає, посилає тебе до кавоварки.

Інструкція switch – Коли Багато Опцій

Якщо if, else і else if схожі на дорожні знаки, то switch — це як світлофор із кількома смугами руху. Використовуй switch, коли у тебе є одне значення і кілька можливих результатів.

Уяви, що хочеш перевірити день тижня:

#include <stdio.h>

int main() {
    int den = 4; // Припустимо, 4 — це четвер

    switch (den) {
        case 1:
            printf("Понеділок… Ех.\n");
            break;
        case 2:
            printf("Вівторок… майже тягнемо!\n");
            break;
        case 3:
            printf("Середа, ми на середині!\n");
            break;
        case 4:
            printf("Четвер, майже вихідні!\n");
            break;
        case 5:
            printf("П’ятниця, час святкувати!\n");
            break;
        case 6:
        case 7:
            printf("Вихідні! Час для відпочинку.\n");
            break;
        default:
            printf("Невірний день...\n");
    }

    return 0;
}

Пояснення: Залежно від значення den, програма виводить різне повідомлення. switch ідеальний, коли у тебе багато варіантів і ти не хочеш забивати код купою if.


Цикли – Змусь Свій Код Працювати Без Перерви

Отже, ми розібралися з умовами, тепер час поговорити про те, як змусити програму повторювати дії знову і знову. Саме тут вступають у гру цикли. Цикли — це як бігова доріжка програмування — вони крутяться, поки ти не скажеш їм зупинитись.

  1. Цикл for – Ідеально, коли знаєш точно, скільки разів хочеш щось повторити.
for (int i = 0; i < 5; i++) {
    printf("Ітерація %d\n", i);
}
  1. Цикл while – Супер, коли не знаєш, скільки разів повторювати.
int kava = 3;
while (kava > 0) {
    printf("У тебе ще залишилося %d чашок кави.\n", kava);
    kava--; // Випиваєш одну чашку
}
  1. Цикл do-while – Як while, але виконується мінімум один раз.
int kava = 0;
do {
    printf("Потрібно поповнити запаси кави!\n");
} while (kava > 0);

Поширені Помилки у Циклах

  1. Нескінченні Цикли: Забув змінити значення змінної циклу — вітаю, програма застрягла назавжди! Завжди май план виходу.

  2. Помилки Off-By-One: for (int i = 0; i <= 5; i++) запуститься 6 разів, а не 5. Перевіряй умови обережно!

  3. Break і Continue: Використовуй break, щоб вийти з циклу раніше, а continue, щоб перескочити до наступної ітерації.


Домашнє Завдання: Створи Гру-Вгадалку!

Перевір свої нові навички, створивши гру-вікторину. Ось що потрібно зробити:

  1. Вибери випадкове число від 1 до 10.
  2. Запитай у користувача, щоб він його вгадав.
  3. Використовуй if і while, щоб підказувати та продовжувати запитувати, поки користувач не вгадає правильно.

Бонусні Бали: Додай лічильник спроб, щоб відстежувати, скільки разів користувач намагався вгадати. Подивись, чи зможеш ти побити свій власний рекорд!


Фінальні Думки

Сьогодні ти опанував структури управління — справжню основу кожної складної програми. Але не поспішай знімати свій програмістський капелюх! Приєднуйся до мене на Уроці 5, де ми зануримося в дивовижний світ функцій. Готуйся структурувати свій код, уникати повторів і стати справжнім майстром функцій! 🧙‍♂️✨


See also