Pagina informaticii

Teste de informatică pentru liceu, articole C#, C/C++, PHP

Test de progres – funcţii

Rândul 1

1) Fie funcţia:
int test()
{
 int i,j,p;
 i=0;
 j=strlen(s)–1 ;
 p=1;
 while ( … )
    {
      if (s[i]!=s[j]) p=0;
     i++; j ––;
    }
 return p;
}

Stabiliţi cu care din expresiile de mai jos trebuie înlocuite spaţiile punctate astfel încât funcţia să returneze 1 dacă şirul s este palindrom, sau 0 în caz contrar.
a) (i!=j) && (p==1)
b) (i<=j) && (p==1)
c) i<strlen(s)/2 – 1
d) i<=(strlen(s) – 1)/2

2) Scrieti o funcţie Afisare care primind ca parametru un vector cu 1000 de numere intregi, afişează elementele de pe poziţii impare din vector.

3) Scrieţi o funcţie Cauta care primind ca parametru un vector cu 10000 de numere întregi şi un întreg x, returnează cel mai mare index la care se găseşte x în vector, sau –1 dacă x nu apare în vector.

4) Scrieţi o funcţie Numara care primind la intrare un număr natural n<2.000.000.000, returnează numărul biţilor de 1 din reprezentarea sa în baza 2.

Rândul 2

1) Care din următoarele funcţii calculează corect rezultatul expresiei (2ab – c2)/ 0.25, unde a,b,c sunt reale:

a) float f(float a, float b, float c)
     {   return 2*a*b – (c*c)/0.25; }

b) float f(float a, float b, float c)
     {  return 2*a*b – c*c/0.25;   }

c) float f(float a, float b, float c)
     { return (2*a*b) – (c*c)*4;  }

d) float f(float a, float b, float c)
     {  return (2*a*b – c*c)*4;   }

2) Scrieţi o funcţie Afisare care primind ca parametru un vector cu exact 100 de numere reale, afişează valorile distincte din vector.

3) Scrieţi o funcţie care primind ca parametri două numere naturale m şi n returnează cmmdc al celor două numere.

4) Scrieţi o funcţie care primind ca parametri p şi q, două numere naturale, returnează cel mai mic număr n natural cu proprietatea că n>p şi n divizibil cu q.

Despre autor
Author

Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică

Scrie un comentariu
Nume:

Comentariu:

15 + 10 =