Primer rešene naloge
Zvezde
Piše se leto 2012 in Nejc, ki takrat še ni vedel, da bo nekaj let kasneje mentor na taboru, je v vroči poletni noči na domačem travniku zrl v zvezde in si predstavljal, kako navdušujoče bi bilo obiskati vesolje. Pohitel je domov in na list papirja narisal raketo, ki bi ga ponesla med zvezde. Nekoliko poenostavljena raketa, v kateri je prostora le zanj, je izgledala nekako tako:
*
***
*****
*******
*********
***********
***********
***********
***********
***********
***********
***********
Na taboru je več mentorjev, vendar leta 2012 še ni mogel vedeti, koliko natanko. Predpostavimo, da se raketa poveča glede na število mentorjev v raketi. Vsak mentor širini rakete doda 4 enote.
Pomagaj Nejcu narisati dovolj veliko raketo za vse mentorje, tako da napišeš program, ki vpraša za število mentorjev, nato pa izriše dovolj veliko raketo.
Rešitev
Najprej pokažimo primer rešitve v psevdokodu:
Vhod: Preberi število mentorjev v spremenljivko m
Izračunaj širino vrha rakete:
višina_vrha = (m - 1) * 2 + 6
Zanka za izris vrha rakete:
za i od 0 do višina_vrha - 1:
izračunaj število presledkov = višina_vrha - i - 1
izračunaj število zvezdic = 2 * i + 1
izpiši (presledki * " ") + (zvezdice * "*")
Zanka za izris trupa rakete:
za i od 0 do višina_vrha - 1:
izpiši (2 * višina_vrha - 1) zvezdic
Sledi rešitev v programskem jeziku Python:
n = int(input("Stevilo mentorjev: "))
n = (n-1)*2+6
for i in range(n):
print(" " * (n - i - 1) + "*" * (2 * i + 1))
for i in range(n):
print("*" * (n*2 - 1))
