Documente Academic
Documente Profesional
Documente Cultură
8. Rescrieţi secvenţa de program de mai jos în limbajul C utilizând alte două structuri repetitive . Precizaţi denumirea
structurilor folosite şi diferenţa principală dintre acestea .
citeşte n
p0 ; a1
pentru i=1,5 execută
pp+a*i; aa*n
sfârşit_pentru
9. Următoarea secvenţă de instrucţiuni ar trebui să determine cel mai mare divizor comun a două numere naturale m şi
n . Găsiţi greşeala şi scrieţi varianta corectă în limbajul C justificând modificarea .
citeşte m,n
cât_timp rest[m/n]0 execută
mn
nrest[m/n]
sfârşit cât timp
scrie n
10. Se consideră următoarea secvenţă de program:
citeşte n
s0
pentru i=1,n execută
ss+i
sfârşit_pentru
scrie s
Transcrieţi secvenţa de mai sus în limbajul C în două moduri utilizând alte două structuri repetitive cunoscute.
11. Corectaţi algoritmul de mai jos astfel încât el să reprezinte o rezolvare corectă pentru determinarea divizorilor naturali
proprii ai numarului natural nenul n şi scrieţi programul C corespunzător.
citeşte n
dacă n1
atunci n2[n/2] ; d1
cât_timp dn2 execută
dacă rest[n/d] =1 atunci scrie d
sfârşit_dacă
dd+1
sfârşit_cât_timp
sfârşit_dacă
scrie d
12. Se consideră următorul algoritm :
citeşte a,b //numere naturale nenule
c0
cât_timp a0 execută
dacă rest[a/2] =1 atunci cc+b
sfârşit_dacă
a[a/2] ; bb*2
sfârşit_cât_timp
scrie c
Scrieţi programul C corespunzător şi explicaţi ce efect are.
13. Se consideră următoarea secvenţă de instrucţiuni în pseudocod . Ce valoare se va afişa pentru m=64 ? Scrieţi
programul C corespunzător.
citeşte m //numar natural nenul
d2
cât_timp m 0 execută
dacă rest[m/d] = 0 atunci scrie d
altfel dd+1
sfârşit_dacă
m[m/d]
sfârşit_cât_timp
14. Rescrieţi secvenţa de mai jos în limbajul C utilizând o structură repetitivă cu număr cunoscut de paşi şi explicaţi ce
efect are.
citeşte n
d2
cât timp d n/2 execută
dacă rest[n/d] =0 atunci scrie d
sfârşit dacă
FIŞĂ DE LUCRU – clasa a IX-a 3
Uînv: Aplicaţii pentru structuri de control
dd+1
sfârşit cât timp
15. Următoarea secvenţă de instrucţiuni stabileşte dacă un număr natural n1 este prim sau nu . Stabiliţi posibilităţile de
optimizare care se pot aduce algoritmului . Scrieţi varianta nouă jîn limbajul C ustificând modificarea .
citeşte n
d2 ; primtrue
pentru d=1,[n/2] execută
dacă rest[n/d] =0
atunci scrie “Nu este prim”
primfalse
sfârşit_dacă
sfârşit_pentru
dacă prim atunci scrie “Prim”
sfarsit_daca
16. Ce calculează următorul algoritm ? Scrieţi programul C corespunzător.
citeste x,y (numere naturale)
ux ; vy;
cat_timp xy executa
daca xy atunci xx-y; uu+v
altfel yy-x; vv+u
sf_daca
sf_cat_timp
scrie x,[(u+v)/2]
17. Fie următoarea secvenţă de algoritm :
citeste a,b
ca ; d0;
cat_timp c b executa
cc-b ; dd+1
sf_cat_timp
scrie c,d
Scrieţi programul C corespunzător şi explicaţi ce efect are.
18. Fie următoarea secvenţă de algoritm :
citeste nr
n2; j0;
repeata
primtrue;
pentru i=2,[n] executa
daca rest[n/i]=0 atunci primfalse
sf_daca
sf_pentru
daca prim atunci scrie n; jj+1
sf_daca
nn+1
pana_cand j=nr
Scrieţi programul C corespunzător şi explicaţi ce efect are.
19. Se consideră următorul program pseudocod:
citeste n (numar natural)
m0
repeta
mm+1
n[n/2] (catul impartirii intregi a lui n la 2)
pana_cand n<=0
scrie m
Scrieţi programul C corespunzător şi explicaţi ce efect are.
20. Se consideră următorul algoritm reprezentat în pseudocod:
citeste a,b (numere naturale)
daca a>b atunci ca; ab; bc
sf_daca
d0
pentru i=a,b executa
daca rest[i/2]=0 atunci dd+1
sf_daca
sf_pentru
FIŞĂ DE LUCRU – clasa a IX-a 4
Uînv: Aplicaţii pentru structuri de control
scrie d
Scrieţi programul C corespunzător şi explicaţi ce efect are.
21. Se consideră următoarea secvenţă de instrucţiuni în pseudocod:
citeşte n,x //numere întregi
pentru i=1,n execută
xx*x
sfarsit_pentru
scrie x
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru n=3 şi x=2.
22. Se consideră următoarea secvenţă de instrucţiuni în pseudocod:
citeşte n, x {numere naturale}
pentru i=1,n execută
xx+i*i
sfarsit_pentru
scrie x
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru n=3 şi x=8.
23. Se consideră programul pseudocod alăturat:
citeşte a,b (numere întregi)
dacă a<0 atunci a -a
sfarsit_daca
daca b<0 atunci b -b
sfarsit_daca
h0
cat_timp a>=b executa
hh+1; aa-b
sfarsit_cat_timp
scrie h
Scrieţi programul C corespunzător şi explicaţi ce efect are.
24. Se consideră următorul program pseudocod:
citeşte a,b (a,b numere naturale, 0<a<b)
ma
cat_timp rest[b/m]≠0
mm+1
sfarsit_cat_timp
scrie m
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru a=45 şi b=100.
25. Se consideră următorul program pseudocod:
citeste n (numar natural nenul)
m0
repeta
daca rest[n/10]=0 atunci mm+1;
sfarsit_daca
n[n/10]
pana_cand n<=0
scrie m
Scrieţi programul C corespunzător şi explicaţi ce efect are.
26. Se consideră programul pseudocod alăturat:
citeste x,y (numere naturale)
nr0; d2
cat_timp (d≤x) si (d≤y) executa
daca (rest[x/d]=0) si (rest[y/d]=0)
atunci nrnr+1; x[x/d]; y[y/d]
altfel dd+1
sfarsit_daca
sfarsit_cat_timp
scrie nr,x,y
Scrieţi programul C corespunzător şi explicaţi ce efect are.
27. Se consideră programul pseudocod alăturat:
citeste a,b (numere intregi)
daca a<0 atunci
a -a; b -b
sfarsit_daca
h0
pentru i=1,a executa
FIŞĂ DE LUCRU – clasa a IX-a 5
Uînv: Aplicaţii pentru structuri de control
hh+b
sfarsit_pentru
scrie h
Scrieţi programul C corespunzător şi explicaţi ce efect are.
28. Se consideră programul pseudocod alăturat:
citeste n (numar natural)
h0; i1
cat_timp i<n executa
ji+1
cat_timp j<=n executa
daca rest[j/i]=0 atunci hh+1
sfarsit_daca
jj+1
sfarsit_cat_timp
ii+1
sfarsit_cat_timp
scrie h
Scrieţi programul C corespunzător şi explicaţi ce efect are.
29. Se consideră algoritmul pseudocod:
b0; c0
citeste n {numar natural}
pentru i=1,n executa
citeste a {numar intreg}
daca a>0 atunci
cc+1; bb+a
sf_daca
sf_pentru
daca c=0 atunci
scrie „imposibil”
altfel scrie b/c {cu 2 zecimale}
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are.
30. Se consideră următoarea secvenţă de instrucţiuni scrisă în pseudocod:
citeste n
citeste a
nr1; max1
pentru i=2,n executa
citeste b
daca a=b atunci nrnr+1
altfel
daca nr>max atunci maxnr
sf_daca
nr1
sf_daca
ab
sf_pentru
scrie max
Scrieţi programul C corespunzător şi explicaţi ce efect are.
31. Se consideră următorul program pseudocod:
citeste a, b {numere naturale, a<=b}
n0
cat timp a<b executa
aa+1; bb-1; nn+1
sf_cat_timp
scrie n
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru a=18 şi b=33.
32. Se consideră următorul program pseudocod :
citeste n,p {numere narurale mai mare decat 1}
m0
cat timp rest[n/p]=0 executa
mm+1; n[n/p] {catul impartirii intregi}
sf_cat timp
scrie m,n
Scrieţi programul C corespunzător şi explicaţi ce efect are.
FIŞĂ DE LUCRU – clasa a IX-a 6
Uînv: Aplicaţii pentru structuri de control
33. Se consideră algoritmul alăturat în pseudocod, în care x este un număr natural a cărui valoare este cunoscută
E0; dx
repeta
EE+rest[d/10]
d[d/10]
pana cand d=0
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru x=197.
34. Se consideră algoritmul descris în pseudocod:
citeste x
nr0
repeta
yx
citeste x
daca x=2*y atunci nrnr+1
sf_daca
pana cand x=0
scrie nr
Scrieţi programul C corespunzător şi deduceţi ce se va afişa, dacă valorile citite pentru x sunt în ordine 2, -3, -6, 4, 8,
16, 0.
35. Se consideră algoritmul descris în pseudocod:
m0
citeste x,y //numere întregi
cat timp (x≠0) si (y≠0) executa
cat timp x≠y executa
daca x>y atunci xx-y
altfel yy-x
sf_daca
sf_cat_timp
daca rest[x/5]=0 atunci mm+1
sf_daca
citeste x,y
sf_cat_timp
scrie m
Scrieţi programul C corespunzător şi deduceţi ce valoare se va afişa pe ecran dacă de la tastatură se introduc în ordine
numerele 15, 6, 25, 50, 10, 10, 0, 27?
36. Se consideră următorul algoritm scris în pseudocod:
b0
citeste n
pentru k=1,n executa
citeste a
daca a>0 atunci
daca b<=0 sau a<b atunci ba
sf_daca
sf_daca
sf_pentru
daca b>0 atunci scrie b
altfel scrie -1
sf_daca
Scrieţi programul C corespunzător şi deduceţi ce se va afişa pe ecran, dacă valorile citite de la tastatură sunt, în
ordine,
5, 2, -3, 1, 7, -11.
37. Fie următoarea secvenţă dată în pseudocod, în care toate variabilele sunt de tip întreg:
F1
citeste n
pentru i=1,n executa
E0
pentru j=1,i executa
EE+j
sf_pentru
FF*E
sf_pentru
scrie F
Scrieţi programul C corespunzător şi deduceţi ce valori afişează secvenţa, dacă de la tastatură se introduce n=3.
FIŞĂ DE LUCRU – clasa a IX-a 7
Uînv: Aplicaţii pentru structuri de control
38. Considerăm următoarea structură alternativă. Care sunt valorile obţinute de variabilele întregi a, b şi c după
executarea instrucţiunii, dacă, iniţial, aveau valorile a=3, b= -3, c=2 ?
daca a>-1 atunci
daca b>1 atunci
daca c>-1 atunci cc-1
sf_daca
altfel bb-1
sf_daca
sf_daca
Scrieţi programul C corespunzător .
39. Se consideră algoritmul de mai jos. Scrieţi programul C corespunzător şi precizaţi ce se va afişa în urma executării
instrucţiunilor?
intreg i,c
c10; i0
cat timp i<3 executa
daca c<100 atunci ii+1
sf_daca
ii+1
scrie ‘*’
sf_cat_timp
40. Se consideră următorul algoritm:
citeste n {numar natural nenul}
nr0
cat timp n<>0 executa
daca (n%10)%2=0 atunci nrnr+1
altfel nrnr-1
sf_daca
n[n/10]
sf_cat_timp
daca nr=0 atunci scrie “DA”
altfel scrie « NU »
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are.
41. Se consideră următorul algoritm pseudocod:
citeste a,b {numere naturale >0}
cat timp (a%10=b%10) and (a<>0) and (b<>0) executa
a[a/10]; b[b/10]
sf_cat_timp
daca (a=0) and (b=0) atunci scrie „DA”
altfel scrie „NU”
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are.
42. Fie secvenţa de instrucţiuni pseudocod:
daca a>b atunci ab //interschimba valorile
sf_daca
daca b>c atunci bc
sf_daca
daca a>c atunci ac
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru a=3, b=2, c=4.
43. Considerând algoritmul următor, identificaţi prelucrarea pe care o execută:
pentru i=1,9 executa
pentru j=0,9 executa
pentru k=0,9 executa
ni*1000+j*100+k*10
daca (n%7=0) and (j%2=0) atunci scrie n
sf_daca
sf_pentru
sf_pentru
sf_pentru
Scrieţi programul C corespunzător şi explicaţi ce efect are.
44. Rescrieţi următoarea secevenţă în limbajul C folosind alte două instrucţiuni repetitive:
i1
executa
FIŞĂ DE LUCRU – clasa a IX-a 8
Uînv: Aplicaţii pentru structuri de control
kk*i
daca k>100 atunci
kk-2
scrie k
sf_daca
ii+2
pana cand i>10
45. Se consideră programul pseudocod:
citeste a,b {numere intregi}
citeste sel {caracter +,*,-,/}
daca sel=’+’ atunci scrie a+b
altfel
daca sel=’*’ atunci scrie a*b
altfel
daca sel=’-‘ atunci scrie a-b
altfel
daca sel=’/’ atunci
daca b<>0 atunci scrie [a/b]
altfel scrie ‘imposibil’
sf_daca
sf_daca
sf_daca
sf_daca
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are.
46. Fie programul pseudocod :
citeste a,b {numere naturale, b<a}
i0
cat timp a>=b executa
aa-b; ii+1
sf_cat_timp
scrie a, i
Scrieţi programul C corespunzător şi explicaţi ce efect are.
47. Fie programul pseudocod:
citeste n
p0
repeta
rn%10
daca r%2=0 atunci pp+r
sf_daca
n[n/10]
pana cand n=0
scrie p
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru n=234216.
48. Fie următorul pseudocod:
citeste a, b {nr. naturale}
i1 ; p0
cat timp i<=b executa
pp+a; ii+1
sf_cat_timp
scrie p
Scrieţi programul C corespunzător şi explicaţi ce efect are.
49. Fie programul pseudocod:
intreg n
real a,x,b
citeste n,a,b
p0; i1
repeta
citeste x
daca x>a si x<b atunci pp+1
sf_daca
ii+1
pana cand i>n
scrie p
Scrieţi programul C corespunzător şi explicaţi ce efect are.
FIŞĂ DE LUCRU – clasa a IX-a 9
Uînv: Aplicaţii pentru structuri de control
x -b/a
daca (x>=-1) and (x<=1) atunci scrie x
altfel scrie “nu apartine”
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are.
55. Fie programul pseudocod:
citeste n {intreg lung}
kn; nr0; p0
cat timp k<>0 executa
nrnr+1; k[k/10]
sf_cat_timp
pentru k=nr,1,-1 executa
cn%10; n[n/10]
daca k%2=0 atunci pp+c
sf_daca
sf_pentru
scrie p
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru n=4234268.
56. Se consideră următorul algoritm:
intreg x,p,i
i0; p1
citeste x
cat timp x<>0 executa
ii+1; pp*x
citeste x
scrie p
sf_cat_timp
scrie i
Scrieţi programul C corespunzător .
57. Se consideră următorul algoritm:
intreg n,i,nr,x,s
citeste n; s0
pentru i=1,n executa
nr1; citeste x
cat timp x>9 executa
nrnr*10;
x[x/10]
sf_cat_timp
ss+x*nr
sf_pentru
scrie s
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru n=5 şi numerele: 222, 2043, 29, 2, 20035
58. Se consideră următorul algoritm:
intreg n,x,nr,j; logic ok
citeste n
nr0; xn
repeta
nrnr*10+n%10
n[n/10]
pana cand n=0
oktrue
pentru j=2,[√nr] executa
daca nr%j=0 atunci okfalse
sf_daca
sf_pentru
daca ok atunci
scrie nr/x {cu 2 zecimale}
altfel
scrie x/nr {cu 2 zecimale}
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru n=31.
59. Se consideră următorul algoritm:
intreg n,i,j; logic ok
citeste n
FIŞĂ DE LUCRU – clasa a IX-a 11
Uînv: Aplicaţii pentru structuri de control
repeta
citeste n
pana cand n>0
pol0
citeste x
pentru i=n,0,-1 executa
citeste a
polpol*x+a
sf_pentru
scrie pol
Scrieţi programul C corespunzător şi explicaţi ce efect are.
65. Se consideră pseudocodul:
citeste n {n>0}
citeste x {x>1}
dx; nn-1
cat timp n<>0 executa
citeste x {x>1}
cat timp d<>x executa
daca x>d atunci xx-d
altfel dd-x
sf_daca
sf_cat_timp
nn-1
sf_cat_timp
scrie d
Scrieţi programul C corespunzător şi explicaţi ce efect are.
66. Se consideră pseudocodul alăturat:
citeste a {intreg >=0}
b0
cat timp a>0 executa
daca a%10%2=0 atunci
bb*10+a%10
sf_daca
a[a/10]
sf_cat_timp
scrie b
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru a=20416.
67. Se consideră pseudocodul alăturat:
citeste a {numar intreg}
f2
cat timp a>=f executa
daca a%f=0 atunci
p0
cat timp a%f=0 executa
pp+1; a[a/f]
sf_cat_timp
scrie f,p {salt la linie noua}
sf_daca
ff+1
sf_cat_timp
Scrieţi programul C corespunzător şi explicaţi ce efect are.
68. Se consideră pseudocodul alăturat:
citeste x {numar natural nenul}
n0
cat timp x<>0 executa
x[x/10]
nn+1
sf_cat_timp
scrie n
Scrieţi programul C corespunzător şi explicaţi ce efect are.
69. Se consideră pseudocodul alăturat:
citeste a,b,p,k
{a,b numere intregi, a<b}
{k,p numere naturale nenule}
FIŞĂ DE LUCRU – clasa a IX-a 13
Uînv: Aplicaţii pentru structuri de control
n0
pentru i=a,b executa
daca i%k=p atunci nn+1
sf_daca
sf_pentru
scrie n
Scrieţi programul C corespunzător şi explicaţi ce efect are.
70. Se consideră pseudocodul alăturat:
n0
repeta
citeste x {natural}
daca x<>0 atunci
daca x%2=0 atunci nn+1
altfel nn-1
sf_daca
sf_daca
pana cand x=0
daca n=0 atunci scrie ‘DA’
altfel scrie ‘NU’
sf_daca
Scrieţi programul C corespunzător şi explicaţi ce efect are.
71. Se consideră pseudocodul alăturat:
citeste k {natural}
n0; m0
repeta
citeste x {natural}
daca x>k atunci nn+1
altfel
daca x<k atunci mm+1
sf_daca
sf_daca
pana cand x=k
scrie n,m
Scrieţi programul C corespunzător şi explicaţi ce efect are.
72. Se consideră pseudocodul alăturat:
citeste x,d {naturale nenule}
p0
cat timp x%d=0 executa
pp+1; x[x/d]
sf_cat_timp
scrie p
Scrieţi programul C corespunzător şi explicaţi ce efect are.
73. Se consideră pseudocodul alăturat:
citeste n {numar natural}
i0
cat timp i*i<=n executa ii+1
sf_cat_timp
scrie i-1
Scrieţi programul C corespunzător şi explicaţi ce efect are pentru n=2051.