Pirmoji pamoka, susipažinimas su kompiuteriais ir žaidimų kūrimu

Pamokos turinys

Idėjų pateikimas programavimo kalboje ir pseudo-kodas

Kambaryje yra šviesos jungiklis ir lempa. Šviesos jungiklis yra įjungtas arba išjungtas. Aprašykim taip lietuvišku pseudo kodu:


Jungiklis yra įjungtas

Jeigu (jungiklis yra įjungtas)
    Lempa šviečia
Kitaip
    Lempa nešviečia

// Šitas tekstas nepaveikia kodo: vadinamas komentaru
// Lempa švies


Programuojant mes turime nurodyti kokius daiktus turime, prieš naudodami juos:


Turime jungiklį, kuris yra iš pradžių įjungtas
Turime lempą

Jeigu (jungiklis yra įjungtas)
    Lempa šviečia
Kitaip
    Lempa nešviečia

// Lempa švies


Paprastame pasaulyje jungiklis gali būti tik įjungtas arba išjungtas, todėl turime nuspręsti kokios būsenos yra jungiklis, jeigu mes nenurodome ar jis įjungtas ar ne. Tarkim nauji jungikliai nupirkti yra išjungtos padėties, kaip ir lempa:


Turime jungiklį
Turime lempą

// Lempa nešviečia

Jeigu (jungiklis yra įjungtas)
    Lempa šviečia
Kitaip
    Lempa nešviečia

// Lempa nešvies


Galime turėti kelis jungiklius, todėl verta jiems duoti pavadinimus:


Turime jungiklį "a", kuris yra iš pradžių įjungtas
Turime jungiklį "b", kuris yra iš pradžių išjungtas
Turime lempą "c"

// Pavadinimai pribvalo būti visi unikalūs, nes kompiuteris turi sąrašą pavadinimų ir nori greitai rasti reikiamą daiktą

Jeigu (jungiklis "a" yra įjungtas)
    Lempa "c" šviečia
Kitaip
    Lempa "c" nešviečia

// Lempa švies


Kadangi pavadinimai yra unikalūs, mes galime nebenurodyti ar daiktas yra jungiklis ar lempa, kai jį naudojame antrą kartą:


Turime jungiklį "a", kuris yra iš pradžių įjungtas
Turime jungiklį "b", kuris yra iš pradžių išjungtas
Turime lempą "c"

// Pavadinimai pribvalo būti visi unikalūs, nes kompiuteris turi sąrašą pavadinimų ir nori greitai rasti reikiamą daiktą

Jeigu ("a" yra įjungtas)
    "c" šviečia
Kitaip
    "c" nešviečia

// "c" švies


Nors tai jau neskamba praktiškai, bet vienas jungiklis gali pakeisti kito jungiklio būseną:


Turime jungiklį "a", kuris yra iš pradžių įjungtas
Turime jungiklį "b", kuris yra iš pradžių išjungtas
Turime lempą "c"

Jeigu ("a" yra įjungtas)
    "c" šviečia
    "b" įjungtas
Kitaip
    "c" nešviečia
    "b" išjungtas

// "C" švies
// "b" įjungtas


Mes tik kartą tikriname jungiklio “a” padėtį, todėl išjungdame jungiklį vėliau, neišjungiame lempos:


Turime jungiklį "a", kuris yra iš pradžių įjungtas
Turime jungiklį "b", kuris yra iš pradžių išjungtas
Turime lempą "c"

Jeigu ("a" yra įjungtas)
    "c" šviečia
    "b" įjungtas
Kitaip
    "c" nešviečia
    "b" išjungtas

// "a" įjungtas

"a" išjungtas

// "a" išjungtas
// "C" švies
// "b" įjungtas

Tuo programavimas, ypač paprastas kodas, skirias nuo realybės: viskas vykdoma nuosekliai ir svarbu eilės tvarka.


Jeigu pirma tikriname ar lempa įjungiama o tik paskui nustatome jungiklio padėtį, lempa bus išjungta arba dar blogiau: gausime loginę klaidą:


Turime jungiklį "b", kuris yra iš pradžių išjungtas
Turime lempą "c"

Jeigu ("a" yra įjungtas) // Loginė klaida: jungiklio "a" neturime
    "c" šviečia
    "b" įjungtas
Kitaip
    "c" nešviečia
    "b" išjungtas

Kitaip tariant: iškepti blynai priklauso ne tik nuo tešlos recepto, bet ir nuo to kokia eilės tvarka dedame ingredientus į tešlą.


Kompiuteriui yra nusispjaut į realybę, todėl galime laisvai gauti tokią situaciją:


Turime lempą "a", kuris yra iš pradžių šviečianti
Turime lempą "b", kuris yra iš pradžių nešviečianti
Turime jungiklį "c"

Jeigu ("a" yra šviečianti)
    "c" įjungtas
    "b" šviečia
Kitaip
    "c" išjungtas
    "b" nešviečia

// "a" šviečia
// "C" įjungtas
// "b" šviečia