Otázka 1 2016/2017

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

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

Posted

in

by

Tags: