1.3. probleme ( programe pseudocod, pascal | c / c++)carmen/11h/s1_11h/2. probleme algoritmi.pdf ·...

Download 1.3. Probleme ( programe pseudocod, Pascal | C / C++)carmen/11H/S1_11H/2. Probleme algoritmi.pdf · Probleme ( programe pseudocod ... Construiţi un algoritm echivalent fără a utiliza

If you can't read please download the document

Upload: dinhdieu

Post on 06-Feb-2018

332 views

Category:

Documents


10 download

TRANSCRIPT

  • 35

    1.3. Probleme ( programe pseudocod, Pascal | C / C++)

    1. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi lui x la y.

    citete a, b

    (numere naturale) dac a

  • 36

    2) Scriei o valoare pentru n astfel nct ambele valori afiate s fie nenule.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmul dat. 4) Scriei un program pseudocod echivalent cu algoritmul dat care s utilizeze

    un alt tip de structur repetitiv.

    5. Se consider programul pseudocod alturat:

    S-a notat cu x mod y restul mpririi

    numrului ntreg x la numrul ntreg y i

    cu [z] partea ntreag a numrului z.

    citete a,b {numere naturale} x 1

    ct timp (a>0)i(b>0) execut

    dac (a mod 10)=10 execut

    n [n/10]

    dac b mod 2 = n mod 2

    atunci scrie DA

    altfel scrie NU

    1) Ce se afiseaz pentru n=35724?

    2) Scriei o valoare pentru n astfel ncat s

    se afieze mesajul DA.

    3) Scriei programul Pascal/C/C++ conform algoritmului. 4) Scriei un program pseudocod echivalent cu algoritmul dat care s utilizeze

    un alt tip de structur repetitiv.

    7. Se consider programul pseudocod alturat.S-a notat cu x%y restul mpririi

    numerelor ntregi x i y.

    citete x {x natural}

    nr0

    s0

    ct timp x0 execut

    nrnr+1

    dac nr%2=0 atunci

    ss+x%10

    citete x

    scrie s,nr

    1) Care sunt valorile afiate pentru urmtoarele date de intrare: 100,1,2,10,5,0 ? (4 p.)

    2) Scriei o secven de valori pentru x astfel nct rezultatul afiat n urma executrii algoritmului s fie 0 10. (3 p.)

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat. 4) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care

    s conin o structur repetitiv cu test final. (5 p.)

  • 37

    8. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    ntreg x la numrul ntreg y i cu [z]

    partea ntreag a numrului real z.

    citete n {numr natural nenul}

    i1

    ct timp n>0 execut

    dac n%2>0 atunci scrie i

    ii+1; n[n/2]

    1) Ce se va afia pentru n=333?

    2) Scriei care este cea mai mic valoare strict pozitiv pentru variabila n astfel

    nct s se afieze succesiunea de valori 12345?

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat, dar n care s se nlocuiasc structura ct timp ... execut cu o structura

    repetitiv cu test final.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    9. Se consider programul pseudocod alturat.S-a notat cu x%y restul mpririi

    numerelor ntregi x i y i cu [z] partea

    ntreag a numrului real z.

    citete x ,m

    {x ntreg, m natural}

    y1

    ct timp m>0 exec

    dac m%2 =0

    atunci

    m[m/2]; xx*x

    altfel

    mm-1;yy*x

    scrie y

    1) Care este valoarea afiat pentru x=-2 i m=9? (5p.)

    2) Scriei o pereche de valori pentru x i m astfel

    nct rezultatul afiat s fie 1. (3p.)

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s conin o structur repetitiv cu test final. (5p.)

    10. Se consider programul pseudocod alturat n care s-a notat cu x|y relaia x

    divide pe y sau y este divizibil cu x.

    citete n,k

    (numere naturale nenule) s0

    pentru i=1,n execut

    dac k|i atunci ss+i

    scrie s

    1) Ce se va afia pentru n=40,k=7?

    2) Determinai cte o valoare de dou cifre pentru variabilele n i k astfel nct

    rezultatul afiat s fie un numr impar.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Construii un algoritm echivalent fr a utiliza structuri repetitive, scriind programul Pascal/C/C++ corespunztor.

  • 38

    11. Se consider programul pseudocod alturat n care s-a folosit notaia [x]

    pentru partea ntreag a lui x.

    citete n (numr natural nenul)

    t1; cn%10; n[n/10]

    ct timp t=1 i n>0 execut

    dac n%10>c atunci

    t0

    cn%10; n[n/10]

    scrie t

    1) Ce se va afia pentru n=4357? 2) Scriei o valoare de patru cifre pentru

    variabila n astfel nct rezultatul afiat s

    fie 1.

    3) Cte numere naturale nenule de cel mult dou cifre pot fi introduse pentru variabila n, s se afieze 1 pentru fiecare caz n parte.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    12. Se consider programul pseudocod alturat n care s-a folosit notaia [x]

    pentru partea ntreag a lui x.

    citete n

    (numr natural nenul) p1; s0

    ct timp p

  • 39

    14. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului ntreg x

    la numrul ntreg y i cu [z] partea ntreag a

    numrului z.

    citete n

    {numr natural} ok1

    dac n%10>[n/10]%10

    atunci x1

    altfel x0

    n[n/10]

    ct timp n>9 execut

    dac n%10>[n/10]%10

    atunci y1

    altfel y0

    dac x y

    atunci ok0

    n[n/10]

    scrie ok

    1) Ce se va afia pentru n=2589?

    2) Scriei o valoare pentru variabila n astfel nct

    s se afieze valoarea 0.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei programul pseudocod care s fie echivalent cu algoritmul dat, dar n care s se nlocuiasc structura ct timpexecut cu un alt tip de structura repetitiv.

    15. Se consider programul pseudocod alturat:

    S-a notat cu x|y relaia x divide pe y sau y

    este divizibil cu x i cu [x] partea ntreag a

    numrului real x.

    citete n

    i2; p1

    ct timp n>1 execut

    k0

    ct timp i|n execut

    ki; n[n/i]

    dac k0 atunci

    pp*k

    ii+1

    scrie p

    1) Ce se va afia pentru n=112? 2) Scriei o valoare pentru variabila n astfel

    nct s se afieze o valoare egal cu n.

    3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat.

    16. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi lui x la y

    i cu [x] partea ntreag a numrului real x

    citete n,c

    (numere naturale,0c9 )

    k0

    ct timp n%10=c execut

    n[n/10]; kk+1

    scrie k

    1) Ce se va afia pentru n=3533 i

    c=3?

    2) Scriei o valoare pentru n i una pentru c astfel nct s se afieze valoarea 0.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un algoritm echivalent cu algoritmul dat, dar care s utilizeze alt tip de structur repetitiv.

  • 40

    17. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi lui x la y

    citete a

    (numr ntreg)

    k0

    ct timp a0 execut citete b

    dac a%2=b%2 atunci

    kk+1

    ab

    scrie k

    1) Ce se va afia dac de la tastatur se introduce irul de valori 2 4 6 5 7 3 9 8

    0?

    2) Dai un exemplu de ir de date de intrare cu cel puin 3 elemente care s

    determine afiarea valorii 0.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un algoritm echivalent cu algoritmul dat, dar care utilizezeaz un alt tip de structur repetitiv.

    18. Se consider programul pseudocod alturat:

    S-a notat cu [x] partea ntreag a numrului

    real x.

    citete a

    (a numr natural, a>1) b1/a; c0

    ct timp b

  • 41

    20. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    natural x la numrul natural y, iar cu [x] partea

    ntreag a numrului real x.

    citete n

    (numr natural, nenul)

    p 1 ct timp p0 atunci

    scrie a,b,c

    ab

    bc

    citete c

    1) Ce se va afia dac a=1, b=2, c=1 i

    sunt citite valorile 2,-1,3,-2,5,0?

    2) Dai un exemplu de trei valori reale pentru variabilele a, b i c astfel nct structura

    ct timp s efectueze o singur iteraie i s afieze trei valori pozitive.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin o structur repetitiv cu test final.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    22. Se consider programul pseudocod alturat:

    citete n,m

    (nr. naturale nenule)

    ct timp nm execut

    dac n>m atunci n n-m

    altfel m m-n

    scrie n

    1) Ce rezultat se afieaz pe ecran pentru n=12 i m=3 ?

    2) Se citete pentru n valoarea 72.

    S se determine cea mai mic valoare de 3 cifre citit pentru m

    astfel nct s se afieze valoarea 36.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin o structur repetitiv cu test final.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

  • 42

    23. Se consider programul pseudocod alturat, unde subprogramul suma(n)

    returneaz suma cifrelor numrului natural n transmis ca parametru.

    citete n (nN) nr0

    ct timp n>9 execut

    nsuma(n)

    nrnr+1

    scrie nr

    1) Care este valoarea afiat pentru n=1999?

    2) Dai exemplu de o valoare pentru n astfel nct

    valoarea afiat s fie 1.

    3) Care este cea mai mare valoare de patru cifre ce trebuie citit pentru variabila n astfel nct s se afieze 3?

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    24. Se consider programul pseudocod alturat n care s-a notat cu x%y restul

    mpririi numrului natural x la numrul

    natural y i cu [z] partea ntreag a

    numrului real z.

    citete n

    {n numr natural}

    z 0

    ct timp n>0 execut

    c n%10; n[n/10]

    dac c%2=0

    atunci zz*10+c

    scrie z

    1) Care este valoare afiat pentru n=52381?

    2) Scriei o valoare pentru variabila n astfel nct s se afieze valoarea 0.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin o structur repetitiv cu test final.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    25. Se consider programul pseudocod alturat n care s-a notat cu x%y restul mpririi ntregi a lui x la y i

    cu [x]partea ntreag a numrului real

    x.

    citete n (nr. natural,n>1)

    d2 (d numr natural) cat timp n%d0 execut

    dd+1

    cat timp n%d=0 execut

    n[n/d]

    dac n=1 atunci scrie d

    altfel scrie n

    1) Ce se va afia pentru n = 45?

    2) Scriei o valoare cu dou cifre care poate fi introdus pentru variabila n

    astfel nct s se afieze valoarea 2.

    3) Cte valori distincte poate primi variabila n astfel nct s se afieze valoarea 4?

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

  • 43

    26. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete a (numr natural)

    b0

    ct timp a>0 execut

    dac a%2>0 atunci

    bb*10+a%10

    a[a/10]

    scrie b

    1) Care este valoarea afiat pentru a=1789?

    2) Determinai cea mai mare valoare ntreag, formata din patru cifre pentru variabila a astfel nct rezultatul afiat

    s fie 15.

    3) Cte valori distincte, numere naturale, cuprinse intre 0 i 50, inclusiv, poate s

    primeasc variabila a pentru ca algoritmul sa afieze valoarea 0?

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    27. Se consider programul pseudocod alturat:

    citete n (numr natural)

    i0; j1

    ct timp jn execut

    ki; ij; ji+k

    scrie j

    1) Care este valoarea afiat pentru n=20?

    2) Determinai cea mai mic valoare natural a variabilei n astfel nct

    rezultatul afiat s fie 34.

    3) Pentru cte valori naturale distincte ale variabilei n, algoritmul afieaz 13.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    28. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete n (nr. natural)

    s1 0; s2 0

    nr 0

    ct timp n0 execut

    dac n % 2 = 0 atunci

    s1 s1 + n % 10

    altfel s2s2+n % 10

    n [n/10]

    dac s1 = s2 atunci

    nr 1

    scrie nr

    1) Care este valoarea afiat pentru n=50324?

    2) Pentru n = ba231 , unde a este cifra sutelor iar b este cifra unitilor, cte

    perechi ordonate (a,b) de cifre exist

    pentru ca valoarea afiat s fie 1.

    3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat.

    4) S se scrie un program pseudocod echivalent cu cel dat folosindu-se un alt tip de structur repetitiv.

  • 44

    29. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor ntregi x i y i cu [x] partea ntreag a numrului real x.

    citete n {nr. natural}

    max 0

    ct timp n0 execut

    n [n/10]

    dac max0 executa

    s1s1+n%10

    n[n/10]

    s2s2+n%10

    n[n/10]

    dac s1=s2 atunci

    scrie 1

    altfel

    scrie 0

    1) Ce se va afia pentru n=12345?

    2) Scriei o valoare cu dou cifre care poate fi introdus pentru variabila n astfel nct s se afieze valoarea 1.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Cte valori distincte cu dou cifre pot fi introduse pentru variabila n astfel nct

    s se afieze valoarea 1?

    31. Se consider programul pseudocod alturat :

    citete x,y

    (numere naturale , x

  • 45

    32. Se consider programul pseudocod

    alturat: S-a notat cu x%y restul mpririi numrului

    natural x la numrul natural nenul y.

    citete x, y

    p 1

    ct timp y > 0 execut

    dac y % 2 = 0 atunci

    y y 2

    p p * x * x

    altfel

    y y 1

    p p * x

    scrie p

    1) Ce se afieaz dac x = 2 i y = 9? 2) Ce valoare trebuie introdus pentru

    variabila x dac valoarea citit pentru y

    este 4 i algoritmul afieaz 256? 3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat. 4) Scriei un algoritm pseudocod echivalent

    cu cel dat n care s nu se utilizeze nicio structur dac.

    33. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului natural

    x la numrul natural nenul y.

    citete n (numr natural)

    i1

    ct timp in execut

    dac n%i=0

    atunci scrie i;ii+1

    altfel ii+2

    1) Ce se afieaz pentru n=15? (5p.)

    2) Determinai cte valori de dou cifre se pot introduce pentru variabila n astfel nct s

    se afieze numai valoarea 1. 3) Dorim s nlocuim structura de decizie din algoritmul dat cu secvena

    urmtoare astfel nct algoritmul obinut s fie echivalent cu cel dat. Cu ce instruciune putem s completm punctele de suspensie? dac n%i=0 atunci

    scrie i

    ...

    i i+2

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    34. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi lui x la y i cu

    [x] partea ntreag a numrului real x.

    m0; k0

    citete x (x nr natural)

    ct timp x>0 execut

    cx%10; x[x/10]

    dac c>m atunci

    mc; k1

    altfel

    dac c=m atunci

    kk+1

    scrie m,k

    1) Care este valoarea afiat pentru x=783851?

    2) Dai un exemplu de valoare care, dac este citit atunci algoritmul afieaz valorile 5 3.

    3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat.

  • 46

    35. Se consider programul pseudocod alturat:

    S-a notat cu ab operaia de interschimbare a

    valorilor variabilelor a i b i cu [x] partea

    ntreag a numrului real memorat n variabila x.

    citete a,b (numere

    naturale) dac ab execut

    a[a/10]

    dac a=b atunci

    scrie 'DA'

    altfel

    scrie 'NU'

    1) Ce se afieaz dac se citesc valorile 56398 i 398560 pentru a i respectiv b?

    2) Dac a=5100, determinai o valoare de 3

    cifre pentru variabila b astfel nct s se

    afieze DA.

    3) Scriei programul Pascal/C/C++ corespunztor. 4) Scriei programul pseudocod sau Pascal/C/C++ care s fie echivalent cu

    programul dat, cu excepia cazurilor n care valorile iniiale ale variabilelor a

    i b sunt egale. n aceste cazuri, trebuie s se afieze NU.

    36. Se consider programul pseudocod alturat n care s-a folosit notaia [a] pentru

    partea ntreag a numrului real a.

    citete n (numr ntreg, n>0) k0; c0

    nauxn

    cat timp naux>0 execut

    naux[naux/10]

    kk+1

    cc*10+1

    pentru i1,k execut

    nn-c; c[c/10]

    scrie n

    1) Care este valoarea afiat pentru n=1234? 2) Scriei o valoare de dou cifre pentru

    variabila n astfel nct s se afieze 1. 3) Pentru cte valori distincte ale lui n, numr

    natural cu maximum 3 cifre se afieaz

    valoarea 0? 4) Scriei programul Pascal/C corespunztor

    algoritmului dat.

    37. Se consider programul pseudocod alturat: S-a notat cu x%y restul mpririi numerelor ntregi x i y i cu [x] partea ntreag

    a numrului real x.

    1) Ce va tipri algoritmul pentru 2793? (5p.)

    citete n {n N}

    an%10; ma

    ct timp n>9 execut

    n[n/10]; bn%10

    dac a>b atunci

    mm*10+b; ab

    scrie m

    2) Scriei programul PASCAL/C/C++ corespunztor algoritmului. (8p.)

    3) Scriei algoritmul pseudocod, echivalent cu cel dat, care folosete un alt tip de structur repetitiv. (5p.)

    4) Dai exemplu de o valoare nenul pentru n,

    astfel nct rezultatul afiat s fie 0.

  • 47

    38. Se consider programul pseudocod alturat: S-a notat cu x%y restul mpririi numrului natural x la numrul natural y, iar cu

    [x] partea ntreag a numrului real x.

    1) Ce se afieaz dac numrul citit este 6?

    citete a

    (a numr natural, a>1)

    n0

    d2 ct timp da execut

    i0 ct timp a%d=0 atunci

    a[a/d]; i1

    nn+i; dd+1

    scrie n

    2) Care este cel mai mic numr care trebuie citit astfel nct s se afieze valoarea 3?

    3) Scriei programul PASCAL/C/C++ corespunztor algoritmului dat.

    4) Scriei un program pseudocod echivalent cu cel dat n care fiecare structur ct timp...execut s fie

    nlocuit cu o structur repetitiv cu test final.

    39. Se consider programul pseudocod alturat:

    1) Care sunt valorile afiate pentru a=7?

    citete a

    (numr natural,a>0)

    b(a+2)*(a+3); k0

    ct timp (b-a0)execut

    bb-a; kk+1

    scrie b,k

    2) Stabilii o valoare pentru variabila a

    astfel nct dup executarea secvenei, b s fie 0.

    3) Scriei programul PASCAL/C/C++

    corespunztor algoritmului dat.

    4) Scriei un program PASCAL/C/C++ echivalent cu algoritmul dat, dar n care

    s nu se utilizeze structuri repetitive.

    40. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete n (nr. natural)

    i 1

    ct timp i0 execut

    nr nr*10+x%10

    x [x/1000]

    scrie nr

    i i+1

    1) Ce valori vor fi afiate pentru urmtoarele numere citite de la tastatur: 5, 12345, 2007,

    31005,124, 9356.

    2) Scriei un set de date de intrare, distincte, astfel nct s se afieze de trei ori numrul 71.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s conin o structur repetitiv cu numr cunoscut de pai n loc de o structur repetitiv cu test iniial.

  • 48

    43. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi lui x la

    y i cu [x] partea ntreag a numrului

    real x.

    citete n,k

    (n,k numere naturale)

    s0

    ct timp n>0 i k>0 execut

    cn%10

    dac c%2=0 atunci ss+c

    n[n/10]; kk-1

    scrie s

    1) Care este valoarea afiat pentru n=83425 i k=3?

    2) Pentru k=3 stabilii o valoare

    nenul pentru n astfel nct

    rezultatul afiat s fie 0.

    41. Se consider programul pseudocod alturat:

    S-a notat cu a mod b restul mpririi lui a la

    b i cu a div b ctul mpririi lui a la b.

    citete a,b {a,bN}

    k1

    ct timp a+b>0 execut

    dac a mod 10b mod 10

    atunci k0

    aa div 10

    bb div 10

    scrie k

    1) Ce se va afia pentru a=123 i

    b=213? 2) Indicai o valoare pentru variabila a i

    o valoare pentru variabila b astfel nct

    algoritmul s afieze valoarea 1. 3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un program Pascal/C/C++ echivalent cu algoritmul dat care s nu foloseasc nici o instruciune repetitiv.

    42. Se consider programul pseudocod alturat:

    S-a notat cu a mod b restul mpririi

    lui a la b i cu a div b ctul mpririi

    lui a la b.

    citete n {nN,n2}

    k2; tn

    ct timp t1 execut

    ct timp t mod k=0 execut

    mk; tt div k

    kk+1

    scrie m

    1) Ce se va afia pentru n=4840?

    2) Care este cea mai mic valoare format din exact 3 cifre ce poate fi introdus

    pentru variabila n astfel nct algoritmul s afieze valoarea 7?

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) nlocuii doar instruciunea scrie m din algoritmul dat cu una sau mai multe

    instruciuni astfel nct noul algoritm s afieze mesajul "DA" n cazul n care

    numrul n este prim, respectiv mesajul "NU" n caz contrar.

  • 49

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un program Pascal/C/C++ pentru un algoritm echivalent cu algoritmul

    dat, n care s se utilizeze structura repetitiv cu numr cunoscut de pai (cu contor).

    44. Se consider programul pseudocod alturat.

    S-au folosit urmtoarele notaii: mod pentru restul mpririi ntregi i div pentru

    ctul mpririi ntregi.

    1) Care este valoarea afiat de acest algoritm dac se citesc urmtoarele valori: 2,15,78,3,0 citete a {numr natural}

    m0

    ct timp a0 execut

    d0

    ct timp a mod 2=0 atunci dd+1; aa div 2

    dac d>m atunci md

    citete a {numr natural }

    scrie m

    2) Dai exemplu de un ir de 5 valori

    astfel nct s se afieze valoarea 0.

    3) Rescriei programul pseudocod dat, modificnd un numr minim de linii astfel nct programul obinut s afieze numrul de valori impare citite.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    45. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor ntregi x i

    y i cu [x] partea ntreag a numrului real x.

    citete n

    (numr natural)

    s0; f2

    ct timp n>1 execut

    p0

    ct timp n%f=0 execut

    n[n/f]; pp+1

    dac p0 atunci ss+p

    ff+1

    scrie s

    1) Ce valoare se va afia pentru n=480?

    2) Scriei programul corespunztor algoritmului dat.

    3) Stabilii cte valori din intervalul [10,40]

    pot fi introduse pentru variabila n, astfel

    nct dup executarea programului, valoarea afiat s fie 1.

    4) Dai exemplu de trei valori diferite pentru n astfel nct rezultatul afiat de fiecare dat, s fie un numr mai mare dect 5, acelai pentru toate cele trei

    valori stabilite pentru n.

  • 50

    46. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi lui x la y i cu [x] partea ntreag a numrului real x.

    citete n {n nr natural}

    a0; p1

    ct timp n0 execut

    ct timp n>9 execut

    n[n/10]

    an*p+a; pp*10

    citete n

    scrie a

    1) Care este valoarea afiat dac se introduc de la tastatur valorile 59, 480,

    16, 329, 0?

    2) Dai exemplu de un ir de valori ce trebuie citite astfel nct valoarea afiat s fie 123?

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un algoritm echivalent cu algoritmul dat, care s foloseasc doar structuri repetitive cu test final.

    47. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi lui x la y i cu

    [x] partea ntreag a numrului real x.

    citete a,b

    (a,b nr. naturale, a0 execut

    dac n%10%2=1 atunci

    c1

    n[n/10]

    dac c=0 atunci kk+1

    scrie k

    1) Ce se va afia pentru a=204 i b=212? (4p.)

    2) Pentru a=24 care sunt valorile care citite

    pentru b determin afiarea valorii 4. (4p.)

    3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat. (8p.) 4) Dai un exemplu de valori pentru a i b

    (am atunci

    m cif;nr 1

    altfel

    dac cif=m atunci nrnr+1

    scrie nr

    1) Ce valoare va fi afiat dac se citesc urmtoarele valori: 5, 372, 477,

    21, 27, 517?

    2) Pentru n=5, scriei cele 5 valori care

    se introduc, pe rnd, pentru variabila x astfel nct rezultatul afiat s fie 4.

    3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat. 4) Scriei un program pseudocod echivalent cu algoritmul dat care s conin un

    alt tip de structur repetitiv n loc de structura repetitiv cu numr cunoscut de pai.

  • 51

    49. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi

    numerelor ntregi x i y i cu [x]

    partea ntreag a numrului real x.

    citete a,b (numere naturale)

    c0

    pentru i=1,a execut

    dac b%i=0 atunci

    dac a%i=0 atunci ci

    dac c>0 atunci scrie c

    1) Care este valoarea afiat pentru a=30 i b=42?

    2) tiind c b=39, determinai cea

    mai mare valoare de maximum 2

    cifre a variabilei a astfel nct

    rezultatul afiat s fie 1.

    3) Scriei un algoritm pseudocod, echivalent cu cel dat, care s utilizeze o structur repetitiv cu test iniial n locul structurii repetitive folosite n acest algoritm.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    50. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi

    numerelor ntregi x i y.

    citete n,m (numr natural)

    b0

    pentru x=n,m execut

    dac x>=2 atunci

    a2

    ct timp x%a>0 execut

    aa+1

    dac x=a atunci bb+1

    scrie b

    1) Care este valoarea afiat pentru n=20 i m=30?

    2) tiind c m=22, determinai cea mai

    mic valoare ntreag i pozitiv pentru variabila n astfel nct rezultatul afiat

    s fie 2.

    3) tiind c n=10, precizai care este numrul valorilor distincte ale lui m astfel

    nct algoritmul s afieze valoarea 2.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    51. Se consider programul pseudocod alturat n care s-a notat cu x|y relaia x divide pe y

    sau y este divizibil cu x.

    citete n,a,b

    (ntregi, a0) s0

    pentru i=a,b execut

    dac n|i atunci

    ss+1

    scrie s

    1) Ce se va afia pentru a=20,b=50,n=7? (5p.) 2) Pentru n=5, determinai cte o valoare de dou

    cifre pentru fiecare dintre variabilele a i b

    astfel nct rezultatul afiat s fie zero.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat. 4) Scriei un program Pascal/C/ C++ care s fie echivalent cu algoritmul dat i

    care s nu conin nicio structur repetitiv.

  • 52

    52. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    natural x la numrul natural y, iar cu [x]

    partea ntreag a numrului real x.

    citete n (numr natural)

    pentru i1,n execut

    p1

    pentru ji,2,-1 execut

    pp*j

    scrie [p/(i*2)]

    1) Ce se afieaz dac valoarea citit este 3?

    2) Care este cea mai mic valoare citit pentru n astfel nct n irul valorilor

    afiate s existe cel puin 3 numere care au ultima cifr 0 i care s se afle

    pe poziii consecutive?

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un program pseudocod echivalent cu cel dat care s utilizeze o singur structur repetitiv.

    53. Se consider programul pseudocod alturat:

    S-a notat cu [x] partea ntreag a numrului real

    x.

    citete n (n>6 natural)

    S0

    pentru i1,n execut

    SS+i

    dac S>10 atunci

    S[S/2]

    scrie S

    1) Care este valoarea afiat dac n=10? 2) Determinai o valoare pentru variabila n

    astfel nct s se afieze valoarea 33.

    3) Scriei un program pseudocod echivalent cu programul dat, care s nu conin nici o structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    54. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete n {nN*}

    S0

    pentru i=1,n-1 execut

    pentru j=i+1,n execut

    SS+1

    scrie S

    1) Ce va afia algoritmul pentru n=7?

    2) Scriei programul Pascal/C/C++ corespunztor algoritmului. (8p.)

    3) Scriei algoritmul pseudocod, echivalent cu cel dat care folosete numai structuri repetitive ct timp.

    4) Scriei un algoritm echivalent cu cel dat, n limbaj pseudocod sau limbaj de programare, care s nu utilizeze nici o structur repetitiv.

  • 53

    55. Se consider programul pseudocod alturat: S-a notat cu x % y restul mpririi numrului natural x la numrul natural nenul y 1) Ce se va afia dac se citesc pentru

    n valoarea 5 i pentru x valorile:

    16, 8, 48, 0, 24?

    citete n(numr natural)

    d 0

    pentru i 1, n execut

    citete x

    dac d = 0 atunci

    d x

    altfel

    repet

    r x % d; x d

    d r

    pn cnd r = 0

    d x

    scrie d

    2) Dac n = 4, dai exemplu de patru

    valori pentru x, pentru care

    algoritmul scrie 1. 3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat. 4) Scriei un algoritm pseudocod

    echivalent cu algoritmul dat care s utilizeze n locul structurii repetitive repet pn cnd o structur

    repetitiv condiionat anterior.

    56. Se consider programul pseudocod

    alturat: S-a notat cu x%y restul mpririi numrului natural

    x la numrul natural nenul y, iar cu [x/y]

    ctul mpririi

    s 0

    citete n (numr natural) pentru i 1,n execut

    citete x(numr natural) nr x % 10

    ct timp x>9 execut

    nr nr * 10

    x [x/10]

    s s + nr

    scrie s

    1) Ce se va afia dac se citesc pentru n

    valoarea 5 i pentru x, n ordine, valorile:

    123, 22, 5324, 1, 86935? 2) Dac n = 4, dai valori pentru x astfel nct

    s se afieze 1234. 3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat. 4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat, folosind n

    loc de structura ct timp alt tip de structur repetitiv.

    57. Se consider programul pseudocod alturat:

    S-a notat cu a mod b restul mpririi lui a la

    b i cu a div b ctul mpririi lui a la b.

    citete n {n nr. natural}

    k0

    pentru i0,9 execut

    xn

    ct timp x>0 execut

    dac x mod 10=i atunci

    ki

    xx div 10

    scrie k

    1) Ce se va afia pentru n=27155? 2) Scriei o valoare format din exact 4

    cifre pentru variabila n astfel nct

    algoritmul s afieze valoarea 4.

    3) Scriei un program pseudocod echivalent cu cel dat pentru toate valorile posibile ale lui n i care s conin o singur structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

  • 54

    60. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete a,b {a,b N}

    s0; xa%10*10+a%10

    yb%10*10+b%10

    pentru i=x,y execut

    dac[i/10]=i%10

    atunci ss+1

    scrie s

    1) Ce va tipri algoritmul pentru a=132 i

    b=2464? 2) Scriei programul Pascal/C/C++

    corespunztor algoritmului.

    58. Se consider programul pseudocod alturat n care s-a notat cu

    3n faptul c n este divizibil cu 3

    citete a,b

    (numere naturale nenule, ab)

    S 0

    pentru n=a,b execut

    dac 3n atunci S S n

    altfel

    S S + n

    scrie S

    1) Ce se va afia dac se citesc valorile 8

    i 17?

    2) Scriei toate perechile de valori de o cifr care dac sunt citite n acest algoritm, determin fiecare afiarea valorii 0.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un program pseudocod care s fie echivalent cu algoritmul dat i care s nu foloseasc structuri repetitive.

    59. Se consider programul pseudocod alturat:

    S-a notat cu a mod b restul mpririi lui a

    la b i cu a div b ctul mpririi lui a la b.

    citete n {nN}

    pentru i1,n-2 execut

    pentru ji+1,n-1 execut

    pentru kj+1,n execut

    dac k*k=i*i+j*j

    atunci scrie i,j,k

    1) Ce se va afia pentru n=6?

    2) Care este cea mai mare valoare ce poate fi introdus pentru n astfel nct

    algoritmul s afieze doar tripletele 3,4,5 i 6,8,10 ?

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un program Pascal/C/C++ echivalent cu algoritmul dat care s foloseasc doar dou structuri repetitive.

  • 55

    3) Scriei algoritmul pseudocod echivalent cu cel dat care folosete un alt tip de structur repetitiv.

    4) Scriei un algoritm echivalent cu cel dat, n limbaj pseudocod sau limbaj de programare, care s nu utilizeze nici o structur repetitiv.

    61. Se consider programul pseudocod alturat:

    citete n

    {numr natural nenul} s0; x2

    pentru i1,n execut

    ss+x

    xx+2

    scrie s

    1) Ce se va afia pentru n=8?

    2) Scriei o valoare strict pozitiv pentru variabila n

    astfel nct s se afieze valoarea 132?

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s nu conin nicio structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat

    62. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    natural x la numrul natural y.

    citete a, b

    (numere naturale 0

  • 56

    64. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    natural x la numrul natural nenul y

    citete a,n

    (numere naturale) j3

    pentru i=1,n execut

    dac i%2=0

    atunci aa-j

    altfel aa+j

    j7-j

    scrie a

    1) Care este valoarea afiat dac a=12 i

    n=10?

    2) Dai exemplu de numr natural care trebuie citit n variabila n astfel nct

    pentru a=32, s se afieze valoarea

    34.

    3) Scriei un program pseudocod echivalent cu programul dat, care s nu conin nici o structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    65. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    natural x la numrul natural nenul y

    citete a,n

    (numere naturale) pentru i=1,n execut

    dac i%2=0

    atunci aa-i

    altfel aa+i

    scrie a

    1) Care este valoarea afiat dac a=12 i

    n=10?

    2) Determinai o valoare pentru variabila n

    astfel nct, pentru valoarea iniial a=32, s se afieze 34.

    3) Scriei un program pseudocod echivalent cu programul dat, care s nu conin nici o structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat

    66. Se consider programul pseudocod alturat, n care s-a notat cu [x] partea ntreag a numrului real x.

    citete n (numr natural) nr0

    pentru i=1,[n/2]execut

    ji; s0

    ct timp s

  • 57

    67. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete a>b

    (numere naturale, ab)

    k0

    pentru ia,b execut

    nr0;auxi

    ct timp aux0 execut

    nrnr*10+aux%10

    aux[aux/10]

    dac nr0) repeta

    bn%10; n[n/10]

    pana cand b>=n%10

    scrie n

    1) Ce se afieaz pentru n=23751?

    2) Scriei o valoare cu trei cifre care poate fi introdus pentru variabila n astfel

    nct s se afieze valoarea 0.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Adugai o structur alternativ la sfritul algoritmului care s afieze, n plus, mesajul DA dac cifrele numrului n sunt n ordine strict descresctoare i

    mesajul NU n caz contrar.

    69. Se consider programul pseudocod alturat: S-a notat cu a%b

    restul mpririi numrului ntreg a la

    numrul ntreg b.

    n0

    repet

    citete x {x numr natural}

    dac x0 atunci

    dac x%2=0

    atunci nn+1

    altfel nn-1

    pn cnd x=0

    dac n=0 atunci scrie DA

    altfel scrie NU

    1) Scriei un ir de valori pentru variabila x astfel nct programul s afieze, n

    urma executrii, mesajul DA.

    2) Scriei un ir de valori pentru variabila x astfel nct programul s afieze, n

    urma executrii, mesajul NU.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin o structur repetitiv cu test iniial.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

  • 58

    70. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    ntreg x la numrul ntreg y i cu [z] partea

    ntreag a numrului real z.

    citete n {numr natural }

    x0

    repet

    xx*10+n%10

    n[n/10]

    en*(n-x)*([n/10]-x)

    pn cnd e=0

    dac n>0

    atunci scrie A

    altfel scrie B

    1) Ce se va afia pentru n=123321?

    2) Scriei dou valori, numere naturale consecutive formate fiecare din cte cinci cifre, pentru variabila n astfel nct

    rezultatele afiate s fie diferite. 3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s

    conin o structur repetitiv cu test iniial. 4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    71. Se consider programul pseudocod

    alturat: S-a notat cu x%y restul mpririi numrului natural

    x la numrul natural y i cu [z] partea ntreag a

    numrului real z.

    citete n {numr natural }

    x0

    p1

    repet

    xx+(9-n%10)*p

    n[n/10]

    pp*10

    pn cnd n=0

    scrie x

    1) Ce se va afia pentru n=102206?

    2) Scriei o valoare care poate fi introdus pentru variabila n astfel nct rezultatul

    afiat n urma executrii algoritmului s fie 7210.

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s conin o structur repetitiv cu test iniial.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    72. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numrului

    natural x la numrul natural y, iar cu [x]

    partea ntreag a numrului x.

    citete a,b

    (numere naturale nenule)

    c0 repet

    ia%2

    jb%2 dac i+j=0 atunci

    cc+1

    aa*i+(1-i)*[a/2]

    bb*j+(1-j)*[b/2] pn cnd i*j=1

    scrie c

    1) Ce se afieaz dac numerele citite sunt 24 i 36?

    2) Scriei dou valori care trebuie citite (una pentru variabila a i una pentru variabila

    b) astfel nct n urma executrii

    algoritmului s se afieze valoarea 0.

    3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat. 4) Scriei un program pseudocod echivalent cu cel dat n care structura

    repet...pn cnd... s fie nlocuit cu o structur repetitiv cu test

    iniial.

  • 59

    73. Se consider programul pseudocod alturat n care s-a folosit notaia [x] pentru

    partea ntreag a lui x.

    citete n (numr natural) repet

    n[n/10]

    pn cnd n

  • 60

    76. Se consider programul pseudocod alturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete n (nr natural)

    x0

    repet

    xx*10+n%10

    n[n/10]

    pn cnd n=0

    repet

    nn*10+x%10

    x[x/100]

    pn cnd x=0

    scrie n

    1) Ce se afieaz dac se citete de la tastatur numrul n=29357?

    2) Scriei o valoare de 5 cifre pentru n astfel

    nct rezultatul afiat s fie 123.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin alt tip de structuri repetitive.

    4) Scriei un program Pascal/C/C++ corespunztor algoritmului dat.

    77. Se consider programul pseudocod alturat:

    S-a notat cu [x] partea ntreag a numrului real

    x, i cu x%y restul mpririi lui x la y

    citete a,b

    (numere naturale)

    s0

    repet

    dac a%20 atunci

    ss+b

    a[a/2]; bb*2

    pn cnd a9) p10; q1

    repet

    pp*10; qq*10

    pn cnd q

  • 61

    3) Cte valori distincte de trei cifre exist pentru variabila n astfel nct s se

    afieze 3?

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    79. Se consider programul pseudocod alturat. S-au folosit urmatoarele notaii: x mod y i x div y pentru restul, respectiv ctul mpririi ntregi a lui x

    la y i |x| pentru valoarea absolut a numrului x.

    1) Ce se va afia pentru x=123476? citete x{numr natural >1} t0;sp0;si0;

    yx;

    repet

    tt+1

    xx div 10

    pn cnd x0

    pentru pt,1,-1 execut

    cy mod 10

    yy div 10

    dac p mod 2=0

    atunci spsp+c

    altfel sisi+c

    dac |si-sp| mod 11=0 atunci scrie DA

    altfel scrie Nu

    2) Cte valori distincte de dou cifre se pot introduce pentru variabila x astfel nct, de fiecare dat, s se afieze mesajul Da?

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat, dar n care s se nlocuiasc structura repetitiv pentru cu o

    structura repetitiv cu test final.

    4) Scrieti programul Pascal/C/C++ corespunztor algoritmului dat.

    80. Se consider programul

    pseudocod alturat. S-au folosit urmtoarele notaii: mod

    pentru restul mpririi ntregi iar div

    pentru ctul mpririi ntregi.

    citete x {x nr.natural} pentru c0,9 execut

    yx; p0

    repet

    dac y mod 10=c atunci

    pp+1

    yy div 10

    pn cnd y=0

    dac p>1 atunciscrie c

    1) Ce se va afia pentru x=1232189?

    2) Dai o valoare pentru numrul x

    astfel nct algoritmul s nu afieze nimic.

    3) Scriei un program pseudocod care s fie echivalent cu cel dat, dar n care s se nlocuiasc structura repetitiv pentru cu o structur repetitiv cu

    test iniial. 4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

  • 62

    81. Se consider programul pseudocod alturat. S-au folosit urmtoarele notaii: mod pentru restul mpririi ntregi i div pentru

    ctul mpririi ntregi.

    1) Ce se va afia pentru x=1939? citete x {nr.natural} v0; z1;

    repet

    ax mod 10

    dac a>5 atunci vv+z*5

    altfel vv+z*a

    xx div 10;zz*10

    pn cnd x=0

    scrie v

    2) Indicai cea mai mare valoare posibil pentru x astfel nct algoritmul s

    afieze valoarea 2355.

    3)

    nlocuind structura dac cu secvena dac a>5 atunci

    ...

    v...

    trebuie s obinem un algoritm echivalent cu cel dat. Cu ce trebuie nlocuite punctele de suspensie?

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    82. Se consider programul pseudocod alturat n care:

    - [x] reprezint partea ntreag a lui x

    - dn reprezint faptul c n e divizibil cu d

    citete n (numr natural, 1

  • 63

    84. Scriei un program care rezolv urmtoarea problem: se citesc de la tastatur dou numere naturale distincte, fiecare de maximum 7 cifre. S se afieze ctul

    i restul mpririi celui mai mare dintre cele dou numere la cel mai mic dintre cele dou numere. Dac mprirea nu se poate efectua, se va afia mesajul EROARE.

    85. Scriei un program care rezolv urmtoarea problem: se citesc trei numere reale pozitive. S se afieze mesajul DA dac cel puin unul dintre ele are

    proprietatea c este egal cu media geometric a celorlalte dou i mesajul NU

    dac nici unul dintre ele nu este egal cu media geometric a celorlalte dou.

    86. Scriei un program care rezolv urmtoarea problem: se citete un numr ntreg format din cel mult 8 cifre. S se afieze mesajul DA dac toate cifrele

    numrului citit sunt identice; n caz contrar, s se afieze mesajul NU.

    Exemple:

    dac se citete unul dintre numerele 777777 sau -9999 se va afia mesajul

    DA;

    dac se citete unul dintre numerele 777767 sau -9099 se va afia mesajul NU.

    87. Scriei un program care citete trei valori reale distincte notate a, b, c i care

    afieaz una dintre urmtoarele valori:

    1 dac a < b < c;

    2 dac a > b > c;

    3 dac b este cea mai mare dintre cele trei valori;

    4 dac b este cea mai mic dintre cele trei valori;

    88. Scriei un program care citete de la tastatur o valoare natural impar n

    (1n1000) i apoi calculeaz i afieaz pe ecran, cu exact patru zecimale,

    valoarea expresiei:

    n...-54321

    Exemplu: dac se citete pentru n valoarea 3, programul va afia valoarea 1,3178

    89. Scriei un program Pascal/C/C++ care citete de la tastatur un numr real a i

    afieaz pe ecran, pe acelai rnd i separate printr-un spaiu, dou numere ntregi consecutive x i y, cu proprietatea c xa

  • 64

    De exemplu, pentru a=23467 se afieaz 3.

    92. Se consider irul f: 1,5,2,13,10,... generat dup regula de mai jos, n

    care s-a notat cu [x] partea ntreag a numrului x:

    imparnnpentruf

    parnnpentruf

    npentru

    f

    n

    nn

    ,1*2

    ,13*2

    11

    ]2/[

    ]2/[

    a) Scriei un program care citete un numr natural x (cu cel mult 9 cifre) apoi

    afieaz pe ecran mesajul DA dac x este termen al irului dat, respectiv

    mesajul NU n caz contrar. Se va utiliza un algoritm eficient din punct de vedere

    al memoriei utilizate i al timpului de executare. Exemplu: pentru x=10 se va afia DA (8 p.)

    b) Descriei metoda utilizat i explicai n ce const eficiena ei. (2 p.)

    93. Pentru dou puncte A, B din plan, puncte date prin coordonatele lor ntregi

    (xa,ya), (xb,yb), se cere s se verifice dac punctele A i B sunt egal

    deprtate de originea axelor de coordonate. Amintim c distana n plan dintre punctele P1(x1,y1) i P2(x2,y2) se calculeaz cu ajutorul formulei

    d(P1,P2)=2

    21

    2

    21 )()( yyxx .

    Scriei programul Pascal/C/C++ care citete de la tastatur cele 4 numere ntregi i afieaz pe ecran mesajul DA n cazul n care A i B se afl la aceeai distan de punctul O (originea) i afieaz mesajul NU n caz contrar.

    94. Pentru un numr x citit de la tastatur, valoare real pozitiv cu cel mult 5 cifre

    la partea ntreag i cel mult 4 zecimale, se cere s se afieze dou numere naturale a i b astfel nct raportul a/b s fie egal cu x. Scriei programul

    Pascal/C corespunztor.

    De exemplu, pentru x=1.20, o soluie posibil este 6 5. (10p.)

    95. Scriei un program Pascal/C/C++ care citete de la tastatur un numr natural n

    cu cel mult nou cifre i care determin dac exist un numr natural k cu

    proprietatea c n=123k. Dac exist un astfel de numr, programul va afia

    pe ecran mesajul DA urmat de numrul k, separate printr-un spaiu, altfel va

    afia mesajul NU (ca n exemple).

    Exemple: pentru n=720 se va afisa DA 6 pentru c 6!=720 (

    6!=1*2*3*4*5*6); pentru n=721 se va afisa NU .

    96. Pentru trei numere reale a, b, c citite de la tastatur, se cere s se afieze o

    valoare ntreag x astfel nct suma distanelor de la x la fiecare dintre valorile

    a, b, c s fie minim. Valoarea determinat se va afia pe ecran. Definim

    distana (pe ax) dintre dou numere u i v prin valoarea absolut a diferenei

    lor, |u-v|.

  • 65

    a) Alegei o metod corect i eficient de rezolvare i explicai n limbaj natural (pe maximum 5-6 rnduri) metoda aleas justificnd corectitudinea i eficiena acesteia.

    b) Scriei programul Pascal/ C/C++ corespunztor metodei alese.

    97. Se citesc de la tastatur numrul natural n (nb. Programul afieaz DA

    n caz afirmativ i NU n caz contrar.

    Exemple:9393939,515 sunt numere fierstru iar 9354539 nu este numr

    fierstru. (10p.)

    99. Se citete de la tastatur un numr natural n (1n100). S se afieze pe

    ecran al n-lea termen al irului 11,22,33,44,55,66,77,88,99, 111, 222,333,444,etc.

    De exemplu, dac n=11 se afieaz 222.

    a) Alegei o metod eficient de rezolvare, descriind n limbaj natural metoda folosit i justificai eficiena acesteia ( cel mult 6 rnduri).

    b) Scriei programul Pascal/C/C++ corespunztor metodei descrise la punctul a).

    100. Scriei programul Pascal/C/C++ care afieaz pe ecran, separate prin virgul, toate numerele naturale de patru cifre care au prima cifr strict mai mic dect a doua, a doua cifr strict mai mare dect a treia i a treia cifr strict mai mic dect a patra. Exemplu: 1201,1202,1203,...,8979,8989 (10p.)

  • 66

    101. Pentru dou numere naturale n i m cu maximum nou cifre fiecare, citite de la tastatur, numere care au cifrele n ordine cresctoare, se cere s se afieze pe ecran cel mai mare numr care se poate forma cu toate cifrele numerelor n

    i m . De exemplu pentru n=35679 i m=123789 se va tipri 99877653321.

    Alegei un algoritm eficient de rezolvare.

    a) Descriei strategia de rezolvare i justificai eficiena algoritmului ales, folosind limbajul natural (5-6 rnduri). (2p.)

    b) Scriei programul Pascal/C/C++ corespunztor. (8p.)

    102. Scriei un program eficient din punct de vedere al timpului de executare i al spaiului de memorie, care citete de la tastatur un numr natural n

    (n1000) i afieaz pe ecran cel de al n-lea termen al irului:

    1, 1,2,2, 1,2,3,3,3, 1,2,3,4,4,4,4, ...

    construit astfel: prima grup este format din numrul 1, a doua grup este

    format din numrul 1 urmat de numrul 2 scris de dou ori, etc. Grupa a k-

    a, este format din numerele 1, 2,..., k-1 urmate de numrul k scris de k ori.

    103. Se citete de la tastatur un numr natural n (n100) i apoi n numere din

    mulimea {1, 2, 3}. Se cere s se afieze cele n valori citite n ordine

    cresctoare.

    a) Descriei pe scurt un algoritm de rezolvare al problemei, eficient din punct de vedere al spaiului de memorie utilizat i al timpului de executare, explicnd n ce const eficiena metodei.

    b) Scriei programul Pascal/C/C++ corespunztor algoritmului descris.

    Exemplu. Pentru n=19 i valorile 3 3 3 3 2 1 2 1 3 2 1 3 2 1 1 3 3

    2 3 se va afia pe ecran irul :

    1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 3.

    104. S se scrie un program Pascal/C/C++ care citete de la tastatur un numr

    natural n (cu cel puin 2 cifre i cel mult 9 cifre, toate nenule) i care

    determin i scrie pe ecran toate numerele obinute din n prin eliminarea cte

    unei singure cifre, n ordine: mai nti cifra unitilor, apoi cifra zecilor, apoi cifra sutelor, etc. Numerele vor fi scrise pe o singur linie, dou numere alturate fiind separate printr-un singur spaiu.

    Exemplu: dac se citete N=12345, se vor afia, n ordine, numerele:

    1234 1235 1245 1345 2345

    105. irul lui Fibonacci este definit astfel:

    t0=0, t1=1, tn=tn-1+tn-2. pentru n2.

  • 67

    Scriei programul care citete de la tastatur dou numere naturale a>b

    (1ab32000) i verific dac aceste numere sunt termeni consecutivi n irul

    lui Fibonacci. Se va afia pe ecran un mesaj dac a i b ndeplinesc sau nu,

    condiiile din enun. Exemplu: pentru a=34, b=55 se va afia pe ecran mesajul: sunt termeni consecutivi in sirul lui Fibonacci

    106. Scriei un program Pascal/C/C++ care s afieze pe ecran toate numerele pare de dou cifre. Numerele vor fi scrise pe mai multe linii, cte cinci pe fiecare linie. Numerele de pe fiecare linie vor fi separate printr-un spaiu.

    107. Scriei programul Pascal/C/C++ care s afieze toate numerele impare de dou cifre. Afiarea se va face pe ecran, cte dou numere pe fiecare linie, numerele de pe aceeai linie fiind separate printr-un spaiu.

    108. Pentru un numr natural n (1

  • 68

    111. Pentru dou valori a i b (numere naturale mai mici dect 1000, cu a

  • 69

    115. Scriei un program Pascal/C/C++ care citete de la tastatur un numr

    natural n (0

  • 70

    120. Scriei un program Pascal/C/C++ care citete de la tastatur 10 numere ntregi,

    determin i afieaz pe ecran media aritmetic a tuturor valorilor pozitive, cu dou zecimale exacte. (10p.)

    121. Scriei un program Pascal/C/C++ care citete de la tastatur dou numere naturale a i b cu acelai numr de cifre (0

  • 71

    exist cel puin un numr natural strict mai mare dect n care s aib exact

    aceleai cifre ca i n.

    a) Descriei metoda de rezolvare aleas folosind limbajul natural (3-4 rnduri) (1p.)

    b) Scriei programul Pascal/C care citete de la tastatur valoarea lui n i

    afieaz pe ecran unul dintre mesajele EXISTA sau NU EXISTA.

    De exemplu, pentru n=165, se afieaz mesajul EXISTA, iar pentru n=81, se

    afieaz mesajul NU EXISTA. (10p.)

    127. Pentru orice numr natural nenul n definim n factorial, notat n!, ca fiind

    produsul tuturor numerelor naturale nenule mai mici sau egale cu n (n!=1*2*...*n).

    De exemplu: 3!=1*2*3=6, 5!=1*2*3*4*5=120

    a) Descriei n limbaj natural o metod eficient de determinare a numrului de cifre nule aflate pe ultimele poziii consecutive ale valorii obinute n urma evalurii lui n!, n fiind un numar natural nenul de cel mult 4 cifre.

    De exemplu, dac n=10, cum 10!=3628800, rezultatul va fi 2, deoarece

    3628800 are doi de 0 la sfrit. (2p.)

    b) Scriei un program Pascal/C/C++ corespunztor metodei descrise la punctul anterior, care citete de la tastatur un numr natural nenul n de cel mult 4 cifre

    i afieaz pe ecran numrul de cifre nule aflate la sfarsitul lui n!. (8p.)

    128. Se citesc de la tastatur trei numere naturale de cel mult 4 cifre fiecare n,a i

    b i se cere s se afieze pe ecran cte numere naturale mai mici sau egale cu

    n sunt multipli ai lui a, dar nu sunt multipli ai lui b. De exemplu, dac n=100,

    a=12, b=8, rezultatul afiat va fi 4 (numerele mai mici sau egale cu 100 care

    sunt multipli ai lui 12 dar nu i ai lui 8 sunt 12,36,60,84)

    a) Alegei o metod eficient de rezolvare i descriei n limbaj natural metoda aleas justificnd eficiena acesteia (4-6 rnduri). (2p.) b) Scriei programul Pascal/C/C++ corespunztor metodei alese la punctul a). (8p.)

    129. Scriei un program C/C++ care citete de pe prima linie a fiierului text BAC.TXT trei numere naturale nenule a,b,c formate din cel mult patru cifre

    fiecare, separate prin cte un spaiu i afieaz pe ecran cel mai mare divizor comun al acestora. De exemplu, dac din fiier se citesc numerele: 9 27 15,

    atunci se afieaz 3. (10p.)

    130. Scriei un program Pasca/C/C++ care citete de la tastatur trei numere

    naturale x, y i k, ( 1x

  • 72

    numrul acestora. De exemplu, pentru x=3, y=12 i k=5 se vor afia pe ecran nu neaprat n

    aceast ordine: 3 5 7 11

    s-au gsit mai puine numere prime:4 (10p.)

    131. International Standard Book Number (ISBN) este un cod unic utilizat pentru identificarea fiecrei cri, format din 9 cifre urmate de o cifr de control care

    poate fi o cifr sau caracterul x ce reprezint numrul 10. Semnificaia cifrelor

    din cadrului unui cod ISBN de forma 10...21 aaa este urmtoarea: 321 aaa

    identific ara, 7654 aaaa identific editura, 98aa identific numrul asociat

    crii iar a10 reprezint cifra de control calculat astfel nct

    10

    1

    *][i

    iia s fie

    divizibil cu 11. De exemplu 973 8934 05 2 este un cod ISBN cu cifra de

    control 2. Scriei un program Pascal/C/C++ care citete de la tastatur un

    numr natural cu 9 cifre care reprezint primele 9 poziii ale unui cod ISBN i

    afieaz pe ecran cifra de control corespunztoare.

    132. a) Scriei un program n limbajul Pascal/C/C++, eficient din punctul de vedere al duratei de executare, care afieaz toate numerele naturale formate din cifre identice, mai mari dect 10 i mai mici dect o valoare dat n , n

  • 73

    n exemplu.

    De exemplu, pentru n=6 i m=6 se afieaz perechile:

    1 6

    2 3

    2 6

    3 6 (10p.)

    135. Scriei programul Pascal/C/C++ care citete de la tastatur un numr natural n

    (n