Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

4. diel - Využitie umelej inteligencie pri štúdiu programovania

V predchádzajúcej lekcii kurzu C#, Premenné, typový systém a parsovanie v C# .NET, sme si ukázali základné dátové typy, boli to int, string a float.

V tomto tutoriáli sa naučíme využívať AI pri štúdiu programovania. Ukážeme si, ako pomocou umelej inteligencie lepšie pochopiť zložité koncepty a zrýchliť riešenie úloh, pri ktorých bežne trávime veľa času.

Pozor: AI je dobrý pomocník, ale zlý pán! Táto lekcia ti ukáže, ako ti AI nájde chybu v tvojom kóde alebo jednoduché úlohy vyrieši úplne za teba. Najprv však musíš nad úlohou premýšľať a skúšať ju sám, než požiadaš o pomoc AI. Inak nebudeš schopný v zamestnaní riešiť komplexnejšie úlohy, s ktorými ti AI nepomôže, pretože jej nemôžeš poslať celý firemný projekt. Vo vlastnom záujme používaj AI len ako pomocníka, keď nevieš, ako ďalej, a už si vyčerpal všetky možnosti.

Využitie AI pri štúdiu programovania

Štúdium programovania môže byť občas náročné. Budeme sa stretávať s množstvom nových konceptov a nezvyčajných problémov. Dnešná doba nám však poskytuje AI nástroje, ktoré nám prácu aj štúdium veľmi uľahčia. Stačí sa ich naučiť správne používať. Nerozumieme nejakej téme? ChatGPT nám danú problematiku na základe našich otázok znovu vysvetlí a pomôže nám si danú tému osvojiť. Narazili sme na problém v nejakej úlohe? Nástroj Canvas ho s nami rozoberie a v prípade potreby odporučí ďalší postup, opraví chyby a podobne. Strávili sme hodinu lúštením nášho kódu a nakoniec sme zistili, že celý problém zapríčinila chýbajúca zátvorka? Nie sme prví ani poslední – toto je skutočne viac ako bežné. Keď si osvojíme používanie AI nástrojov, bude riešenie podobných problémov otázkou niekoľkých sekúnd.

AI je nápomocná aj v mnohých ďalších oblastiach. Ako ju správne využívať sa učíme v kurzoch Umelá inteligencia.

Potrebuješ poradiť? ChatGPT ti pomôže rýchlejšie ako lektor

Skvelým parťákom, a to nielen pri štúdiu, bude pre nás najmä ChatGPT. Zrozumiteľne nám vysvetlí zložitejšiu látku, prediskutuje s nami náročnejšie koncepty a dokáže navrhnúť aj riešenie technických problémov v našom počítači. Pre študentov našich rekvalifikačných kurzov sú samozrejme k dispozícii konzultácie s lektormi.

Vo väčšine prípadov však môžeme náš problém či otázku vyriešiť pomocou ChatGPT oveľa rýchlejšie a rovnako efektívne ako s lektorom.

ChatGPT je k dispozícii prostredníctvom mobilnej aplikácie alebo online na adrese chatgpt.com. V riešení problémov vie byť naozaj vynaliezavý a opýtať sa ho môžeme prakticky na čokoľvek:

Prompt pre ChatGPT - Základná konštrukcia jazyka C# .NET

Pri komunikácii s chatbotom sa dozvieme množstvo zaujímavých informácií a pochopíme aj zložité koncepty, ktorých je v programovaní mnoho:

Odpoveď ChatGPT na zadaný prompt - Základná konštrukcia jazyka C# .NET

Môžeme sa napríklad opýtať na látku, ktorá nám nie je jasná a ktorú by sme potrebovali vysvetliť:

Vysvetli, na čo slúži v C# konštruktor.

Odpoveď od ChatGPT

V C# (a všeobecne v objektovo orientovanom programovaní) slúži konštruktor na inicializáciu novo vytvoreného objektu triedy. Inými slovami, je to špeciálna metóda, ktorá sa automaticky zavolá, keď je vytvorený nový objekt pomocou kľúčového slova new.

