Top Banner

of 15

Bilete Atestat Informatica_rezolvari C

Jul 07, 2018

Download

Documents

Daniela Floroiu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    1/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    BILETELE

    pentru susţinerea probei practice în vederea obţinerii atestatului profesional la informatică

    OBS:

    Subiectul nr.1 se reolva in unul din mediile impuse de cerinte!"ord# E$cel# %o&er%oint#"indo&sE$plorer etc.'

    Subiectul nr.( se poate reolva in oricare din urmatoarele: )o$%ro# *isual)o$# +ccess# Oracle

    Subiectul nr., se poate reolva in oricare din urmatoarele limba-e: %ascal# # //

    1

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    2/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 1

    3. De la tastatură se citeşte un număr natural n, n

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    3/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.(

    3. (n număr este superprim dacă numărul şi toate prefixele sale sunt numere prime. Să se generezeprimele n numere superprime. #xemplu &33) este superprim pentru ca &33), &33, &3 şi & sunt numereprime.

    #include

    //nr superprime

    lon' n

    int prim (lon' n)

    {if (n

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    4/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.,

    3. Scrieţi un program care calculează media aritmetică a tuturor numerelor palindrom din intervalul *a,+,unde a şi + sunt numere naturale citite de la tastatură, a=0 ++ n

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    5/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.0

    3. Se citeşte de la tastatură un şir de n numere naturale de maxim ) cifre *n-)

    for (int i=1 i>&i

    for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    6/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.

    3. Să se verifice dacă elementele unui ta+lou unidimensional cu n elemente numere naturale de maxim& cifre, reprezintă o mulţime *în sensul cunoscut de la matematică, adică numerele din ta+lou suntdistincte două cte două. Dacă nu, să se transforme acest ta+lou în mod corespunzător.

    #xemplu pentru n$%& şi v$*%,&,)0,2,&,%,',%,&0,%3,&,3 nu este mulţime. -rin transformare acestuia înmulţime *se elimină elementele care apar de mai multe ori şi se ordonează şirul se o+ţine v$*%,&,3,2,',%3,%,&0,)0.

    #include

    &oid main ()

    {int n

    coutn

    int &100, i

    for (i=1 i>&ii=1

    int n1=n, o2

    hile (i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    7/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.2

    3. Se consideră un ta+lou +idimensional cu n linii şi m coloane *n, m

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    8/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr.3

    3. De la tastatură se citeşte un cuvnt de maxim %' caractere. Să se construiască toate prefixele şi sufixelecuvntului dat. Datele de ieşire se scriu în fişierul out.txt astfel ! pe prima linie cuvntul citit de la tastatură"! pe a doua linie toate prefixele cuvntului, unul după altul, în ordinea generării, separate de un caracter spaţiu"

    ! pe a treia linie toate sufixele cuvntului, unul după altul, în ordinea generării, separate de un caracter spaţiu.#xemplu pentru cuvntul -5S/56, fişierul out.txt conţine -5S/56- -5 -5S -5S/ -5S/5 -5S/566 56 /56 S/56 5S/56 -5S/56

    #include

    #include

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    9/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr.4

    3. Se consideră un ta+lou +idimensional cu n linii şi m coloane *n, m >n>>m

    for (i=1 iai3

    fin.close()

    //suma pe linii

    int sl

    for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    10/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.5

    3. /erinţea Scrieţi un su+program care primeşte la intrare un număr natural dat, n, de maxim ) cifre, şi întoarcesuma cifrelor acestui număr.+ Să se utilizeze acest su+program pentru a calcula suma cifrelor numărului o+ţinut în urma efectuării

    sumeix...*!16   +++=

    , unde x este un număr natural citit de la tastatură.#include

    //a

    lon' n

    int s7cif (lon' n)

    {int s=0

    hile (n!=0)

      {s=n$10 n/=10

      %

    return s

    %

    //

    &oid main ()

    {lon' x

    coutx

    cout

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    11/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.16

    3. 8 matrice cu p linii şi 9 coloane se completează cu numere întregi citite de la tastatură. Să seintersc:im+e elementele coloanelor x şi ; *x şi ; sunt numere naturale citite de la tastatură. Dacămatricea este pătrată să se verifice dacă elementele de pe diagonala principală sunt ordonate crescător.

    #include

    int p, 8, a100100, x, 9, i, 3

    &oid schima (int x, int 9)

    {int aux

    for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    12/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.11

    3. /erintea Să se scrie un su+program recursiv care primeşte la intrare două numere naturale a şi + şi întoarce

    valoarea 

    a .+ Să se utilizeze su+programul pentru calculul valorii expresiei 2 *!1

    2 *!1

    8...888

     p... p p p)2 ,8, p(4

    ⋅⋅⋅⋅

    ++++= , unde

    p, 9 şi sunt numere naturale citite de la tastatură.

    #include

    int a,

    lon' put (int a, int )

    {if (==0) return 1

    else return a " put(a, 1)

    %

    &oid main ()

    {int p, 8, 2

    coutp

    cout8

    cout2

    lon' s1=0, p1=1

    for (int i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    13/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr.1(

    3. /erintea Să se scrie un su+program care calculează termenul de ordinul al şirului =i+onacci.+ Să se utilizeze acest su+program pentru a calcula suma )n(fi...):(fi)*(fi)1(fi6   ++++= , unde

    n se citeşte de la tastatură şi este impar.

    >ermenul de ordinul al şirului se defineşte astfel

    >−+−

    =

    =

    =

    !2  pentru)!2 (f )12 (f 

    !2  pentru1

    12  pentru1

    )2 (f 

    #include

    lon' fi (int 2)

    {if ( (2==1) ;; (2==)) return 1

    else return (fi (21)fi (2))

    %

    &oid main ()

    {int n, i

    do {coutn% hile (n$==0)

    lon' s=0

    for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    14/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr.1,

    3. =işierul text in.txt conţine mai multe linii, pe fiecare linie fiind memorat un număr natural de o cifră./onsidernd că aceste numere sunt cifrele unui număr natural, să se determine acest număr. Să seadauge acest număr la sfrşitul fişierului in.txt.

    #include

    ifstream fin (in.txt)

    fstream f (in.txt, iosapp)

    &oid main ()

    {int n=0, c

    hile (fin>>c) n=n"10c

    fin.close()

    f

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    15/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 10

    3. =işierul text in.txt conţine mai multe linii, pe fiecare linie fiind memorat un număr natural de maxim 2cifre. Să se calculeze suma numerelor care sunt neprime. Să se adauge la sfrşitul fişierului in.txt încă olinie care conţine această sumă.

    #include

    ifstream fin (in.txt)

    fstream f (in.txt, iosapp)

    int prim (int n)

    {if (n

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    16/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 1

    3. Se consideră o matrice a cu m linii şi n coloane *m, n

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    17/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 12

    3. Se consideră o ta+lă de şa: de 7x7 pătrăţele. >a+la se completează cu numerele de la % la 2 pe linii, începnd cu prima linie. Să se afişeze ta+la de şa:. Să se calculeze suma numerelor din pătrăţelele negre,respectiv suma numerelor din pătrăţelele al+e. -ătrăţelul din colţul stnga sus are culoarea al+.

    #include &oid main ()

    {int i, 3, s=1, a1010

    for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    18/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 13

    3. Determinaţi toate şirurile de numere de lungime n, nn)

      {for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    19/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. 14

    3. De la tastatură se citeşte un număr natural n, n

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    20/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. 15

    3. De la tastatură se citesc elementele a două mulţimi 5 şi @, cu p, respectiv 9 elemente, elementelefiecărei mulţimi fiind distincte două cte două *p, 9 ai

    cout8

    for (i=1 i>i

    cout

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    21/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (6

    3. De la tastatură se citesc pe n caractere din mulţimea %-,..,!,1,0,,,,,,,,,,,,{   F  E  DC  B A  f  ed cba ./aracterele citite reprezintă un număr natural reprezentat în +aza %. Să se determine valoarea acestuinumăr în +aza %0.

    #include

    &oid main ()

    {int n, i, &al, nr=0

    char c

    coutn

    for (i=1 i>c

      if (c>=CaC ++ c=CAC ++ c

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    22/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. (1

    3. =işierul text date.txt memorează un graf neorientat *cu n noduri şi m muc:ii şi are următoareastructură ! pe prima linie & numere naturale *n şi m separate prin cel puţin un caracter spaţiu"! pe următoarele m linii cte & numere naturale din mulţimea %n,...,!,1{ " fiecare perec:e de & numere

    naturale reprezintă nodurile adiacente ale fiecăreia dintre cele m muc:ii.Să se construiască matricea de adiacenţe a grafului şi apoi, folosind!o, să se afişeze lista de adiacenţăasociată grafului.

    #include

    &oid main ()

    {ifstream fin (date.txt)

    int m, n, i, 3, a1100100, a,

    fin>>n>>m

    for (i=1 i>

      a1a=1 a1a=1

      %

    for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    23/33

     Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. ((

    3. Se consideră un vector de dimensiune !0 p  ≤ , completat cu numere întregi. #lementele vectorului secitesc de la tastatură astfel înct vectorul să fie ordonat descrescător. =olosind algoritmul de căutare+inară să se verifice dacă un număr întreg dat x, citit de la tastatură, se află printre elementele

    vectorului.#include

    //cautare inara &ector ordonat crescator 

    &oid main ()

    {int p1, a, 2=1, x

    cin>>a p1=a

    cin>>a

    hile (p2>=a)

      {p21=a

      2  cin>>a

      %

    coutx

    int inf=1, sup=2, 'asit=0

    hile ((infp(infsup1)/) sup=(infsup1)/

      else inf=(infsup1)/

      %

      %if ('asit==1) cout

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    24/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (,

    3. =işierul text date.txt memorează un graf neorientat *cu n noduri şi m muc:ii şi are următoareastructură ! pe prima linie & numere naturale *n şi m separate prin cel puţin un caracter spaţiu"

    ! pe următoarele m linii cte & numere naturale din mulţimea %n,...,!,1{ " fiecare perec:e de & numerenaturale reprezintă nodurile adiacente ale fiecăreia dintre cele m muc:ii.Se cere să se afişeze matricea de adiacenţă a su+grafului o+ţinut prin eliminarea nodurilor x şi ; *x şi ;se citesc de la tastatură şi sunt mai mici sau egale cu n.

    #include

    &oid main ()

    {int m, n, a1, 1, i, 3, a100100, x, 9

    ifstream fin (date.txt)

    fin>>n>>m

    for (i=1 i>1

      aa11=1

      a1a1=1

      %

    fin.close()

    coutx

    cout9

    for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    25/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (0

    3. =ie cele 4 note muzicale D8, A#, BC, =5, S86, 65, SC. /itim de la tastatura o valoare naturala n, ncuprins între % şi 4. Determinaţi şi afişaţi toate melodiile de n note care se pot forma cu aceste note

    muzicale, avnd în vedere ca perec:ile de note *D8,SC şi *BC,=5 să nu fie alăturate.#include

    int n, &, u

    &oid ac2 (int 2)

    {if (2>n)

      {for (int 3=1 3

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    26/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    &oid main ()

    {do {coutn% hile (n>K)

     ac2 (1)

    %

    26

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    27/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (

    3. -entru un elev se reţin următoarele date numele, vrsta, media generală. Să se construiască o listăliniară care reţine informaţii despre n elevi. Să se afişeze numele elevilor care au vrsta mai mare de %4ani şi sunt corigenţi. (n elev este corigent dacă are media generală mai mică dect '. -entru

    implementarea listei se poate folosi alocarea statică sau alocarea dinamică, la alegere.#include

    struct ele&

      {char nume:0

      int &arsta

      float media%

    ele& &100

    int n

    &oid main ()

    {coutnfor (int i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    28/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (2

    3. -entru un elev se reţin următoarele date numele, vrsta, media generală. Să se construiască o listăliniară care reţine informaţii despre n elevi. Să se şteargă din listă elementele care conţin informaţiidespre elevii corigenţi. Să se afişeze noua listă şi să se determine cte elemente are. (n elev estecorigent dacă are media generală mai mică dect '. -entru implementarea listei se poate folosi alocarea

    statică sau alocarea dinamică, la alegere.#include

    struct ele&

      {char nume:0

      int &arsta

      float media%

    ele& &100

    int n

    &oid main ()

    {coutnfor (int i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    29/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (3

    3. =işierul in.txt conţine pe o singură linie mai multe numere întregi *maxim %00 de numere separateprintr!un caracter spaţiu. Se presupune că numerele sunt distincte, un număr neapărnd de două ori, iar  în fişier sunt cel puţin două numere. Să se calculeze suma numerelor cuprinse între maximul şi minimul

    acestora, inclusiv.#xemplu Dacă fişierul in.txt conţine numerele 3, 4, ((, 2, %%, 7, 1, ), suma calculată este S$2*$&&121%%171%.Dacă fişierul in.txt conţine numerele &, ', 7,, %0, 10, 4, , suma calculată este S$&% *$!31%01%2.

    #include

    &oid main ()

    {ifstream fin(in.txt)

    int i, &100, max, min, pmax, pmin, s=0, 2=1, a

    fin>>&1

    max=&1 min=&1 pmax=1 pmin=1

    hile (fin>>a)

      {2

      &2=a

      if (a>max)

      {max=a pmax=2%

      if (apmax)

      {int aux=pmin pmin=pmax pmax=aux%for (i=pmin i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    30/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (4

    3. (n număr complex z$a1i+ este reţinut prin utilizarea structurii *înregistrăriistruct comple$ 8float a# b99 t;pe comple$ < record a# b:real9 end9

    Să se calculeze si afişeze suma numerelor complexe, citite din fişierul complex.txt. -e fiecare linie dinfişier sunt cate doua numere reale*partea reala si imaginara a unui număr complex separate de cate unspaţiu.

    #include

    struct complex {float a, % &100

    float x=0, 9=0

    &oid main ()

    {ifstream fin (complex.txt)

    float a1, 1

    int n=1

    hile (fin>>&n.a>>&n.) {x=&n.a 9=&n. n%

    fin.close()

    cout

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    31/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. (5

    3. (n vector de dimensiune !0 p  ≤  este completat cu numere întregi citite de la tastatură. Să secalculeze media aritmetică a elementelor vectorului care sunt numere cuprinse între a şi +,

    inclusiv, şi sunt multiple de . umerele întregi a, + şi se citesc de la tastatură.#include

    &oid main ()

    {int a, 2, , p, i, &1, s=0, nr=0

    do {coutp% hile (p>0)

    for (i=1 i>&i

    couta

    cout

    if (a>)

      {int aux=a a= =aux%

    cout2for (i=1 i

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    32/33

     Judetul DAMBOVITA Atestat profesional la Informatica

    Biletul nr. ,6

    3. De la tastatură se citesc elementele a două mulţimi 5 şi @, , cu p, respectiv 9 elemente, elementelefiecărei mulţimi fiind distincte două cte două *p, 9

  • 8/19/2019 Bilete Atestat Informatica_rezolvari C

    33/33

     Judetul DAMBOVITA Atestat profesional la Informatica