Professional Documents
Culture Documents
Za popunjavanje testa koristiti hemijsku olovku. Nije dozvoljeno korišćenje nikakvih dodatnih papira. Trajanje testa 60 minuta.
Svoje ime i prezime i broj indeksa upišite čitko štampanim slovima. Nečitko zaokruženi i precrtavani odgovori neće biti priznati.
Šta je rezultat izvršavanja sledećeg programa? (zaokružite tačan odgovor) Vrednost pitanja: 4 poena
#include <stdio.h>
void main( void ) a. 6
{ b. 5
long a = 5; c. 4
d. 3
switch( a ) e. Nijedan odgovor nije tačan
{
default: a = 4;
case 6: a--;
case 5: a = a + 1;
case 1: a = a - 2;
};
printf( "%li \n", a );
}
Šta je rezultat izvršavanja sledećeg programa? (zaokružite tačan odgovor) Vrednost pitanja: 4 poena
#include <stdio.h>
void main(void) a. svi parni brojevi do 10
{ b. svi neparni brojevi do 10
long i; c. svi brojevi do 10
for( i = 0 ; i < 10 ; i++ ) d. svi brojevi do 9
{
if (i % 2 != 0 )
printf( "%li ", i );
};
}
Povežite pripadajuće pojmove (upišite odgovarajuća slova pored brojeva). Vrednost pitanja: 2 poena
Da li postoji greška u sledećem programu, i ako postoji, navedite koja ? Vrednost pitanja: 4 poena
#include <stdio.h>
main()
{
i=n;
while(n <= m) Odgovor:
{
if(i%2 == 1) _______________________________
suma+= i*i;
i++; _______________________________
}
}
Šta je rezultat izvršavanja sledećeg programa? Napišite postupak. Vrednost pitanja: 4 poena
#include <stdio.h>
main()
{
int a=1;
int b=24;
do
{
printf("%d",a/3);
a*=2;
b--;
}
while(a<=b);
} Rezultat: ___________
Šta je rezultat izvršavanja sledećeg programa ? Navedite postupak i objasnite rešenje. Vrednost pitanja: 4 poena
#include<stdio.h>
main()
{
char a[6] = {'1','2','3','a','b','c'};
int i=1, j=2, m;
i = a[i+2]++;
j = ++a[j];
m = a[2]+2;
printf("%c, %c, %c", m, j, i);
} Rezultat: ___________
Komentar: ___________________________________________________________________________________
Šta je rezultat izvršavanja sledećeg programa? Napišite postupak. Vrednost pitanja: 4 poena
#include <stdio.h>
int funkcija1(int n, int m)
{
int x=5;
return n*x+m;
}
main()
{
int x = 4, y = 1;
printf("%d%d\n", x, funkcija1(x,y));
}
Rezultat: ___________
_________________________________________________________________________________________
________________________________________________________________________________________
Napištite zaglavlje (prototip) funkcije koja se zove „kolokvijum“, ima dva realna argumenta, jedan celobrojni
argument i vraća celobrojnu vrednost.
Za popunjavanje testa koristiti hemijsku olovku. Nije dozvoljeno korišćenje nikakvih dodatnih papira. Trajanje testa 60 minuta.
Svoje ime i prezime i broj indeksa upišite čitko štampanim slovima. Nečitko zaokruženi i precrtavani odgovori neće biti priznati.
Povežite pripadajuće pojmove: (upišite odgovarajuća slova pored brojeva) Vrednost pitanja: 4 poena
1. ! a. ostatak pri delenju 1____
2. ?: b. logičko I 2____
3. % c. negacija 3____
4. != d. uslovni operator 4____
5. && e. različito 5.___
Napišite šta vraća funkcija Izracunaj, predstavljena sledećim kodom: Vrednost pitanja: 10 poena
int Izracunaj (int n)
{
int suma=0;
while (n>0)
{
suma+=n%10;
n=n/10;
}
return suma;
} Rezultat:_______________________________________________________________
Šta ispisuje sledeći program? Napišite postupak i zaokružite tačan odgovor. Vrednost pitanja: 10 poena
#include <stdio.h>
void funkcija1(int x);
Postupak:
main()
{
int y=4;
funkcija1(y); A.x=4,y=4
printf("y=%d\n",y); B.x=4,y=5
} C.x=4,y=6
D.x=5,y=4
void funkcija1(int x) E.x=6,y=5
{
x++;
printf("x=%d\n",x);
}
Šta je rezultat izvršavanja sledećeg programa? Napišite postupak i rezultat. Vrednost pitanja: 10 poena
#include<stdio.h>
main () Postupak:
{
int i,j,x=1,y=1;
for(i=0;i<3;i++)
for(j=1;j<5;j++)
x=x+y;
printf("x=%d",x);
}
Rezultat: ______________
Šta radi sledeća naredba scanf("%d",&f); ?(zaokružite tačan odgovor) Vrednost pitanja: 4 poena
A. učitava vrednost tipa float u promenjivu f
B. učitava vrednost tipa int u promenjivu f
C. učitava vrednost tipa char u promenjivu f
D. učitava vrednost tipa double u promenjivu lf;
E. ništa od navedenog
Izračunati sledeći izraz: !(1 && !(0 || 1)) (zaokružite tačan odgovor) Vrednost pitanja: 6 poena
A. False
B. True
C. Nije moguće izračunati
Šta je rezultat izvršavanja sledećeg programa? Napišite postupak. Vrednost pitanja: 12 poena
#include<stdio.h>
main() Postupak:
{
int x = 7, y = 15%8, i;
while (x>4) {
x--;
if(y<6)
printf("%d", x);
else
printf("%d", y);
y--;
}
}
Rezultat : _________________
Šta je rezultat izvršavanja sledećeg programa ? Navedite postupak i objasnite rešenje. Vrednost pitanja: 14 poena
#include<stdio.h>
main()
{ Postupak:
int a[7] = {1, 2, 3, 4, 5, 6, 7};
int x, y, z;
x = --a[5];
y = a[3]+a[x];
z = a[x++];
printf("%d, %d, %d", x, y, z);
}
Rezultat: _________________
Napišite deklaraciju niza celih brojeva, čije je ime niz_cel, i čija je dužina MAX.
_________________________________________________________________________________________
________________________________________________________________________________________
Napištite zaglavlje (prototip) funkcije koja se zove „master“, ima dva realna argumenta, jedan celobrojni argument i
vraća realnu vrednost.
Za popunjavanje testa koristiti hemijsku olovku. Nije dozvoljeno korišćenje nikakvih dodatnih papira. Trajanje testa
60 minuta. Svoje ime i prezime i broj indeksa upišite čitko štampanim slovima. Nečitko zaokruženi i precrtavani
odgovori neće biti priznati.
Šta je rezultat izvršavanja sledećeg programa? (zadatak neće biti priznat bez datog postupka)
#include<stdio.h>
void obrada(char *b, int n)
{
int i;
for(i=1; i<=n; i++)
{
*b='a'+ i;
*(b+i) = 'b'+2;
}
}
main()
{
int i;
char a[] = {'a', 'b', 'c', 'd', 'e'};
obrada(a, 2);
for(i=0; i<=4; i++)
printf("%c, ", a[i]);
}
Šta je rezultat izvršavanja sledećeg programa ? (zadatak neće biti priznat bez datog postupka)
#include<stdio.h>
main ()
{ A. x=0 y=1 z=2
int x=4,y=3, z[]={1,2,3}; B. x=1 y=2 z=3
int *px,*py; C. x=4 y=3 z=3
py = &y; D. x=2 y=3 z=3
px = &z[1]; E. x=3 y=3 z=3
y = *py;
x=*px;
printf ("x=%d y=%d z=%d", x, y,z[2]);
}
#include <stdio.h>
#include <string.h>
main()
{
char str[4][12]={{"beograd"},{"novi sad"},{"kragujevac"},{"cacak"}};
char *pokstr[3];
int i, duz[3];
for(i=0;i<3;i++)
{
pokstr[i] = str[i];
duz[i] = strlen(str[i]);
puts(pokstr[i]);
printf("%d\n",duz[i]);
}
}
Rezultat: _____________________________________
#include<stdio.h>
struct osoba
{
int godiste;
char pol;
char ime[10];
};
main()
{
int i;
struct osoba o[] = { {1975, 'M', "Milan"}, {1990 ,'M',"Dejan"}, {1984, 'Z',"Milica"} };
printf("%d ", o[2].godiste);
printf("%c ", o[0].pol);
printf("%s\n", o[1].ime);
for(i=0;i<3;i++)
if(o[i].godiste>=1975 && o[i].godiste<1984)
printf("%d %c %s \n",o[i].godiste,o[i].pol,o[i].ime);
}
Rezultat : ____________________________
Vrednost pitanja: 4 poena
a. strcmp(a,b) 1) 13 a___
b. strlen(a) 2) 23 b___
c. strlen(c)+ strlen(b) 3) 0 c___
d. strcmp(a,c) 4) vrednost veća od nule d___
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
____________________________________________________________________________________ _____
Vrednost pitanja: 3 poena
Koje zaglavlje treba uključiti da bi se koristile funkcije malloc() i calloc()? (zaokružite tačan odgovor)
A. memory.h
B. stdlib.h
C. string.h
D. stdio.h
E. ništa od navedenog Vrednost pitanja: 2 poena
Skup čvorova povezanih pokazivačima u jednom smeru je: (zaokružite tačan odgovor)
A. dvostruko povezana lista
B. unija
C. jednostruko povezana lista
D. ništa od navedenog Vrednost pitanja: 2 poena
_________________________________________________________________________________________
_________________________________________________________________________________________
_______________________________________________________________________________________
_________________________________________________________________________________________
Za popunjavanje testa koristiti hemijsku olovku. Nije dozvoljeno korišćenje nikakvih dodatnih papira. Trajanje testa 60 minuta.
Svoje ime i prezime i broj indeksa upišite čitko štampanim slovima. Nečitko zaokruženi i precrtavani odgovori neće biti priznati.
Prevodilac programskog jezika C ne daje greške u prevođenju datog programa. Vrednost pitanja 5 poena
a) Kako promenljiva n dobija vrednost?
b) Kolika je vrednost promenljive suma posle izvršavanja programa?
c) Ako nedostaje neka naredba, dopišite je.
#include <stdio.h>
#include <stdlib.h>
Rešenje
______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Neka sledeći program formira datoteku ULAZ.bin. Ukoliko mislite da nedostaju naredbe, dopišite ih. Ukoliko mislite
da neke naredbe treba ispraviti, napišite kako.
Rešenje
______________________________________________________________________________________________________
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
#include<stdio.h>main()
{
int c;
FILE *in,*out;
in=fopen("fajl1.txt","r");
out=fopen("fajl2.txt","w");
while((c=fgetc(in))!=EOF)
{
if('0'<=c && c<'4')
c++;
else c='D';
putc(c,out);
}
fclose(in);
fclose(out);
}
Rezultat: _______________
Šta je rezultat izvršavanja sledećeg programa? Objasniti rešenje. Vrednost pitanja 4 poena
#include <stdio.h>
#include <string.h>
main()
{
char str[4][15]={{"matematika"},{"programiranje"},{"engleski"},{"fizika"}};
char *pokstr[4];
int i, poruka;
for(i=0;i<4;i++)
{
pokstr[i] = str[i];
if(strlen(str[i])==6)
puts(pokstr[i]);
else
{
poruka = i;
printf("%d",poruka);
}
}
}
Rezultat: ________________
Šta je rezultat izvršavanja sledećeg programa? Objasniti rešenje. Vrednost pitanja 4 poena
#include<stdio.h>
void function1(int *b, int n)
{
int i;
for(i=1; i<=n; i++)
*(b+i) = *(b+1)+i;
}
main()
{
int i;
int a[] = {1,2,3,4,5};
function1(a, 2);
for(i=0; i<=4; i++)
printf("%d, ", a[i]);
} Rezultat: ________________
__________________________________________________________________________________________
________________________________________________________________________________________
--------------------------------------------- ------------------------
Ime i prezime studenta Broj indeksa
Za popunjavanje testa koristiti hemijsku olovku. Nije dozvoljeno korišćenje nikakvih dodatnih papira. Svoje ime i prezime i broj indeksa upišite
čitko štampanim slovima. Nečitko zaokruženi i precrtavani odgovori neće biti priznati.
Dopišite odgovarajuće karaktere za ulazne formate, tabela a) ; odnosno tip podatka, tabela b) .
Povežite pripadajuće pojmove u tabelama, upisivanjem odgovarajućeg slova na crticu kod broja.
Postupak:
#include<stdio.h>
main()
{
char a[6] = {'a','b','c','d','e','f'};
int i = 1, j = 2, m;
i = a[i + 3];
j = ++a[j];
m = a[2] + 2;
printf("%c, %c, %c", m, j, i);
}
Rezultat: _______________________.
Rezultat: _________________
#include<stdio.h> Postupak:
main()
{
int x = 2, y = 3, i;
for (i = 0; i <= 6; ++i)
if (i > 0)
x++;
y = x + 4;
printf("x = %d y = %d\n", x, y);
}
Rezultat: X = __________ ; Y = __________;
#include<stdio.h>
main() Postupak:
{
int i, j, a = 9 % 3, b = 25 % 4;
for (i = 1; i < 3; i++)
for (j = 1; j < 3; j++)
a = a + b % 2;
printf("a=%d", a);
}
Rezultat: a = _________________ ;
----------------------------------------------------- ------------------------
Ime i prezime studenta Broj indeksa
Za popunjavanje testa koristiti hemijsku olovku. Nije dozvoljeno korišćenje nikakvih dodatnih papira. Svoje ime i prezime i broj indeksa
upišite čitko štampanim slovima. Nečitko zaokruženi i precrtavani odgovori neće biti priznati.
#include<stdio.h>
Postupak:
main()
{
int i, a[] = { 3, 6, 8, 10, 12 };
zameni(a, 3);
for (i = 0; i <= 4; i++)
printf("%d, ", a[i]);
}
void zameni(int* b, int n)
{
int i;
for (i = 0; i < n; i++)
*(b + 2) = *(b + i) + 5; Rezultat: _________________________________ .
}
#include<stdio.h> Postupak:
main()
{
int x = 3, y = 4;
int* px;
px = &x;
y = *px;
printf("x=%d y=%d", x, y);
}
Rezultat:
X = __________ ; Y = __________ .
#include<stdio.h> Postupak:
struct course
{
int courseno;
char coursename[45];
};
main()
{
struct course c[] = { {102, "OP"},
{103, "Matematika"},
{104, "C#"} };
printf("%d ", c[1].courseno);
printf("%s\n", (*(c+1)).coursename); Rezultat: _________________________________ .
}
Naredba S programa koja učitava sa tastature i čuva kao string jednu reč (reč je definisana kao niz
znakova do prvog praznog znaka) je:
a) scanf("%s", &string);
b) scanf("%s", string);
c) for (i=0; i< 80; i++) scanf("%c", &string[i]);
#include<stdio.h>
void obrada(char* b, int n)
{
int i;
for (i = 1; i <= n; i++)
{
*b = 'a' + i;
*(b + i) = 'b' + 2;
}
}
main()
{
int i;
char a[] = { '*', '#', '+', '!', '&' };
obrada(a, 2);
for (i = 0; i <= 4; i++)
printf("%c, ", a[i]); Rezultat: _________________________________ .
}
#include<stdio.h> Postupak:
main()
{
int x = 6, y = 5, z[] = { 3, 2, 1 };
int* px,*py;
py = &y;
px = &z[1];
y = *py;
x = *px;
printf("x=%d y=%d z=%d", x, y, z[2]);
}
Rezultat:
X = _______ ; Y = _______ ; Z = _______ ;
Zaokružite tačan odgovor:
Da bismo dobili adresu neke promenljive u memoriji, koristimo operator &.
A. TAČNO B. NETAČNO
Za popunjavanje testa koristiti hemijsku olovku. Nije dozvoljeno korišćenje nikakvih dodatnih papira. Trajanje testa 60 minuta.
Svoje ime i prezime i broj indeksa upišite čitko štampanim slovima. Nečitko zaokruženi i precrtavani odgovori neće biti priznati.
Šta je rezultat izvršavanja sledećeg programa? Napisati komentar uz svaki red. Vrednost pitanja 4 poena
#include<stdio.h>
main(){
int x = 4, y = 3, z[] = { 9, 7, 5 };
int* px,*py;
py = &y;
px = &z[2];
y = *px;
x = *py;
printf("x=%d y=%d z=%d", x, y, z[1]);
}
Rešenje:_______________
Šta radi sledeći program? Uzmite proizvoljno primer za n i m i dajte komentar. Vrednost pitanja 4 poena
#include <stdio.h>
int main()
{
int n, m, i, j;
scanf("%d", &n);
scanf("%d", &m);
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
printf("%d * %d = %d\t", i, j, i*j);
printf("\n");
}
}
Rešenje:______________________________________________________________________________________________
Šta je rezultat izvršavanja sledećeg programa? Objasniti rešenje. Vrednost pitanja 4 poena
#include <stdio.h>
int main()
{
int x, y, a[] = {5, 8, 1, 3, 9, 4, 7, 2};
int *pa;
pa = &a[0];
x = *(pa+5);
y = ++*(pa+2);
printf("%d,%d\n", x,y);
} Odgovor:_________________
Napištite zaglavlje (prototip) funkcije koja ima dva realna argumenta i ne vraća nikakvu vrednost.
_______________________________________________________________________________________________________
Rezultat: _________________
Šta je rezultat izvršavanja sledećeg programa? Objasniti rešenje. Vrednost pitanja 4 poena
#include<stdio.h>
void deklaracija(int *b, int n)
{
int i;
for(i=1; i<=n; i++)
*(b+i) = *(b+2)+i;
}
main()
{
int i;
int a[] = {5,6,7,8,9};
deklaracija(a, 1);
for(i=0; i<=4; i++)
printf("%d, ", a[i]);
} Rezultat: ________________
Šta je rezultat izvršavanja sledećeg programa? Napisati postupak. Vrednost pitanja 4 poena
#include <stdio.h>
main()
{
int i;
for (i = 2; i < 10; ++i)
{
if (i == 5)
break;
printf("i = %d\n", i);
}
} Rezultat: ______________
Dopišite odgovarajuće karaktere za ulazne formate, tabela a) ; odnosno tip podatka, tabela b) .
a) ulaznu konverziju: b) tip podataka:
string %_____ string
karakter %_____
karakter
celi broj %_____
realan broj %_____ celi broj
realan broj
Vrednost pitanja 4 poena
Kako biste opisali šta je FILE *f ? Navesti primer. Vrednost pitanja 4 poena
___________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________
Šta je rezultat izvršavanja sledećeg programa? Napisati postupak i rezultat. Vrednost pitanja 4 poena
#include<stdio.h>
struct course
{
int courseno;
char coursename[45];
};
main()
{
struct course c[] = { {102, "Matematika"},
{103, "Programerski alati C#"},
{104, "Baze podataka"} };
printf("%d ", c[1].courseno);
printf("%s\n", (*(c+1)).coursename);
}
Domaći zadatak 1
•
Napisati program na jeziku C za izračunavanje statistike u
grupi na kvalifikacionom turniru u Beogradu za odlazak na OI
u Riju. Poznati su učesnici i članovi dve grupe po tri tima. Na
osnovu odigranih svih utakmica u grupi i unetih rezultata,
izračunati bodove i poredak u grupi.
•
Odrediti konačnog pobednika na osnovu daljeg razigravanja i
ukrštanja. Uzeti u obzir pravila plasmana u slučaju istog broja
bodova.
•
Komentarisati ceo program
•
Rok za dostavljanje radova - 11. april 2016
•
Izvorni kod programa poslati svom nastavniku putem mejla