Sok

Konobar Boban dobio je narudžbinu za sok od jagode, sok od limuna, sok od pomorandže i vodu (H2O). Kada je napunio čaše, on je primetio, da su označene (slike na čašama) i da nije upotrebio odgovarajuće čaše za odgovarajući sok.

4

 

  • U čaši 1 je umesto soka od jagode sok od pomoranže.
  • U čaši 2 je umesto soka od limuna sok od pomoranže.
  • U čaši 3 je umesto skoka od pomorandže sok od limuna.
  • U čaši 4 je voda.

Odlučio je da ispravi grešku.Na raspolaganju ima samo te četiri čaše. Sokove ne sme da meša ili prospe u sudoperu. Da prospe sme, jedino vodu.

Izaberi pravilan raspored prelivanja sokova.

1.

2 prelije u 1

3 prelije u 2

1 prelije u 3

2.

4 prospe u sudoperu

1 prelije u 4

2 prelije u 1

3 prelije u 2

4 prelije u 3

Natoči vodu u 4

3.

2 prelije u 1

3 prelije u 2

2 prelije u 1

4.

4 prospe u sudoperu

2 prelije u 4

3 prelije u 2

1 prelije u 3

Natoči vodu u 4

 

Rešenje

Tačno rešenje je B:

5

Rešenja A i C moraju biti netačna, jer prelivanje započinje pre nego što je prosuo vodu u sudoperu, pa su sve čaše pune i nema u šta da preliva. Da je rešenje D netačno, brzo ćemo uočiti: dabar prvo isprazni čašu 4, a onda presipa punu čašu 2 u punu čašu 1. Za tačno rešenje, treba u svakom narednom koraku da preliva u onu čašu koju je u prethodnom koraku isprazio.

Računarska pozadina

Čaše predstavljaju “promenljive” u programu –  vrste kutija, u kojima se čuvaju vrednosti kao što su brojevi. Dabar najpre napravi prostor (tako što prospe vodu u sudoperu).  Zatim “odloži” sok iz jedne od preostale tri čaše. U naredna tri koraka uvek ispinjava praznu čašu sa sokom koji treba da bude u njoj. Na kraju, ostaje prazna četvrta čaša u koju ponovo natoči vodu.

Slično kao kod pretakanje vode, prati realizaciju programa programer koji je u potrazi za greškom.