Kontrolni zadatak: petlje

Kontrolni 3 od 8 · Kontrolni zadaci

Kontrolni iz petlji: for, while i do–while, brojanje, sabiranje, traženje najvećeg i najmanjeg, serije i unos „do nule“ ili do kraja ulaza.

Pre nego što počneš: ponovi lekcije Petlje u C++-u, Petlje u Javi, a zatim uradi zadatke sa strana Petlje – primeri, Dodatni primeri iz petlji.
Kako da vežbaš: izaberi jednu grupu i reši je za 45 minuta, bez gledanja u rešenja i beleške. Tek posle toga uporedi svoje rešenje sa rešenjem probnog kontrolnog.

Šta treba znati za kontrolni

  • petlju for sa zadatim brojem ponavljanja i korakom (npr. svaki drugi broj, unazad)
  • petlju while kada se ne zna broj ponavljanja (unos do nule, do kraja ulaza, dok se ne ispuni uslov)
  • brojač, zbir i proizvod – i njihove početne vrednosti (0, 0 i 1)
  • traženje najvećeg i najmanjeg elementa i najduže serije
  • deljivost (%) unutar petlje i složene uslove sa && i ||
  • simulacije iz fizike korak po korak (kočenje, slobodan pad)

Kako izgleda kontrolni

  • Trajanje: jedan školski čas (45 minuta).
  • Zadaci: 3 (ponekad 4) zadatka; svaka grupa ima zadatke iste težine, ali sa drugim podacima.
  • Šta se ocenjuje: da li program radi tačno za primer i za granične slučajeve, da li su ulaz i izlaz kao u tekstu i da li je kod pregledan.
Predlog bodovanja (3 zadatka po 10 poena)
Poeni0–1112–1617–2122–2627–30
Ocena12345

Skala je predlog za samostalnu proveru; nastavnik može da je prilagodi.

Zadaci po grupama (PDF)

Svaka kartica otvara PDF jedne grupe. Ispod naslova su kratko navedeni zadaci, da lakše izabereš grupu.

Prva generacija – grupe 1–10

Grupe 1–5 imaju primere ulaza i izlaza (u stilu Petlje), grupe 6–10 su kraći zadaci bez primera.

Druga generacija – grupe 11–15

Iste teme kao grupe 1–5, sa malim izmenama (u PDF-u su označene kao 1.–5. grupa).

Probni kontrolni sa rešenjima

Zadaci iz grupe „11. grupa“ (PDF) prepisani su ovde kao tekst, sa primerom, uputstvom i rešenjem. Postavi sat na 45 minuta i pokušaj da ih rešiš sam/a; rešenja otvori tek na kraju.

ZADATAK 0111. grupa

Unos brojeva do nule

Unose se celi brojevi dok se ne unese nula. Napiši program koji ispisuje koliko je uneto brojeva, ne računajući nulu.

Ulaz: svaki red sadrži ceo broj različit od nule, osim poslednjeg u kome je nula.
Izlaz: broj unetih brojeva.

Primer 1

Ulaz

5
12
-5
675
-123
0

Izlaz

5

Primer 2

Ulaz

0

Izlaz

0
ZADATAK 0211. grupa

Najduža serija pobeda

Košarkaški tim je odigrao N utakmica; u svakoj je ostvario pobedu (1) ili poraz (−1). Odredi dužinu najduže serije uzastopnih pobeda.

Ulaz: prirodan broj N (5 ≤ N ≤ 50000), a zatim N brojeva 1 ili −1.
Izlaz: dužina najduže serije pobeda.

Primer

Ulaz

8
1
1
-1
1
1
1
-1
-1

Izlaz

3
ZADATAK 0311. grupa

Najlošiji kontrolni

Učenik je tokom godine uradio 5 kontrolnih. Nastavnik će pri zaključivanju zanemariti najslabiju ocenu (ako ih ima više, samo jednu). Učitaj 5 ocena i ispiši prosek bez najlošijeg kontrolnog, na dve decimale.

Primer

Ulaz

5
4
4
5
3

Izlaz

4.50
Česte greške i saveti
  • Brojač i zbir postavi na 0, a proizvod na 1 – i to pre petlje.
  • Kod unosa „do nule“ nulu ne računaj: prvo pročitaj broj, pa tek onda odluči da li ulazi u obradu.
  • Za početnu vrednost najvećeg i najmanjeg uzmi prvi učitani broj (ili, ako znaš opseg, vrednost van opsega).
  • Petlja for (int i = 100; i >= -90; i--) ide unazad – pazi na znak poređenja i na i--.
  • Proveri program na najmanjem ulazu (npr. odmah nula) – tada petlja ne treba da se izvrši nijednom.

Proveri znanje

Otvori kviz

Mini kviz: petlje

1. Koliko puta se izvrši telo petlje for (int i = 1; i <= 10; i += 3)?




2. Koja petlja se sigurno izvrši bar jednom?




3. Kojom početnom vrednošću počinje promenljiva u koju računaš proizvod?




4. Šta ispisuje int s = 0; for (int i = 1; i <= 4; i++) s += i; cout << s;?