Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
BILETELE pentru sustinerea probei practice in vederea obtinerii ului profesional la informatica - sesiunea mai



BILETELE pentru sustinerea probei practice in vederea obtinerii ului profesional la informatica - sesiunea mai



BILETELE


pentru sustinerea probei practice

in vederea obtinerii atestatului profesional la informatica

sesiunea mai 2008 -


conform metodologiei aprobata cu OM 5149/2002 -



OBS:




Subiectul nr.1 se rezolva in unul din mediile impuse de cerinte(Word, Excel, PowerPoint, WindowsExplorer etc.)

Subiectul nr.2 se poate rezolva in oricare din urmatoarele: FoxPro, VisualFox, Access, Oracle

Subiectul nr.3 se poate rezolva in oricare din urmatoarele limbaje: Pascal, C, C++
Biletul nr. 1



3. De la tastatura se citeste un numar natural n, n<30000. Scrieti un program care determina divizorii lui n, precum si numarul divizorilor primi care apar in descompunerea lui n. Datele de iesire se scriu in fisierul text out.txt astfel : pe prima linie, toti divizorii lui n, separati printr-un caracter spatiu; pe a doua linie, numarul divizorilor primi ai lui n.  

Exemplu : pentru n=10, fisierul out.txt este




#include <fstream.h>
#include <math.h>

//1 nu este nici nr prim, nici nr compus!!!

int prim (int x)

}

void main ()
while (n>=300000);
for (int i=2; i<=n/2; i++)
    if (n%i==0)
       
fout<<n<<endl<<nr<<endl;
fout.close();
}


Biletul nr.2



3. Un numar este superprim daca numarul si toate prefixele sale sunt numere prime. Sa se genereze primele n numere superprime. Exemplu : 2339 este superprim pentru ca 2339, 233, 23 si 2 sunt numere prime.

#include <iostream.h>
//nr superprime

long n;
int prim (long n)

}

int superprim (long n)

}

void main ()

    cont++;
    }
cout<<endl;
}


Biletul nr.3



3. Scrieti un program care calculeaza media aritmetica a tuturor numerelor palindrom din intervalul (a,b), unde a si b sunt numere naturale citite de la tastatura, a<b. Programul va utiliza un subprogram care verifica daca un numar este palindrom. Un numar este palindrom daca citit de la stanga la dreapta este acelasi cu numarul citit de la dreapta la stanga.  


#include <iostream.h>
long a, b, n;

int pal (long n)

    if (m==n) return 1;
    else return 0;
    }
}

void main ()
while (b<=a);
for (long i=a+1; i<=b-1; i++)
    if (pal(i))
       
if (nr==0) cout<<'Nu exista palindroame'<<endl;
else cout<<(float)(s/nr)<<endl;
}



Biletul nr.4



3. Se citeste de la tastatura un sir de n numere naturale de maxim 9 cifre (n<=100). Sa se afiseze pe ecran numerele care au cifra de control x (x se citeste de la tastatura, 0<=x<=9). Se va utiliza un subprogram care determina suma cifrelor unui numar natural. Cifra de control a unui numar se obtine facand suma cifrelor numarului, apoi se realizeaza suma cifrelor sumei numarului, s.a.m.d. pana cand se obtine ca suma un numar de o cifra. Exemplu : cifra de control a lui 156 se obtine astfel : calculam suma cifrelor lui 156, 1+5+6=12, apoi suma cifrelor lui 12, 1+2=3; deci 156 are cifra de control 3.  


#include <iostream.h>
//cifra de control

int scif (long copie)

return s;
}

void main ()
while (x>9);
for (int i=1; i<=n; i++)
    cin>>v[i];
for (i=1; i<=n; i++)
   
    }
if (nr==0) cout<<'Nu exista nr care sa indepineasca conditia'<<endl;
}


Biletul nr.5



3. Sa se verifice daca elementele unui tablou unidimensional cu n elemente numere naturale de maxim 2 cifre, reprezinta o multime (in sensul cunoscut de la matematica, adica numerele din tablou sunt distincte doua cate doua). Daca nu, sa se transforme acest tablou in mod corespunzator.

Exemplu : pentru n=12 si v=(1,2,90,4,2,16,5,1,20,13,2,3) nu este multime. Prin transformare acestuia in multime (se elimina elementele care apar de mai multe ori si se ordoneaza sirul) se obtine : v=(1,2,3,4,5,13,16,20,90).  


