Naloge - 1. dan
Naloga 1
(2 točki)
Napišite program izpis.c, ki n-krat izpiše besedilo "Pozdravljen, <ime>", kjer sta n in ime prvi in drugi argument ob klicu programa.
V nadaljevanju program dopolnite tako, da bo sprejel še tretji argument m . Ob izpisu naj program vsako naslednjo vrstico zamakne za dodatnih m pik v desno.
Primer: ob klicu izpis 5 Lojze 4, naj program 5-krat izpiše pozdravno besedilo, pri čemer je vsak naslednji izpis za 4 znake bolj desno, takole:
Pozdravljen, Lojze
....Pozdravljen, Lojze
........Pozdravljen, Lojze
............Pozdravljen, Lojze
................Pozdravljen, Lojze
Program mora biti pregledno oblikovan (zamiki), ob prevajanju (s stikalom -Wall) ne sme javljati opozoril (warnings), pri klicu z napačnim številom argumentov mora javiti napako.
Naloga 2
(3 točke)
Fibonaccijeva števila so definirana z naslednjo rekurzivno enačbo:
f(1) = 1
f(2) = 1
f(n) = f(n-1) + f(n-2) (če n>2)
Napišite program fibo.c, ki izpiše vsoto prvih n Fibonaccijevih števil (n je vrednost prvega argumenta programa).
Pri tem upoštevajte naslednja dodatna navodila:
- celoten program napišite v metodi main() (ne sme biti dodatnih metod);
- program mora preveriti, če argument n obstaja;
- za izračun vsote uporabite spremenljivko tipa int
- program mora ugotoviti, koliko je smiselna zgornja meja za n in v primeru, da argument presega to mejo, izpisati napako;
- pomoč: uporabite https://www.wolframalpha.com, vprašanje: »sum of first x fibonacci numbers«
Dodatna naloga za vajo
Napišite program gambler.c, ki prejme tri celoštevilske argumente (a, b in x). Program naj generira naključno celo število n iz intervala [a,b] in preveri, ali je uporabnik pravilno uganil število (torej, ali je x enak n). Če je uganil, naj progam izpiše "Bravo, uganil si", sicer "Narobe, pravo število je n!". Poleg tega naj program izračuna in na dve decimalki natančno izpiše tudi, kolikšna je bila verjetnost, da bo uporabnik število uganil (ta se izračuna po formuli p=100/(b-a+1)).
Primer izpisa: ob klicu programa gambler 1 10 7 naj program izpiše:
Narobe, pravo število je 9! (verjetnost zadetka: 10.00%)
ali (če je uporabnik uganil):
Bravo, uganil si! (verjetnost zadetka: 10.00%)