🧱 Základný účel konštruktora

  • Inicializácia dát: Nastaví predvolené hodnoty pre premenné (vlastnosti) objektu.
  • Príprava prostredia: Môže napríklad otvoriť súbor, nadviazať spojenie, overiť vstupy a pod.
  • Zaistenie konzistencie: Konštruktor môže zabrániť vytvoreniu neplatného objektu (napr. vyžaduje určité parametre).

🛠️ Syntax konštruktora Konštruktor:

  • má rovnaký názov ako trieda,
  • nemá návratový typ, ani void.

Príklad:

public class Person
{
    public string Name;
    public int Age;

    // Constructor
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

Vytvorenie objektu:

Person person = new Person("John", 30);

🔄 Typy konštruktorov

1. Predvolený konštruktor (bez parametrov):

public Person()
{
    Name = "Unknown";
    Age = 0;
}

2. Parametrizovaný konštruktor:

  • Používa sa na zadanie hodnôt pri vytváraní objektu (pozri príklad vyššie).

3. Statický konštruktor:

  • Slúži na inicializáciu statických členov triedy.
class Settings
{
    public static string Version;

    static Settings()
    {
        Version = "1.0.0";
    }
}

Volá sa iba raz – pri prvom použití triedy.

✅ Zhrnutie

Konštruktor v C#:

  • je špeciálna metóda volaná pri vytvorení objektu,
  • slúži na inicializáciu premenných a prípravu objektu,
  • môže mať viac variantov (tzv. preťaženie),
  • zvyšuje bezpečnosť a prehľadnosť kódu.
Chceš aj príklad s dedičnosťou a volaním konštruktora predka?

Ďalej sa môžeme tiež opýtať na praktické využitie určitého konceptu, napríklad dedičnosti:

Vysvetli, čo je dedičnosť v C#, na čo sa používa v praxi a uveď jednoduchý príklad s kódom.

Odpoveď od ChatGPT

Dedičnosť v jazyku C# je kľúčový princíp objektovo orientovaného programovania (OOP), ktorý umožňuje vytvárať nové triedy na základe už existujúcich tried. Dedičnosť podporuje znovupoužiteľnosť kódu, rozšírenie funkcionality a lepšiu organizáciu softvéru.

🔍 Čo je dedičnosť?

V C# môže jedna trieda (potomková alebo odvodená trieda) dediť vlastnosti a metódy inej triedy (tzv. základná alebo nadradená trieda). Dedičnosť je jednostranná – potomková trieda preberá členov základnej triedy, nie naopak.

Používa sa kľúčové slovo :, Ktorým sa určuje, že jedna trieda dedí od inej.

🎯 Na čo sa dedičnosť používa?

  • Znovupoužitie kódu: Zdieľanie spoločných vlastností a metód bez nutnosti ich opakovaného písania.
  • Rozšírenie funkcionality: Potomková trieda môže pridávať nové vlastnosti alebo prepisovať existujúce (pomocou override).
  • Polymorfizmus: Umožňuje pracovať s rôznymi typmi objektov prostredníctvom jednotného rozhrania.

🧪 Jednoduchý príklad v C#

// Base class
public class Animal
{
    public string Name { get; set; }

