Priprema za kontrolni: grananje u programu

Zbirka 2 od 5 · Dodatni primeri sa rešenjima
Pre nego što počneš: lekcije Grananje u programu (C), Grananje u Javi; lakši zadaci iz ove oblasti su na strani Grananje – osnovni primeri.
Kako da vežbaš: reši zadatak sam/a, pokreni program na primeru iz teksta, pa tek onda otvori rešenje i uporedi ideje.

U ovom odeljku su dati primeri zadataka iz oblasti grananje u programu, sa rešenjima. Pokušajte da primere rešite samostalno, a rešenje koristiti za proveru ili koristiti ako posle većeg broja pokušaja i dosta uloženog truda ipak ne uspete samostalno da rešite postavljen zadatak.
Rešenje će se prikazati klikom na dugme pored postavljenog zadatka.
Uz svaki zadatak (gore desno) piše njegova težina: lako, srednje teško ili teže.

Zadaci za pripremu za kontrolni zadatak:

ZADATAK 01Težina: Srednje teško

Brzina pri slobodnom padu

Telo slobodno pada sa visine H na zemlju. Odrediti da li ova visina mora biti veća od unete početne visine (H metara) da bi brzina tela pri padu bila veća od vG(unosi korisnik) .

Ulaz:
U jednoj liniji standardnog ulaza nalaze se dve realne vrednosti H i Vg (H≤3000, Vg≤300) koje predstavljaju početnu visinu tela u metrima i graničnu brzinu u m/s.

Izlaz
Izračunatu brzinu pri padu kao i graničnu brzinu.

Primer1
Ulaz 10 12
Izlaz "Visina ne mora biti veća od 10 m da bi telo dostiglo brzinu od 12m/s"

Primer2
Ulaz 250 78
Izlaz "Visina mora biti veća od 250 m da bi telo dostiglo brzinu od 78m/s"

Ilustracija uz zadatak

Pogledaj kako izgleda Simulacija slobodnog pada na sajtu Kosi hitac

ZADATAK 02Težina: Teže

Skok u vis

Uneti rezultate koje su takmičar 1. i 3. postigli u skoku u vis u trećem skoku.
Ako su poznati ostali rezultati:
takm 1: 5.87m,5.94m, x
takm 2: 5.89m,5.84m, 5.75m;
takm 3: 5.6m, 5.87, y;
odrediti redosled takmičara posle ovog skoka .

Ulaz
Realni brojevi x i y, u intervalu od 0 do 7

Izlaz
Jedan realan broj, zaokružen na dve decimale, koji predstavlja najbolji rezultat sa porukom koji je takmičar pobedio.

Primer
Ulaz
5.45
5.76

Izlaz
Pobedio je prvi takmicar sa skokom od 5.94

Ilustracija uz zadatak
Slika: Peggy und Marco Lachmann-Anke, Pixabay
ZADATAK 03Težina: Lako

Ispravnost podataka kvadra

Uneti stranice kvadra a,b, c i odredi da li su uneti podaci ispravni(dužine stranica moraju biti pozitivni brojevi). Ako jesu izračunaj površinu i zapreminu.

Ulaz
U tri linije standardnog ulaza uneti realna broja a, b,c

Izlaz
dva realna broja koji predstavljaju površinu i zapreminu kvadra ili
poruka da podaci nisu ispravni

Primer 1
Ulaz
2
4
7

Izlaz
P=100cm2
V=56cm3

Primer 2
Ulaz
12
-4
7
Izlaz Podaci nisu ispravni

Ilustracija uz zadatak
Slika: Pete Linforth, Pixabay
ZADATAK 04Težina: Lako

Upis na fakultet

Uneti bodove za 4 kandidata za upis na tehnicki fakultet. Napraviti program koji određuje da li kandidati koji žele da se upisu na tehnicki fakultet ispunjavaju uslove za upis(Upisali su svi koji imaju broj bodova iznad prosečnog).

Ulaz
U prve četiri linije treba uneti 4 realna broja(0-100).

Izlaz
Prikazati u 4 linije odgovor za svakog kandidata :
"Ispunjava uslove", ili
"Ne ispunjava uslove"

Primer
Ulaz
65 45 88 75
Izlaz
"Ne ispunjava uslove"
"Ne ispunjava uslove"
"Ispunjava uslove"
"Ispunjava uslove"

Ilustracija uz zadatak
Slika: OpenClipart-Vectors, Pixabay
ZADATAK 05Težina: Srednje teško

Određivanje broja dana po mesecima


Odrediti broj dana za svaki mesec u godini. Predvideti slučaj i da je godina prestupna

Ulaz:Sa standardnog ulaza unose se dva cela broja :

  • G (najviše 2050) – godina
  • M (1 ≤ M ≤ 12) – redni broj meseca

Izlaz:
Na standardni izlaz ispisati jedan ceo broj - broj dana u tom mesecu
Primer 1
Ulaz
2021 3
Izlaz
31
Primer 2
Ulaz
2020 2
Izlaz
29

Ilustracija uz zadatak
Slika: OpenClipart-Vectors, Pixabay
ZADATAK 06Težina: Srednje teško

Porez

Napisati program kojim se izracunava iznos poreza na bruto platu. Ako je bruto plata veca od 1000 eura porez je 20%, inace porez je 15%. Bruto plata se unosi:
a) U EUR-lakša varijanta
b) U RSD- teža varijanta, ako je vrednost 1EUR-a: 117RSD

