Sazarojumi ir saistīti ar izvēles situāciju apstrādi. Ikdienā bieži sastopamies ar dažādām izvēles situācijām.

Lūk, meitene iet pa taku, taka sadalās! Kurp iet?

cels_sazarojas

Citi piemēri:

  • ja esi visus uzdevumus izpildījis, vari uzspēlēt kādu datorspēli;
  • ja ārā ir auksts, tad jāsaģērbjas siltāk;
  • ja karstā dienā ir pietiekami daudz naudas, tad var nopirkt saldējumu, citādi – konfekti;
  • ja ieskaiti esi slikti nokārtojis, tad jāiet uz konsultācijām, citādi saņemsi “brāzienu”;
  • u.tml.

Vietnes materiālu pētīšanai un apguvei:

Sazarojumi ilustrācijās

saz_0

saz_2

saz_3

saz_4

saz_5

Algoritms “Bulciņa”

Tu jau zini, ka nav ieteicami daudz ēst saldumus, kūkas vai smaklmaizītes (bulciņas), jo tā var iegūt lieko svaru! Tomēr Tev tik ļoti kārojas apēst bulciņu, bet nevari izlemt ēst vai neēst!

Te nu klasiskā izvēles situācija! Ko nu darīt? Ēst to gardo bulciņu vai neēst?

Risinājums: liec lietā vienkāršu algoritmu – met monētu (1Ls)!  Ja uzkrīt lasis ar 1Ls, tad apēd, citādi (ģērbonis) neēd gan!

Algoritms domu kartē

Domuk_bulcina 

Algoritma blokshēma

Bulcina_blokshema

Sazarojums neformālā pierakstā:Ja uzkrīt lasis,tad apēd,citādi (ģērbonis) neēd gan!

  Sazarojums Java pierakstā:

           if (lasis){

                          apēd

                         }else{

                          neēd gan

           {

Sazarojumi piemēros

1,piemērs “Skaitlis”

Programma paprasa skaitli un nosaka, vai skaitlis lielāks par 10, vai mazāks. Ja lielāks, tad izdrukāt “Lielāks!”, citādi izdrukāt “Mazāks!”

Algoritma blokshēma

 alg_skaitlis

Java programmas kods

package Skaitlis;

public class Skailis {

/*** @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 5;
if (x >10) {
System.out.println(“Lielāks!”);
}

                         else {
System.out.println(“Mazāks!”);
}
}

}

2.piemērs “Kvadrāts” (ideja – M.Jegorovs, Accenture)

Kvadrats

Algoritma blokshēma

bloksh_kvadrats

Java programmas kods

public class Kvadrats {

public static void main(String[] args) {

        int x = ?, y = ?;

        if (x ==y) {

                          System.out.println(“Kvadrāts”);

                       } else {

                                  System.out.println(“Taisnstūris”);

                                }

                      }

}

Sazarojumi ar Switch Case

Šādu sazarojumu veidu izmanto, ja ir jāizpilda atšķīrīgas darbības atkarībā no noteikta parametra (mainīgā) vērtības – piemēram, dienas nosaukuma atkarībā no dienas numura, mēneša nosaukuma atkaribā no tā numura, u.tml.

Switch Case ideja

vai arī šajā bildē

Piemērs ar nedēļas dienām:

saz_Case

Reāla Java programma dienas nosaukuma izvadei atkarībā no dienas numura var būt šāda:

package Dienas;
public class Dienas {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int  day = 3;
        String dayString = null;
        switch (day) {
            case 1:  dayString= “Pirmdiena”;
                     break;
            case 2:  dayString= “Otrdiena”;
                     break;
            case 3:  dayString= “Trešdiena”;
                     break;
            case 4:  dayString= “Ceturtdiena”;
                     break;
            case 5:  dayString= “Piektdiena”;
                     break;
            case 6:  dayString= “Sestdiena”;
                     break;
            case 7:  dayString= “Svētdiena”;
                     break;
                       }
        System.out.println(dayString);
    }

}

Programmiņa ar dienām nedaudz citādā versijā (bilde):

Veiksmīgu darbošanos ar sazarojumiem!

***

Advertisements