    public void MakeSound()
    {
        Console.WriteLine("Making a generic animal sound.");
    }
}

// Derived class
public class Dog : Animal
{
    public void Bark()
    {
        Console.WriteLine("Woof woof!");
    }
}

// Usage in the Program class
class Program
{
    static void Main(string[] args)
    {
        Dog myDog = new Dog();
        myDog.Name = "Rex";
        myDog.MakeSound();  // Method inherited from Animal
        myDog.Bark();       // Specific method of the Dog class
    }
}

✅ Výstup programu:

Making a generic animal sound.
Woof woof!

🧩 Zhrnutie

Dedičnosť umožňuje vytvárať hierarchie tried, kde nižšie úrovne (potomkovia) preberajú správanie vyšších (rodičia). Vďaka tomuto princípu je kód modulárny, prehľadnejší a ľahšie rozšíriteľný. V reálnych projektoch sa často používa na modelovanie vzťahov typu "je typom" – napríklad Car je Vehicle.

Chceš aj príklad s prepisom metódy (override) alebo napríklad s triedou abstract ?

Kvalita odpovede závisí predovšetkým od našej otázky, tzv. promptu. Ako správne štruktúrovať prompt, sa učíme v lekcii Vytvárame efektívne prompty pre excelentné výstupy.

Nefunguje ti kód? Vyskúšaj nástroj ChatGPT Canvas

Pri práci s ChatGPT je možné využiť rozšírenie Canvas, ktoré ponúka okrem iného aj rozhranie pre interaktívnu prácu s kódom. Na rozdiel od bežného chatovacieho okna umožňuje organizovať odpovede a návrhy kódu do blokov, čo je ideálne pre zložitejšie úlohy, ako je návrh architektúry aplikácie alebo ladenie rozsiahlejších projektov. Vďaka vizuálnemu usporiadaniu je možné lepšie sledovať jednotlivé kroky návrhu, experimentovať s rôznymi prístupmi a ľahko sa vracať k predchádzajúcim verziám riešenia. Nástroj spustíme tlačidlom Canvas v menu ChatGPT, ktoré sa nám otvorí po kliknutí na tri bodky v chatovacom okne:

Zapnutie Canvasu v ChatGPT - Základná konštrukcia jazyka C# .NET

Teraz chatbotu odovzdáme náš kód a začneme na ňom pracovať:

Console.Write("Enter your name: ");
string name = Console.ReadLine();

if (name.Length <= 3 && name.Length >= 10) {
    Console.WriteLine("Normal name");
}
else {
    Console.WriteLine("Your name is too short or too long!");
}
Console.ReadLine();

Nástroj nám v kóde vyhľadá a opraví chyby:

Editácia kódu v Canvase - Základná konštrukcia jazyka C# .NET

Pri správne zadanom prompte môžeme v našom kóde jednoducho doplniť chýbajúcu funkcionalitu:

Oprav kód a pridaj validáciu vstupu. Chcem, aby nešlo zadať prázdne meno.

Editácia kódu v Canvase – doplnenie funkcionality - Základná konštrukcia jazyka C# .NET

GitHub Copilot – Pomocník priamo v tvojom IDE

GitHub Copilot je AI asistent vyvinutý spoločnosťami GitHub a OpenAI. V Visual Studio je k dispozícii ako rozšírenie, ktoré je schopné navrhovať doplnenia v našom kóde, generovať kód podľa zadania či vyhľadávať a opravovať chyby.

Pozor: Nepoužívej nástroj Copilot vo svojom IDE, pretože bez dôkladného zvládnutia základov programovania sa nenaučíš samostatne vytvárať funkčný kód a v zamestnaní budeš ľahko nahraditeľný.

AI nástroje dokážu pri štúdiu programovania výrazne pomôcť - uľahčujú pochopenie ťažké látky a riešenie náročných úloh. Po dohode so zamestnávateľom ich možno uplatniť aj v praxi, kde môžu šetriť čas a zvyšovať produktivitu. Preto je dôležité sa s nimi naučiť efektívne pracovať a využívať ich potenciál naplno.

V nasledujúcom kvíze, Kvíz - C# .NET, konzola a premenné, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.


 

Predchádzajúci článok
Premenné, typový systém a parsovanie v C# .NET
Všetky články v sekcii
Základná konštrukcia jazyka C# .NET
Preskočiť článok
(neodporúčame)
Kvíz - C# .NET, konzola a premenné
Článok pre vás napísal Adam Straňovský
Avatar
Užívateľské hodnotenie:
20 hlasov
Autor se zabývá výukou a vzděláváním dospělých, zejména v oblasti výpočetní techniky, programování a tvorby webových stránek. Ve volném čase se rád věnuje hudbě a hře na kytaru.
Aktivity