Programovanie pre neprogramátorov – 2. lekcia

Tento článok je súčasťou môjho online kurzu programovania v JavaScripte. Každý sa ho môže zúčastniť, kurz je zdarma. Kto sa ešte nezaregistroval, môže tak spraviť tu: http://eepurl.com/UzefH. Kurz obsahuje teoretickú časť (články na tomto blogu) a praktickú čast (domáce úlohy zadávané emailom).

V prvej lekcii som vysvetľoval prvé základné stavebné kamene každého programu/aplikácie. Dnes si ukážeme ďalšie stavebné kamene a to podmienky.

Podmienky určujú, ktorá časť kódu sa vykoná. Z prvej lekcie budeme potrebovať vedieť čo sú boolean premenné (true, false).

var isRaining = true;
if (isRaining) {
  //prší, vykoná sa táto časť kódu
}

Ak by sme definovali “isRaining” false, blok kódu obalený if-om by sa nevykonal. Keďže je “isRaining” true, “prší” sa vykoná.

var isRaining = false;
if (isRaining) {
  //prší, vykoná sa táto časť kódu
} else {
  //neprší, vykoná sa táto časť kódu
}

V ukážke vyššie definujeme boolean premennú “isRaining” s hodnotou false (nepravda). Ktorá časť kódu sa vykoná? Vykoná sa “neprší” (vetva else), pretože “isRaining” je nepravda. Ak by sme definovali “isRaining” ako true, vykoná sa “prší”. Všimnite si medzeru za “if” a medzeru pred a za “else”. Takisto odsadenie 2 medzerami alebo tabulátorom vo vnútri “if”. Je to “coding standard“, ktorý by mali dodržiavať všetci programátori.

Skoro by som zabudol na “else if”:

var age = 18;
if (age === 18) {
  //si dospelý, už môžeš piť alkohol legálne
} else if (age < 18) {
  //si ešte dieťa, môžeš piť nelegálne alkohol
} else {
  //máš viac ako 18 rokov. Si už stará raketa.
}

“else if” použijeme ak chceme overiť viacero podmienok. “else if” môže byť za sebou ľubovoľne veľakrát. Po “else if” môže a nemusí nasledovať “else”.

Ešte je tu pár vecí, ktoré by sme mali vedieť pri podmienkach a boolean hodnotách. A to:

Operátory a vyhodnocovanie podmienok:

Operátor is equal ==

var name = 'Josh';
//operátor is equal (==) porovná 2 hodnoty a vyhodnotí podmienku na true (ak sa rovnajú) alebo false (ak sa nerovnajú)
var isJosh = (name == 'Josh'); //isJosh sa vyhodnotí na true. Zátvorky sú ľubovoľné, slúžia pre prehľadnosť kódu
var isPeter = (name == 'Peter'); //isPeter sa vyhodnotí na false pretože 'Josh' != 'Peter'

if (name == 'Josh') {
  //som Josh
}

Existuje aj operátor “===”, ktorý porovnáva rovnosť hodnôt ako aj “==” ale líšia sa tým, že operátor “===” porovnáva aj rovnosť typov premenných:

var zero = 0;

if (zero == "0") {
  //podmienka sa vyhodnotí na true. V JavaScripte môžeme porovnávať čísla so stringami s operátorom ==
}

if (zero === "0") {
  //podmienka sa vyhodnotí na false, pretože zero je typ Number a "0" je String
}

Operátor nerovná sa (is not equal) !=

var zero = 0;

if (zero != "0") {
  //tento blok sa nevykoná, vyhodnotenie podmienky je false
}

//operátor !== porovnáva hodnotu aj typ premenných
if (1 !== "1") {
  //true, 1 je typ Number, "1" je typ string.
}

Porovnávajúce operátory <, >, <=, >=

if (3 > 4) {
  //3 nie je väčšie ako 4...
}

if (5 <= 5) {
  //5 je menšie, alebo rovné 5
}

Operátor && (and) a || (or)

var isRaining = true;
var isStorm = false;
var isRainingAndStorm = isRaining && isStorm; //operátor && je logický AND (a zároveň). Porovnáva 2 hodnoty. Ak sú obe hodnoty true, podmienku vyhodnotí na true. Ak je jedna, alebo obe hodnoty false, podmienku vyhodnotí na false

isRainingAndStorm = isRaining || isStorm //operátor || je logický OR (alebo). Stačí ak je jedna hodnota true a celý výraz sa vyhodnotí na true

Viac o porovnávacích operátoroch sa dozviete tu.

Zhrnutie

Mali by ste chápať načo slúžia podmienky “if”, “else if”, “else”
Mali by ste chápať operátorom “&&”, “||”, “==”, “===”, “!=”, “!==”, “<“, “>”, “<=”, “>=”

Cvičenie/Domáca úloha

http://jsfiddle.net/elfoslav/fyC3L

Ako odovzdávať cvičenia? Keď sa ti zobrazí stránka s cvičením, klikni v hornom menu na “Fork”. To vytvorí tvoju kópiu cvičenia. Keď budeš chcieť spustiť kód, klikni v hornom menu na “Run”. Keď budeš mať cvičenie hotové, klikni na “Update”, to uloží tvoje cvičenie. Potom už len skopíruješ link cvičenia a odošleš mi ho do mailu. Ja ti cvičenie skontrolujem a oznámkujem.

Alebo jednoduchšie: Zaregistruj sa na http://www.codermania.com a prejdi si cvičenia tam. Cvičenia sa vyhodnocujú automaticky. Ak si nebudeš dať vedieť rady, je tam tlačidlo “Ask for help”. Ak nevieš po anglicky, môžeš použiť Google translator. Veľa šťastia.

Prihlásiť sa k odberu noviniek o programovaní

* povinné pole



Chcem dostávať novinky o:


 


Upozornenie: Články boli napísané s určitým stupňom vedomia. Keďže sa neustále vyvíjam, staršie články nemusia odzrkadľovať môj súčasný stav vedomia. Nie so všetkými článkami sa v súčasnosti stotožňujem. Avšak sú ponechané pre tých, ktorí sa nachádzajú na rovnakom alebo podobnom stupni vedomia akým boli články písané.
Ak ti článok pomohol, môžeš prejaviť svoju vďaku aj finančným príspevkom:

IBAN: SK3356000000004419953001

Ďakujem za každý jeden príspevok ♥ Nech Vás Láska sprevádza ♥