#include <iostream.h>

void main ()

    else i++;
    }
if (n1==n) cout<<'Este o multime'<<endl;
else cout<<'Nu este o multime'<<endl;

//sortare
do
   
    }
while (ok==0);

for (i=1; i<=n1; i++)
    cout<<v[i]<<' ';
cout<<endl;
}


Biletul nr.6


3. Se considera un tablou bidimensional cu n linii si m coloane (n, m <=10), completat cu numere intregi. Sa se determine cel mai mare element numar intreg, in valoare absoluta, precum si indicele/indicii liniei/coloanei (liniilor/coloanelor) din matrice ce contine (contin) elementul maxim. Datele de intrare se citesc din fisierul text in.txt organizat astfel : pe prima linie - doua numere, n si m, separate printr-un caracter spatiu; pe urmatoarele n linii, cate m numere intregi separate printr-un caracter spatiu pe fiecare linie. Datele de iesire se scriu in fisierul out.txt organizat astfel : pe prima linie valoarea absoluta a elementului maxim, iar pe urmatoarele linii, pe fiecare linie, cate doua numere naturale, separate printr-un caracter spatiu, care reprezinta indicii liniei si coloanei pe care se afla maximul.  

Exemplu : pentru fisierul in.txt


5 2 4

3 -7 6

7 6 2

fisierul out.txt va fi :





#include <fstream.h>
void main ()

Biletul nr.7

3. De la tastatura se citeste un cuvant de maxim 15 caractere. Sa se construiasca toate prefixele si sufixele cuvantului dat. Datele de iesire se scriu in fisierul out.txt astfel :

- pe prima linie cuvantul citit de la tastatura;

- pe a doua linie toate prefixele cuvantului, unul dupa altul, in ordinea generarii, separate de un caracter spatiu;

- pe a treia linie toate sufixele cuvantului, unul dupa altul, in ordinea generarii, separate de un caracter spatiu.   


Exemplu : pentru cuvantul PASCAL, fisierul out.txt contine :

PASCAL

P PA PAS PASC PASCA PASCAL

L AL CAL SCAL ASCAL PASCAL


#include <fstream.h>
#include <string.h>
//prefixe si sufixe ale unui cuvant

void main ()

fout<<endl;
for (i=l-1; i>=0; i--)
    fout<<c+i<<' ';
fout<<endl;
fout.close();
}

Biletul nr.8

3. Se considera un tablou bidimensional cu n linii si m coloane (n, m <=10), completat cu numere intregi. Sa se determine suma elementelor de pe fiecare linie, respectiv de pe fiecare coloana a tabloului. Datele de intrare se citesc din fisierul text in.txt organizat astfel : pe prima linie - doua numere, n si m, separate printr-un caracter spatiu; pe urmatoarele n linii, cate m numere intregi separate printr-un caracter spatiu pe fiecare linie. Datele de iesire se scriu in fisierul out.txt organizat astfel : pe prima linie - n numere intregi, separate printr-un caracter spatiu, care reprezinta suma elementelor de pe cele n linii ale tabloului; pe a doua linie - m numere intregi, separate printr-un caracter spatiu, care reprezinta suma elementelor de pe cele m coloane ale tabloului.   

Exemplu : pentru fisierul in.txt


5 2 4

3 -7 6

7 8 2

fisierul out.txt va fi :

3 20

15 3 12


#include <fstream.h>

void main ()

fout<<endl;

//suma pe coloane
int sc;
for (j=1; j<=m; j++)
   
fout<<endl;
fout.close();
}


­­­Biletul nr.9

3. Cerinte:

a) Scrieti un subprogram care primeste la intrare un numar natural dat, n, de maxim 9 cifre, si intoarce suma cifrelor acestui numar.

b) Sa se utilizeze acest subprogram pentru a calcula suma cifrelor numarului obtinut in urma efectuarii sumei , unde x este un numar natural citit de la tastatura.


#include <iostream.h>
//a
long n;
int s_cif (long n)

return s;
}

//b
void main ()


Biletul nr.10


3. O matrice cu p linii si q coloane se completeaza cu numere intregi citite de la tastatura. Sa se interschimbe elementele coloanelor x si y (x si y sunt numere naturale citite de la tastatura). Daca matricea este patrata sa se verifice daca elementele de pe diagonala principala sunt ordonate crescator.


