Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

11. клас · Избираем модул · Урок 29

AI асистент в помощ на програмирането

Как асистентът обяснява непознат код, генерира решение и предлага тестове; как се пита за код (език, вход, изход, ограничения) и къде подвежда.

Асистентът и вашият C#

В Модул 1 пишете програми на C#. Същият асистент, с който разговаряхте в урок 28, чете и пише код — и то доста добре, защото в обучението му има огромно количество програми. Днес го ползваме за три неща:

УпотребаКакво искамеПример за реплика
Обяснениеда разберем чужд или непознат код„Обясни ред по ред какво прави тази програма.“
Генериранерешение на задача, която можем да опишем„Напиши програма на C#, която…“
Тестовевходове с очакван изход, с които да проверим„Предложи пет тестови входа с очакван изход.“

Какво ускорява и къде подвежда

УскоряваПодвежда
Кодшаблонен код, четене на вход, форматиране на изходзадача с особено условие, което не сте описали
Обяснениепозната конструкция — цикъл, метод, масивтвърди уверено какво извежда кодът, без да го е пуснал
Грешкиразчита съобщение на компилаторагрешка, която зависи от вход, който не е видял
Стилимена, подредба, коментариползва конструкции, които още не сте учили (LINQ, ламбда)
Отговорност—винаги на човека

Как се пита за код

Заданието за код има същите пет части като в урок 28, но с програмистка конкретика. Липсва ли някоя — асистентът ще япредположи, обикновено погрешно.

Какво казватеЗащо е нужноПример
Език и средаиначе може да даде Python или уеб приложениеC#, конзолно приложение, както в Модул 1
Входоткъде идват данните и в какъв видчете N от клавиатурата, после N цели числа, по едно на ред
Изходточният вид на резултатапечата само числото, без текст
Ограничениякакво да не ползва и какви случаи да покриебез LINQ и без методи, които не сме учили; да работи и при N = 0
Примервход и очакван изход, по които се проверявавход 10 → изход 18
Слабо заданиеДобро задание
ТекстНапиши програма за сбор на кратните на 3C#, конзолно приложение. Чете N от клавиатурата и печата сбора на числата от 1 до N, кратни на 3. Само цикъл и if, без LINQ. Пример: 10 → 18. Обясни кода с коментари.
Какво ще предположиезик, откъде идва N, докъде се брои, какъв изходнищо — всичко е зададено
Ти си учител по C# в 11. клас. Напиши конзолна програма на C#:
- вход: цяло число N от клавиатурата
- изход: сборът на числата от 1 до N, които се делят на 3
- ползвай само цикъл for и if, без LINQ и без Math
- пример: вход 10 → изход 18; вход 2 → изход 0
Обясни всеки ред с кратък коментар.

Как се проверява обяснение

Когато асистентът обяснява код, той може да сгреши точно както при факти — уверено. Обяснението се проверява по същия начин, както се проверява ученик: с конкретен въпрос, чийто отговор знаете.

  1. Пуснете кода сами във Visual Studio с прост вход и запишете изхода.
  2. Попитайте асистента: „Какво ще изведе програмата при вход X?“ — с вход, който вече сте пробвали.
  3. Сравнете. Съвпада ли? Ако не — кой греши: той или вие?
  4. Пробвайте вход с особеност — нула, число с нула по средата, отрицателно. Тук обясненията най-често се разминават с кода.
  5. Ако не разбирате ред от обяснението — питайте за него, не го приемайте.

Умението, което остава

Да прочетете чужд код и да прецените верен ли е. Точно това правехте в Модул 1, когато търсехте грешка в програма. Сега асистентът произвежда чужд код в големи количества — и умението поскъпва.

Какво трябва да запомниш

  • Асистентът е полезен за три неща: обяснение на код, генериране на решение, предлагане на тестове.
  • Заданието за код съдържа език и среда, вход, изход, ограничения и пример.
  • Каквото не е казано, асистентът го предполага — обикновено погрешно.
  • Обяснението се проверява с въпрос, чийто отговор знаете, защото сте пуснали кода.
  • Най-опасен е кодът, който работи на примера и е грешен другаде.
  • Разрешен е навсякъде — при условие, че обяснявате всеки ред.