Ulaz:
U jednom redu standardnog ulaza unosi se jedan realan broj iz intervala [1..100000] koji predstavlja bruto platu

Izlaz:
Na standardni izlaz se ispisuje vrednost plate u evrima, kao i poreza (realan broj zaokružen na dve decimale).

Primer 1(Za b varijantu, tj. za unos u dinarima)
Ulaz
59900

Izlaz
511.97 //plata u evrima
76.79 //porez u evrima

Ilustracija uz zadatak
ZADATAK 07Težina: Srednje teško

Minimum tri cela broja

Napiši program koji određuje minimalnu vrednost tri unete vrednosti očitane temperature.
Ulaz
Sa standardnog ulaza unose se tri realna broja, svaki u posebnom redu, koji predstavljaju vrednosti tri očitane temperature(-50,50) u toku dana.

Izlaz
Na stanardni izlaz ispisati vrednost minimalne temperature zaokruženu na 2 decimale

Primer
Ulaz
12.34
5.64
7.45

Izlaz
5.64

Ilustracija uz zadatak
Slika: Gerd Altmann, Pixabay
ZADATAK 08Težina: Srednje teško

Kreiranje boja-RGB vrednost

Poznato da se svaka nijansa boje može dobiti mešanjem 3 komponente crvene, zelene i plave. Komponente su predstavljene sa 3 cela broja čije su vrednosti (0-255). To je RGB vrednost. Napraviti program koji za učitane vrednosti R,G i B, određuje koja nijansa boje preovlađuje.
Ulaz
Sa standardnog ulaza unose se tri cela broja, svaki u posebnom redu, koji predstavljaju R ,G, B vrednost između 0 - 255 .

Izlaz
Na stanardni izlaz ispisati naziv boje koja dominira

Primer
Ulaz
50
130
170

Izlaz
"Plava"

ZADATAK 09Težina: Teže

Trka automobila

Tri automobila kreću sa startne pozicije u trenucima T1 < T2 <T3 i kreću se konstantnim brzinama V1, V2, V3. Ispisati startne brojeve automobila koji su na vodećoj poziciji u trenutku T > T3. Moguće je da više od jednog budu na vodećoj poziciji.

Ulaz
Tri realna broja koja predstavljaju redom vremena kašnjenja prvog, drugog i trećeg automobila u prvoj liniji.
U drugoj liniji učitati redom 4 realna broja koja predstavljaju brzine 1,2 i 3 automobila i na kraju vreme trke u sekundama do trenutka kada se pravi presek i određuje koji je automobil ili automobili na vodećoj poziciji.
Izlaz
Tekst koji opisuje koji je automobil na vodećoj poziciji
Primer
Ulaz
1 2 3
23 23.6 22.8 60
Izlaz
"Drugi automobil je na vodecoj poziciji"

Ilustracija uz zadatak
ZADATAK 10Težina: Teže

Kod Slova

(Poznato je da se znakovi(slova, cifre, specijalni znakovi) predstavljaju pomoću pridruženih celih brojeva(može se videti u tabeli ASCII kodova). Iz tabele se može uočiti da su kodovi velikih slova od 65-90, dok su kodovi malih slova od 97-122. Dakle malo slovo a ima kod npr 97, dok veliko slovo A ima kod 65.
Napraviti program koji za generisanu slučajnu vrednost koda nekog znaka(1-150) određuje da li :
a) nije slovo, dakle, da li je neki drugi znak, kao npr. cifra ili specijalni znak
b) Ako je slovo, ispisati da li je veliko ili malo
Prikazati na izlazu generisan i kod i znakNapomena: Za generisane slučajne vrednosti koristiti funkciju rand() iz zaglavlja stdlib.h.( Umesto toga može se omogućiti da korisnik sam unese broj)Ulaz
slučajno generisan(ili unet) ceo broj 1-150
Izlaz
Neka od sledećih poruka:
1-Nije slovo nego je neki drugi znak: 64 @
2-Veliko slovo 75 K
3-Malo slovo 101 e
4-Nista od navedenog

Primer
Ulaz
74
Izlaz
"Veliko slovo 74 J"
TABLICA ASCII KODOVA

Ilustracija uz zadatak
ZADATAK 11Težina: Srednje teško

Čoveče ne ljuti se

Napraviti program koji simulira bacanje kockica korišćenjem funkcije rand() iz datoteke stdlib.h
Pera igra "Čoveče ne ljuti se" i u prilici je da završi krug ulaskom njegovog piona u kućicu. On baca kocku i treba da dobije ili 2 ili 4 da bi ušao u kućicu. Ako dobije 1 preći će u polje tik do svoje kućice.
Program treba da simulira bacanje kockice, zadavanjem slučajne vrednosti od 1-6 korišćenjem funkcije rand, a zatim ispisati neku od sledećih poruka:
"U kućici je "
"Nadomak kućice je"
"Nije se pomerio"

Ilustracija uz zadatak
Slika: GooKingSword, Pixabay

Još jedan zadatak

Proveri znanje

Otvori kviz

Mini kviz: grananje

1. Koji uslov proverava da li su sve tri stranice kvadra pozitivne?




2. Koliko grana lanca if – else if – else može da se izvrši?




3. Koje slovo ima ASCII kod 74?




Proveri se

Kada rešiš zadatke iz ove zbirke, uradi kontrolni zadatak: