Základní programové konstrukty (sekvence, podmínky, přepínače, cykly, a jejich využití)
Tyto pojmy se týkají programovacích jazyků, v průběhu výuky se studenti seznámili s programovacím jazykem AS 3.0, který je využíván v programech Adobe Flash a Adobe Animate. Další programovací jazyk, který se na VOŠVH vyučuje je JavaScript a k němu náležící (JavaScriptová) knihovna JQuery, která klade důraz na propojení JavaScriptu a HTML.
Vysvětlení pojmů:
- konstrukt
- prvek (blok) programovacího jazyka, které umožňují ovládat děj programu
- vytvořené uživatelem, nebo tvůrci knihoven (které mohou být v programu už připravené předem, např. knihovny v Adobe Flash a Animate)
- uživatel může kostrukty v Adobe Flash vytvářet na scéně, do objektů, nebo v externích třídách
- předpřipravené konstrukty jsou umítěné ve vnořených knihovnách. Některé z těchto knihoven jsou přístupné automaticky, jiné potřebují import
- Příklad importu:
import flash.events.MouseEvent;
- sekvence
- blok kódu
- vykonává se postupně (podle toho, jak jdou řádky za sebou)
- proto je důležité nejprve deklarovat funkcí a pak ji teprve volat, nebo nejprve vytvořit proměnnou a pak ji teprve používat. V opačném případě by program nefungoval.
podmínka (podmíněný příkaz)
- podmínka označuje programovou kostrukci, která umožňuje vykonat určitou část programu jen na základě vyhodnocení určitého logického výrazu (nejčastěji porovnávání hodnoty dvou výrazů)
- zjednodušeně: pokud je splněna podmínka, něco se vykoná (pokud není splněna, nic se nevykoná, blok kódu se přeskočí)
- podmínky nám také umožňují větvení programu
- tím ovládájí děj programu a určují jeho další vývoj
- jednoduchá podmínka (neúplný podmíněný příkaz)
- obsahuje pouze jednu větev, pokud podmínka není splněna, nic se nevykoná
- jestliže
if(podmínka){
co se má vykonat
}
- podmínka s alternativou (úplný podmíněný příkaz)
- vždy se něco vykoná
- buď a nebo
if(podminka){
co se má vykonat
} else {
co se vykoná pokud není splněná podmínka
}
- podmínka s více alternativami
- vždy se něco vykoná
- pokud platí dřívější podmínka, další varianty se již nekontrolují
- proto může být vykonána jen jedna z možností
- pro víc možností je tedy třeba napsat víc (oddělených) podmínek
- vždy se něco vykoná
if(podminka 1){
co se má vykonat
} else if (podmínka 2) {
co se vykoná pokud není splněná podmínka 1
ale je splněná podmínka 2
} else {
co se vykoná pokud není splněná
ani jedna podmínka
}
- vnořená podmínka
- nachází se uvnitř existující podmínky
- můžeme ji využít pokud chceme, aby byly splněny dvě podmínky (nebo více) současně
- vnořená podmínka se vykoná jen pokud je vnější podmínka splněná
if(podminka){
co se má vykonat
if(další podmínka){
co se má vykonat
}
}
Na co se dají použít podmínky?
- hry – postava má v inventáří klíč, může otevřít dveře
- splní úkol, může jít do další mise
- hesla, omezení přístupu (věk)
Operátory v podmínkách
- porovnávají hodnoty proměnných
- mohou porovnávat buď proměnnou s hodnotou, nebo dvě proměnné mezi sebou
- Jsou to tyto operátory:
== porovnávnání, rovná se (hodnota za operátorem) – vykoná se jen pokud je hodnota stejná
!= nerovná se (hodnota za operátorem) – vykoná se v případě jakékoliv jiné hodnoty
> větší než (hodnota za operátorem)
< menší než (hodnota za operátorem)
>= větší nebo rovno (hodnota za operátorem)
<= menší nebo rovno (hodnota za operátorem)
Operátory pro porovnávání dvou a více proměnných
&& a současně – musí platit obě podmínky najednou
if( (podminka1==hodnota1)&&(podminka2==hodnota) ){ }
|| nebo – buď platí jedna podmínka, nebo druhá
if( (podminka1==hodnota1)||(podminka2==hodnota) ){ }
Přepínač – switch
- hodí se pro více variant, pokud porovnáváme jednu proměnnou s více hodnotami
- jenom porovnává (==) hodnoty
switch (promenna) { case 1: co se vykoná break; // ukončí porovnávání case 2: co se vykoná break; case 3: co se vykoná break; default: co se vykoná }
Při použití podmínek by stejný příkaz vypadal takto:
if(promenna==1){ co se vykoná } else if (promenna==2){ co se vykoná } if (promenna==3){ co se vykoná } else { co se vykoná }
Cykly
- cyklus umožňuje vykonávat akci opakovaně
- nemá omezení, může se opakovat třeba tisíckrát (cyklus omezuje jen kapacita výpočetní paměti zařízení a programu)
- hodí se na vytváření galerií, generování objektů
- cyklus probíhá v pozadí programu PŘED TÍM, než se začne vykreslovat scéna – scéna se začne vykreslovat až po dokončení cyklu
- for cyklus
- po dobu, kdy něco platí, něco se vykonává
- proměnná existuje jen uvnitř cyklu, nedá se volat zvenčí
for(var i:Number=0;podmínka i<10;i++ k i se přičte 1 při každém vykonání) { to co chceme opakovaně vykonávat }
- while cyklus
- zatímco něco platí, něco se vykonává
- dokud se proměnná nezmění, něco se vykonává
while(podminka){ co se má stát }
- while cyklus s podmínkou
- proměnná musí být definovaná mimo cyklus while
- proměnnou je měnit nebo volat i dalšími funkcemi
while(podmínka cislo<20){ co se má stát cislo++; }
- cyklus do…while
- proměnná musí být deklarovaná mimo cyklus
var c:Number = 0; do{ co se má vykonat c++ } while (c<25);
Příkazy, které se dají používat v podmínkách a cyklech
- break
- přeruší všechno, co je za řádkem, na kterém je a skočí až za konec podmínky, cyklu, funkce… (za první závorky za breakem)
- continue
- ukončí stávající cyklus, skočí na další, pokračuje ve vykonávání kódu