010100000110111101101110011000010111011001101100011010100110000101101110011010100110010100100000011010100110010100100000011011010110000101101010011010110110000100100000011110100110111001100001011011100110101001100001
ponedjeljak, 28. siječnja 2013.
Pseudokod - zadaci (2)
1.Ako je izvršavanjem sljedećeg programa vrijednost varijable s jednaka 144,
kolika je ulazna vrijednost varijable k?
ulaz (k);
s:=0;
za j:=1 do k činiti s:=s+k;
izlaz (s);
Odgovor:
Imamo petlju koja ide od 1 do unesenog broja i za svaki okretaj zbraja
računa konačnu sumu, odnosno program prikazuje kako funkcionira množenje
broja. Ako k bude 3 konačni rezultat će biti 9, odnosno 3*3.
Znači da bi s bio 144, ulaz mora biti 12.
2.Što će biti ispisano na zaslonu računala nakon izvođenja sljedećeg niza naredbi?
y := 0;
x := 10;
dok je x>4 činiti
{
x:=x-1;
y:=y+1;
z:=8;
dok je (z>5) I (x>=z) činiti
{
z:=z-1;
y:=y+1;
}
}
izlaz(y);
Odgovor:
Vidimo da će se ovaj blok naredbi izvršavati sve dok je x > 4. Svakim izvršavanjem
x se smanjuje za 1. z varijabla se uvijek vrati na vrijednost osam i smanjuje se
dok ne dođe do 5, odnosno svaki put 3 puta, što uvećava y varijablu 3 puta. No to
će se dogoditi samo ako je još uz to x varijabla veća od z. Na početku je x varijabla
veća (9), u sljedećem krugu se smanji na 8, pa je y još uvijek jednak z, no nakon ta dva
izvršavanja x postaje 7, i budući da se x samo može smanjivati, unutarnji uvjet se više
neće izvršavati. Ipak svakim krugom se y varijabla povećava za 1. Veliki uvjet će biti
ispunjen 6 puta, što znači da će y biti 6, a budući da će se mali izvršiti samo dva puta
(2*3=6), 6 + 6 će nam dati konačan rezultat.
Izlaz koji vraća y varijablu će biti 12.
3.Koje vrijednosti ispisuje sljedeći programski dio?
(Round zaokružuje realni broj na najbliži cijeli broj,Trunc daje cijeli dio realnog broja x)
i := 28;
faktor:= Trunc(i/2);
z:=1;
dok je faktor>1 činiti
{
ako je (i mod faktor = 0)onda
z := z + faktor;
faktor := Round(faktor/2);
}
izlaz (z);
Odgovor:
_______________________
i | 28 28 28 28 28
faktor | 14 7 4 2 1
z | 1 15 22 26 28
Početni broj 29 koji je smješten u varijabli i se neće mijenjati. Ovaj program zapravo
prvo uzme polovinu broja, ako je taj broj djeljiv s izvornim brojem dodaje ga u varijablu
z i prepolavlja broj sve dok ne dođe do broja 1.
z je na kraju 28
4.Što računa sljedeći programski dio?
(mod je ostatak pri cjelobrojnom dijeljenju)
ulaz (x,y);
ako je x<y onda
{
pom := x;
x := y;
y := pom;
}
z:=y;
dok je x mod y <>0 činiti
{
z := x mod y;
x := y;
y := z;
}
izlaz (z);
Odgovor:
Ovaj program traži najveći zajednički djelitelj dva broja. Prvi dio programa prebaci
brojeve tako da uvijek x bude onaj veći. Drugi dio programa koristi takozvani Euklidov
algoritam, odnosno provjerava, ako veći broj nije djeljiv s manjim uzima njihov ostatak,
x postaje stari y, a y postaje ostatak i tako sve dok ne budu dva broja djeljiva. Tada će
biti ispisan najveći zajednički djelitelj.
5.Napiši pseudokod za program koji unosi prirodni broj u oktalnom brojevnom sustavu
i pretvara ga u broj u dekadskom brojevnom sustavu.
Odgovor:
ulaz(n);
zn := 1;
N := 0;
dok je n div 10 <> 0 činiti
{
N := N + n mod 10 * zn;
zn := zn * 8;
n := n div 10;
}
N := N + n * zn;
izlaz(N);
Ovo rješenje je duže, odnosno u morali smo dodati još jednu liniju koda kako bi
zahvatili i zadnju znamenku jer ona ne bi bila ubrojena, budući da n div 10 bi
tada rezultirao s nula.
Ovo je kraće rješenje:
ulaz (n);
zn := 1;
N := 0;
dok je (n>0) činiti
{
N := N + n mod 10 * zn;
zn := zn * 8;
n:= n div 10;
}
izlaz (N);
nedjelja, 27. siječnja 2013.
Štreberska pitanja (1)
1.Kratica ICT dolazi od kojih engleskih riječi?
a) Informatics and Computers Technology
b) Informatics and Communication Technology
c) Information and Communication Technology
d) Information and Computers Technology
2.Virtualna memorija je...
a) brža od radne memorija
b) jednako brza kao i radna memorija
c) brža od priručne memorija (cache)
d) sporija od radne memorije
3.Firewall je...
a) antivirusni program u sklopu Microsoft Windowsa
b) program koji nadzire promet između globalne mreže i našeg računala
c) program koji brine za redovito ažuriranje OS-a
d) program koji štiti računalo od ulaska štetnih programa (rootkita) na računalo
4.Kratica ASCII dolazi od riječi...
a) American Science Code for International Instruction
b) American Standard Code for Information Interchange
c) American Standard Code for Information Instruction
d) American Standard Code for International Interchange
5.Koji naziv ne predstavlja ime Intelovog procesora?
a) Core i3
b) Core 2 Duo
c) Sempron
d) Celeron
Odgovori:
C D B B C
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:
Postovi (Atom)