#include <iostream.h>
int p, q, a[100][100], x, y, i, j;

void schimba (int x, int y)

}

int verifica (int p)


void main ()

schimba (x, y);
for (i=1; i<=p; i++)
   
}



Biletul nr.11


3. Cerinte:

a) Sa se scrie un subprogram recursiv care primeste la intrare doua numere naturale a si b si intoarce valoarea .

b) Sa se utilizeze subprogramul pentru calculul valorii expresiei : , unde p, q si k sunt numere naturale citite de la tastatura.


#include <iostream.h>
int a, b;
long put (int a, int b)


void main ()

cout<<(float)s1/p1<<endl;
}



Biletul nr.12

3. Cerinte:

a) Sa se scrie un subprogram care calculeaza termenul de ordinul k al sirului Fibonacci.

b) Sa se utilizeze acest subprogram pentru a calcula suma , unde n se citeste de la tastatura si este impar.

Termenul de ordinul k al sirului se defineste astfel :


#include <iostream.h>
int fibonaci (int k)

void main ()
while (n%2==0);
int s=0;
for (i=1; i<=n; i++)
    s+=fibonaci (i);
cout<<s<<endl;
}

Biletul nr.13


3. Fisierul text in.txt contine mai multe linii, pe fiecare linie fiind memorat un numar natural de o cifra. Considerand ca aceste numere sunt cifrele unui numar natural, sa se determine acest numar. Sa se adauge acest numar la sfarsitul fisierului in.txt.



#include <fstream.h>
ifstream fin ('in.txt');
fstream f ('in.txt', ios::app);

void main ()

Biletul nr. 14



3. Fisierul text in.txt contine mai multe linii, pe fiecare linie fiind memorat un numar natural de maxim 4 cifre. Sa se calculeze suma numerelor care sunt neprime. Sa se adauge la sfarsitul fisierului in.txt inca o linie care contine aceasta suma.



#include <fstream.h>
ifstream fin ('in.txt');
fstream f ('in.txt', ios::app);
int prim (int n)

}

void main ()

fin.close();
if (nr==0) f<<'Nu exista numere neprime'<<endl;
else f<<endl<<s<<endl;
f.close();
}

Biletul nr. 15


3. Se considera o matrice a cu m linii si n coloane (m, n <=10), cu elemente numere reale. Sa se calculeze urmatoarele trei sume :

- suma elementelor din matrice care au 3 vecini;

- suma elementelor din matrice care au 5 vecini;

- suma elementelor din matrice care au 8 vecini.

Datele de intrare se citesc din fisierul text in.txt organizat astfel : pe prima linie - doua numere, n si m, separate printr-un caracter spatiu; pe urmatoarele n linii, cate m numere intregi separate printr-un caracter spatiu pe fiecare linie. Datele de iesire se scriu in fisierul out.txt care contine trei linii, pe fiecare linie fiind memorata cate una dintre sumele calculate, in ordinea ceruta.   



#include <fstream.h>
void main ()

Biletul nr. 16



3. Se considera o tabla de sah de 8x8 patratele. Tabla se completeaza cu numerele de la 1 la 64 pe linii, incepand cu prima linie. Sa se afiseze tabla de sah. Sa se calculeze suma numerelor din patratelele negre, respectiv suma numerelor din patratelele albe. Patratelul din coltul stanga sus are culoarea alb.


#include <iostream.h>
void main ()

    cout<<endl;
    }
long sn=0, sa=0;
for (i=1; i<=8; i++)
    for (j=1; j<=8; j++)
        if ((i+j)%2==0) sa+=a[i][j];
        else sn+=a[i][j];
cout<<'suma negre='<<sn<<endl<<'suma albe='<<sa<<endl;
}

Biletul nr. 17



3. Determinati toate sirurile de numere de lungime n, n<=9, cu elemente formate numai din numerele 1, 2, n. Intr-un sir un numar poate apare in orice pozitie, iar doua elemente vecine nu pot fi ambele pare sau ambele impare. Exemplu : pentru n=4, sirurile generate sunt : 1234, 1432, 2143, 2341, 3241, 3412, 4123, 4321.    


#include <iostream.h>
int n, v[5], i, uz[10];
void back (int k)

else
    for (i=1; i<=n; i++)
        if (k==1)
           
        else
            if ((uz[i]==0) && (v[k-1]%2 != i%2))
               
}

