RACUNARSKE PERIFERIJE I INTERFEJSI
I Kolokvijum
25.03.2018.g.
Redni broj testa: 6
OBAVEZNO UNESITE SLJEDECE PODATKE:
Ime:
Prezime:
Broj indeksa:
/
NAPOMENE:
Koriscenje mobilnih telefona nije dozvoljeno.
Na racunaru smiju biti aktivni samo prozor sa testom i Calculator.
Ukoliko birate jedan od ponudjenih odgovora:
- Tacan izbor daje 10%.
- Netacan izbor daje -5% (negativni poeni).
- "Ne znam" daje 0.
Ukoliko unosite broj u edit polje:
- Tacan odgovor daje 10%.
- Netacan odgovor daje 0.
Test se predaje klikom na taster "
PREDAJEM TEST
".
U slucaju da student ne moze da preda test iz bilo kojeg razloga, obavezan je da se odmah javi nastavniku, zatim, da prepise na papir redni broj testa, ime, prezime, broj indeksa i rjesenja zadataka koje je uradio i to preda nastavniku.
TEST
P0. Ako se na racunaru izvrsi instrukcija SetLED(30); :
1.
upalice se plava, zelena i zuta LED na maketi,
2.
upalice se sve cetiri LED na maketi,
3.
upalice se crvena i zelena LED na maketi,
4.
nece se upaliti ni jedna LED na maketi,
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P1. Ako je prekidac na maketi otvoren, a taster pritisnut, nakon izvršenja instrukcija
x=0;
if(digitalRead(TASTER))x+=1;
if(digitalRead(PREKIDAC))x+=2;
promenljiva x imace vrijednost...
Unijeti tacan odgovor:
P2. Dat je sledeci dio programa:
for(;;) {
SetLED(1); sleep(2);
SetLED(2); sleep(3);
SetLED(4); sleep(4);
if ((PINC&16+PIND&32) == 32) break;
}
Ovaj program obavlja funkciju semafora, koji prestaje da radi kada je ...
1.
pritisnut taster i zatvoren prekidac
2.
otpusten taster i zatvoren prekidac
3.
pritisnut taster i otvoren prekidac
4.
otpusten taster i otvoren prekidac
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P3. Otvoren prekidac je vezan izmedju mase i ulaznog porta. Citanjem sa tog porta dobice se:
1.
tezina bita na kome je ulazni port postavljen
2.
vrijednost 0
3.
napon +5V
4.
vrijednost 1
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P4. Ako koracni motor ima 32 koraka po krugu, koliko ce ovaj program odraditi krugova?
for(i=0; i<128; i++) {
for(n=0; n< 8; n++) {
SetStep(polukorak[n]);
delay(CEKANJE);
}
}
Unijeti tacan odgovor:
P5. Donji program okrece koracni motor u jednom smjeru za 20 polukoraka.
int polukorak[8]={*,*,*,*,*,*,*,*}; // zvjezdicama su sakrivene brojne vrijednosti
for(i=0; i<20; i++){
SetStep(polukorak[i%????????]);
delay(CEKANJE);
}
Da bi ispravno radio umjesto ???????? treba da stoji...
Unijeti tacan odgovor:
P6. Nastavite niz vrijednosti koje se upisuju na izlazni port, kod upravljanja koracnim motorom. 1, 8, ?
Unijeti tacan odgovor:
P7. Dat je dio programa, inkrementalnog davaca sa pracenjem smjera kretanja:
switch(staro){
case S0: if(novo==S1) p++;
if(novo==S3) p--;
break;
case S1: if(novo==S2) p++;
if(novo==S0) p--;
break;
case S2: if(novo==S3) p++;
if(novo==S1) p--;
break;
case S3: if(novo==S1) p++;
if(novo==S2) p--;
break;
}
Da bi program ispravno funkcionisao izmijeniti jednu njegovu liniju, i to umjesto:
1.
if(novo==S1) p++; staviti if(novo==S0) p++;
2.
if(novo==S2) p--; staviti if(novo==S3) p--;
3.
if(novo==S3) p--; staviti if(novo==S0) p--;
4.
if(novo==S2) p++; staviti if(novo==S3) p++;
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P8. Dat je program, inkrementalnog davaca sa pracenjem smjera kretanja
y = PINB&40;
staro=novo;
novo= (48+8) & y;
if (novo==staro) return;
switch(staro){
//Analiza pomjeraja
…
}
Da bi program ispravno funkcionisao potrebno je, izmedju ostalog, umjesto:
1.
staro=novo; staviti novo=staro;
2.
novo = (48+8) & y; staviti y = novo & (48+8);
3.
novo= (48+8) & y; staviti novo= y;
4.
y = PINB&40; staviti y = PINB;
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P9. Nastaviti niz ocitanih vrijednosti kod 2 kanalnog inkrementalnog davaca, ako se kretanje vrsi u istom smjeru: 40, 8,...
Unijeti tacan odgovor:
Zavrsio sam sa radom.