Tervezés rész

  • Gyakorlatok szerkezetének átbeszélése

    • Mindig tervezéssel kezdünk, kódolással fejezzük be
  • A zh-knál nem azt kódoljuk amit tervezünk

  • Valódi munkánál soha nem ilyen formában készítünk specifikációt - sokszor csak word dokumentumban írjuk le a feladatot

  • Formális specifikáció készítése papíron

  • Későbbi félévekben nem lesz külön kimenet / bemenet, hanem csak egy összevont adattér

  • Ismeretlen mennyiségű adat bevitele (N*) stb. (lásd: kép) - “listák” Formális specifikáció papíron

  • Algoritmusokban elágazások (if / else if / else / switch) használata, elmélete

  • Ciklusok -||-

  • Hogyan néznek ki ezek struktogramban? Ciklusok, Elágazások struktogramban

Programozás rész

  • Használt ide: Visual Studio

  • interpreted vs compiled nyelvek megbeszélése

  • Csak console app-ot kell készíteni ebben a félévben

    • Viszont az automatikus kiértékelő rendszer nem tudja a legújabb c# rendszert kiértékelni (am ez elég gáz)
    • Dotnet 6.0-t kell kiválasztani, mert az biztosan működik
    • Ha már nem elérhető, akkor Dotnet 8.0-t, de akkor bizonyos parancsokat nem szabad használni
    • Do not use top-level statements-et be kell pipálni
  • Egy C# projekt felépítése

    • mi az a .sln fájl?
    • mi az a .csproj fájl?
    • Melyik file-t kell feltölteni a tesztelő rendszerbe
    • a .vs, bin, obj könyvtárakat nem kell soha se feltölteni
  • Ebben a félévben csak egy fájlal fogunk dolgozni

  • Különbség az a++ és ++a között

int a = 5;
Console.WriteLine(a); // 5
a = a + 1;
Console.WriteLine(a); // 6
a++;
Console.WriteLine(a); // 7
++a;
Console.WriteLine(a); // 8
 
Console.WriteLine((a + 1)); // 9
Console.WriteLine(a); // 8
 
Console.WriteLine((a++)); // 8
Console.WriteLine(a); // 9
Console.WriteLine((++a)); // 10
Console.WriteLine(a); // 10
  • a++ kiírja az értéket, majd megváltoztatja
  • ++a megváltoztatja az értéket, majd kiírja