void main ()
while (n>9);
back (1);
}


Biletul nr. 18



3. De la tastatura se citeste un numar natural n, n<=30000. Sa se determine un numar mai mic decat n care are un numar maxim de divizori proprii primi. Pot exista mai multe astfel de numere, caz in care se va afisa unul dintre ele.  

n=11 se va afisa 6 sau 10.


#include <iostream.h>

#include<math.h>
int prim (int x)

}

void main ()

    }
cout<<nr<<endl;
}


Biletul nr. 19



3. De la tastatura se citesc elementele a doua multimi A si B, cu p, respectiv q elemente, elementele fiecarei multimi fiind distincte doua cate doua (p, q <=100). Sa se determine elementele si cardinalul multimilor .

#include <iostream.h>
void main ()


cout<<endl<<'A minus B'<<endl;
for (i=1; i<=p; i++)
   
        }
if (nr==0) cout<<'Multimea vida'<<endl;
}


Biletul nr. 20


3. De la tastatura se citesc pe n caractere din multimea . Caracterele citite reprezinta un numar natural reprezentat in baza 16. Sa se determine valoarea acestui numar in baza 10.


#include <iostream.h>
void main ()

    nr=nr*16+val;
    }
cout<<nr<<endl;
}

Biletul nr. 21


3. Fisierul text date.txt memoreaza un graf neorientat (cu n noduri si m muchii) si are urmatoarea structura :

- pe prima linie 2 numere naturale (n si m) separate prin cel putin un caracter spatiu;

- pe urmatoarele m linii cate 2 numere naturale din multimea ; fiecare pereche de 2 numere naturale reprezinta nodurile adiacente ale fiecareia dintre cele m muchii.

Sa se construiasca matricea de adiacente a grafului si apoi, folosind-o, sa se afiseze lista de adiacenta asociata grafului.




#include <fstream.h>
void main ()

for (i=1; i<=n; i++)
   
}

Biletul nr. 22



3. Se considera un vector de dimensiune , completat cu numere intregi. Elementele vectorului se citesc de la tastatura astfel incat vectorul sa fie ordonat descrescator. Folosind algoritmul de cautare binara sa se verifice daca un numar intreg dat x, citit de la tastatura, se afla printre elementele vectorului.


#include <iostream.h>
//cautare binara vector ordonat crescator

void main ()

cout<<'x='; cin>>x;
int t=1, y=k, a=0;
while ((t<=y) && (a==0))
   
    }
if (a==1) cout<<'Da'<<endl;
else cout<<'Nu'<<endl;
}


Biletul nr. 23


3. Fisierul text date.txt memoreaza un graf neorientat (cu n noduri si m muchii) si are urmatoarea structura :

- pe prima linie 2 numere naturale (n si m) separate prin cel putin un caracter spatiu;

- pe urmatoarele m linii cate 2 numere naturale din multimea ; fiecare pereche de 2 numere naturale reprezinta nodurile adiacente ale fiecareia dintre cele m muchii.

Se cere sa se afiseze matricea de adiacenta a subgrafului obtinut prin eliminarea nodurilor x si y (x si y se citesc de la tastatura si sunt mai mici sau egale cu n).


#include <fstream.h>
void main ()

f.close();
cout<<'x='; cin>>x;
cout<<'y='; cin>>y;
for (i=1; i<=n; i++)
   
int y=1;
if (x==n || y==n) n--;
if (x==1 || y==1) y=2;
for (i=y; i<=n; i++)
   
}


Biletul nr. 24



3. Fie cele 7 note muzicale: DO, RE, MI, FA, SOL, LA, SI. Citim de la tastatura o valoare naturala n, n cuprins intre 1 si 7. Determinati si afisati toate melodiile de n note care se pot forma cu aceste note muzicale, avand in vedere ca perechile de note (DO,SI) si (MI,FA) sa nu fie alaturate.


#include <iostream.h>

int n, v[8], uz[8];

void back (int k)

    cout<<endl;
    }
else
    for (int i=1; i<=7; i++)
        {if (k==1)
           
        else
           
                }
            }
        }
}

void main ()
while (n>7);
back (1);
}


Biletul nr. 25



