010100000110111101101110011000010111011001101100011010100110000101101110011010100110010100100000011010100110010100100000011011010110000101101010011010110110000100100000011110100110111001100001011011100110101001100001
nedjelja, 27. siječnja 2013.
Pseudokod - zadaci (1)
1.Kolika mora biti vrijednost varijable a, na početku programa, da bi vrijednost varijable b bila 1, na kraju programa?
ulaz(a);
za i := 1 do 5 činiti
{
b := a + 1;
a := a - 1;
}
Odgovor:
Ako je:
a := 1
|i|a|b|
|1|0|2|
|2|-1|1|
|3|-2|0|
...
b će se smanjivati ovisno o a varijabli.
Kad i bude 5, b će biti -2.
a mora biti 4.
2.Što će biti ispisano na zaslonu računala nakon izvođenja sljedećeg niza naredbi?
x:=56321;
c:=1;
d:=x;
a:=x;
b:=0;
dok je a>0 činiti
{
c:=c*10;
b:=x mod c;
a:=x div c;
ako je a+b<d onda d:=a+b;
}
izlaz(d);
Odgovor:
c je pomoćna varijabla koja razdvaja broj an dva dijela. Prvi dio se sprema u varijablu a,
a drugi u b. Uvjet a>0 je postavljen zato jer ukoliko je a = 0, znači da smo ostali bez
znamenaka za zbrajanje s jedne strane. Ako je manja od prethodne, suma a+b se sprema u d
varijablu, tako da je ovaj program namjenjen pronalasku najmanje sume brojeva koji se dobiju
podjelom broja 56321.
Znači ispis će biti 377.
3.Što će biti ispisano na zaslonu računala nakon izvođenja sljedećeg niza naredbi?
y := 24;
x := y-1;
bd := 0;
bn := 0;
za i := 1 do x činiti
ako je y mod i = 0 onda bd := bd + 1
inače bn := bn + 1;
izlaz(bd);
izlaz(bn);
Odgovor:
y i x ostaju konstante. Program broji koliko brojeva u intervalu od 1
do 23 je djeljivo sa 24. Bd in bd bi mogle biti kratice za broj djeljiv
i broj nedjeljiv, iako to nije važno. Kada smo došli do broja 12 vidimo
da je 7 brojeva bilo djeljivo sa 24 dok 5 nije. Svi veći brojevi od polovine
broja 24 neće biti djeljivi sa 24.
23-12=11
Ostalo nam je znači još 11 nedjeljivih brojeva.
S onih 5 koje smo već imali:
11+5=16
Znači rješenje je:
bd := 7
bn := 16
4.Napiši pseudokod za program koji upisuje prirodan broj pa računa i ispisuje
sumu svih dvoznamenkastih brojeva većih od upisanog broja.
(Napomena: upisani broj ne mora biti dvoznamenkast)
Odgovor:
Prvo unesemo broj n. Sumu ćemo dobiti zbrajanjem svih dvoznamenkastih
brojeva većih od zadanog broja, znači počinjemo od n+1 do najvećeg 99.
Ako je broj jednoznamenkast onda ćemo početi od prvog dvoznamenkastog
broja, a to je 10.
ulaz(n);
suma := 0;
ako je n<9 onda n:=9;
za i:=n+1 do 99 činiti
suma := suma + i;
izlaz(suma);
5.Kolika je vrijednost varijable A nakon izvođenja sljedećeg programskog isječka.
A:= 5 + 55 DIV 5 * 3 MOD(SQRT(36)– ABS(-2));
Odgovor:
A:= 5 + 11*3 MOD (6-2) = 5 + 33 MOD 4 = 5 + 1 = 6
Pretplati se na:
Objavi komentare (Atom)
Nema komentara:
Objavi komentar