3. Pentru un elev se retin urmatoarele date : numele, varsta, media generala. Sa se construiasca o lista liniara care retine informatii despre n elevi. Sa se afiseze numele elevilor care au varsta mai mare de 17 ani si sunt corigenti. Un elev este corigent daca are media generala mai mica decat 5. Pentru implementarea listei se poate folosi alocarea statica sau alocarea dinamica, la alegere.


#include <iostream.h>
struct elev
    ;
elev v[100];
int n;
void main ()

for (i=1; i<=n; i++)
    if ((v[i].varsta>17) && (v[i].media<5))
        cout<<v[i].nume<<endl;
}


Biletul nr. 26


3. Pentru un elev se retin urmatoarele date : numele, varsta, media generala. Sa se construiasca o lista liniara care retine informatii despre n elevi. Sa se stearga din lista elementele care contin informatii despre elevii corigenti. Sa se afiseze noua lista si sa se determine cate elemente are. Un elev este corigent daca are media generala mai mica decat 5. Pentru implementarea listei se poate folosi alocarea statica sau alocarea dinamica, la alegere.


#include <iostream.h>
struct elev
    ;
elev v[100];
int n;
void main ()

i=1;
while (i<=n)
   
    else i++;
    }
cout<<'Noua lista are '<<n<<' elemente'<<endl;
for (i=1; i<=n; i++)
    cout<<v[i].nume<<' '<<v[i].varsta<<' '<<v[i].media<<' '<<endl;
}


Biletul nr. 27



3. Fisierul in.txt contine pe o singura linie mai multe numere intregi (maxim 100 de numere) separate printr-un caracter spatiu. Se presupune ca numerele sunt distincte, un numar neaparand de doua ori, iar in fisier sunt cel putin doua numere. Sa se calculeze suma numerelor cuprinse intre maximul si minimul acestora, inclusiv.

Exemplu :

Daca fisierul in.txt contine numerele : 3, 7, 22, 4, 11, 8, 1, 9, suma calculata este : S=46 (=22+4+11+8+1).

Daca fisierul in.txt contine numerele : 2, 5, -3, 10, 14, 7, 6, suma calculata este : S=21 (=-3+10+14).


#include <fstream.h>

void main ()

    if (a<min)
       
    }
if (pmin>pmax)
   
for (i=pmin; i<=pmax; i++)
    s+=v[i];

cout<<s<<endl;
}


Biletul nr. 28




3. Un numar complex z=a+ib este retinut prin utilizarea structurii (inregistrarii):

struct complex ;

type complex = record a, b:real; end;

Sa se calculeze si afiseze suma numerelor complexe, citite din fisierul complex.txt. Pe fiecare linie din fisier sunt cate doua numere reale(partea reala si imaginara a unui numar complex) separate de cate un spatiu.



#include <fstream.h>
struct complex v[100];
float x=0, y=0;
void main ()

f.close();
cout<<x<<'+'<<y<<'i'<<endl;
}


Biletul nr. 29




3. Un vector de dimensiune  este completat cu numere intregi citite de la tastatura. Sa se calculeze media aritmetica a elementelor vectorului care sunt numere cuprinse intre a si b, inclusiv, si sunt multiple de k. Numerele intregi a, b si k se citesc de la tastatura.


#include <iostream.h>
void main ()
while (p>20);
for (i=1; i<=p; i++) cin>>v[i];
cout<<'a='; cin>>a;
cout<<'b='; cin>>b;
if (a>b)
   
cout<<'k='; cin>>k;
for (i=1; i<=p; i++)
    if ((a<=v[i]) && (v[i]<=b) && (v[i]%k==0))
       
if (nr==0) cout<<'Nu exista numere care sa indeplineasca conditiile'<<endl;
else cout<<(float)s/nr<<endl;
}


Biletul nr. 30


3. De la tastatura se citesc elementele a doua multimi A si B, , cu p, respectiv q elemente, elementele fiecarei multimi fiind distincte doua cate doua (p, q <=100). Sa se determine elementele si cardinalul multimilor .


#include <iostream.h>
float a[101], b[101];
int p, q;
void dif (float a[101], int p, float b[101], int q)

    }
cout<<endl;
if (c==0) cout<<'B-A : multimea vida'<<endl;
else cout<<'|B-A|='<<c<<endl;
}
void intersectie (float a[101], int p, float b[101], int q)

    }
cout<<endl;
if (x==0) cout<<'A int B : multimea vida'<<endl;
else cout<<'|A int B|='<<x<<endl;
}
void main ()




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright