Varianta 1:
d.
2. a. b.
c. citeste n
z
p
daca n>0 atunci
│ repeta
│ │ c n%10
│ │ n [n/10]
│ │ daca c%3=0 atunci
│ │ │ z z+p*(9-c)
│ │ │ p p*10
│ pāna cānd n<=0
scrie z
d. var n,z,p,c:longint;
begin
write('n= '); readln(n);
z:=0;
p:=1;
while n>0 do
begin
c:=n mod 10;
n:=n div 10;
if c mod 3 = 0
then begin
z:=z+p*(9-c);
p:=p*10;
end;
end;
write(' z= ',z);
end.
Varianta 2:
a.
2. a. b.
c. citeste x
daca x>0 atunci
│ repeta
│ │citeste y
│ │daca x>y atunci
│ │ │ scrie x%10
│ │ │ altfel
│ │ │ scrie y%10
│ │ x y
│ pāna cānd x<=0
d. var x,y:integer;
begin
write(' x= '); read(x);
while x>0 do
begin
write(' y= '); read(y);
if x>y
then write(x mod 10,' ')
else write(y mod 10,' ');
x:=y;
end;
end.
Varianta 3:
b
2. a. b.
c. citeste z,x
daca x>0 atunci
│ repeta
│ │ citeste y
│ │ daca z<y-x atunci
│ │ │ scrie x%10
│ │ │ altfel
│ │ │ scrie y%10
│ │ x y;
│ pana cānd x<=0
d. var x,y,z:integer;
begin
write(' z= '); read(z);
write(' x= '); read(x);
while x>0 do
begin
write(' y= '); read(y);
if z<y-x
then write(x mod 10)
else write(y mod 10);
x:=y;
end;
Varianta 4:
d
2. a.
b.
c. citeste a,b
daca a<b atunci
│ s a; a b; b s
x a
cat timp x>=b executa
│ daca x%2=0 atunci
│ │ scrie x,' '
│ x x-1
d. var a,b,x,s:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
if a<b then begin
s:=a; a:=b; b:=s;
end;
for x:=a downto b do
if x mod 2 = 0
then write(x,' ');
end.
Varianta 5:
c
2. a. b.
c. invers(x)
daca x<>0 atunci
│ y y*10+x%10
│ invers( [x/100] )
citeste x,z
y
invers(x)
cat timp y*z>0 si y%10=z%10 executa
│ y [y/10]
│ z [z/10]
daca y+z=0 atunci
│ scrie 1
│ altfel
│ scrie 0
d. var x,y,z:longint;
begin
write(' x= '); read(x);
write(' z= '); read(z);
y:=0;
repeat
y:=y*10+x mod 10;
x:=x div 100;
until x=0;
while (y*z>0) and (y mod 10 = z mod 10) do
begin
y:=y div 10;
z:=z div 10;
end;
if y+z=0
then write(1)
else write(0);
end.
Varianta 6:
a
2. a. b. 39 (orice nr. care nu are toate cifrele in ordine descresc)
c. citeste n
s
daca n>0 atunci
│ repeta
│ │ daca n%10>s atunci
│ │ │ s n%10
│ │ │ altfel
│ │ │ s
│ │ n [n/10]
│ pāna cānd n<=0
scrie s
d. var n,s:longint;
begin
write(' n= '); read(n);
s:=-1;
while n>0 do
begin
if n mod 10 > s
then s:=n mod 10
else s:=11;
n:=n div 10
end;
write(' S= ',s);
end.
Varianta 7:
d
2. a. b. 69645 si 55946
c. citeste n
nr
a
repeta
│ m n
│ cat timp m≠0 si m%10≠a executa
│ │ m [m/10]
│ daca m≠0 atunci
│ │ nr nr*10+m%10
│ a a-1
pāna cānd a<=0
scrie nr
d. var n, nr, m, a:longint;
begin
write(' n= '); read(n);
nr:=0;
for a:=9 downto 0 do
begin
m:=n;
while (m<>0) and (m mod 10 <>a) do
m:=m div 10;
if m<>0
then nr:=nr*10+m mod 10
end;
write(' nr= ',nr);
end.
Varianta 8:
a
2. a. b. 7935 si orice k (orice numar cu toate cifrele impare)
c. citeste n, k
nr
p
daca n≠0 si k≠0
│ atunci repeta
│ │ daca n%2=0 atunci
│ │ │ nr nr+n%10*p
│ │ │ p p*10
│ │ │ altfel
│ │ │ k k-1
│ │ n [n/10]
│ pāna cānd n=0 sau k=0
scrie nr
d. var n, k, nr, p:longint;
begin
write(' n= '); read(n);
write(' k= '); read(k);
nr:=0;
p:=1;
while (n<>0) and (k<>0) do
begin
if n mod 2 = 0
then begin
nr:=nr+n mod 10 * p;
p:=p*10;
end
else k:=k-1;
n:= n div 10;
end;
write(' nr= ',nr);
end.
Varianta 9:
b
2. a. b. 2317 (orice numar care nu are cifrele in ordine cresc.)
c. citeste n
s
daca n>0 atunci
│ repeta
│ │ daca n%10<s
│ │ │ atunci s n%10
│ │ │ altfel s
│ │ n [n/10]
│ pāna cānd n<=0
scrie s
d. var n, s :longint;
begin
write(' n= '); read(n);
s:=10;
while n>0 do
begin
if n mod 10 < s
then s:= n mod 10
else s:= -1;
n:=n div 10;
end;
write(' s= ',s);
end.
Varianta 10:
a
2. a. b.
c. citeste n, k
nr
p
daca n≠0 si k≠0
│ atunci repeta
│ │ daca n%2=0 atunci
│ │ │ nr nr+n/10%10*p
│ │ │ p p*10
│ │ │ altfel
│ │ │ k k-1
│ │ n [n/10]
│ pāna cānd n=0 sau k=0
scrie nr
d. var n, k, nr, p:longint;
begin
write(' n= '); read(n);
write(' k= '); read(k);
nr:=0;
p:=1;
while (n<>0) and (k<>0) do
begin
if n mod 2 <> 0
then begin
nr:=nr+n div 10 mod 10 * p;
p:=p*10;
end
else k:=k-1;
n:= n div 10;
end;
write(' nr= ',nr);
end.
Varianta 11:
c
2. a. b. 54628 (orice nr. cu ultimele 4 cif pare)
c. var n, k, p, c:longint;
begin
write(' n= '); read(n);
write(' k= '); read(k);
p:=1;
while (n>0) and (k>0) do
begin
c:=n mod 10;
if c mod 2=1
then p:=p*c;
n:=n div 10;
k:=k-1;
end;
write(' p= ',p);
end.
d. citeste n,k
p
pentru i k,1,-1 executa
│ daca n>0
│ │ atunci c n%10
│ │ daca c%2=0
│ │ │ atunci p p*c
│ │ n [n/10]
scrie p
Varianta 12
d
2. a. b.
c. var x,y:longint;
begin
write(' x= '); read(x);
y:=0;
while x<>0 do
begin
while x>9 do
x:= x div 10;
y:=y*10+x;
write(' x= '); read(x);
end;
write(' y= ',y);
end.
d. citeste x
y
daca x≠0 atunci
│ repeta
│ │ daca x>9 atunci
│ │ │ repeta
│ │ │ │ x [x/10]
│ │ │ pāna cānd x<=9
│ │ y y*10+x
│ │ citeste x
│ pāna cānd x=0
scrie y
Varianta 13:
b
2. a. b.
c. var a,b,i,k,c,n:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
k:=0;
for i:=a to b do
begin
n:=i; c:=0;
while n>0 do
begin
if n mod 2 =1
then c:=c+1;
n:=n div 10
end;
if c>0
then k:=k+1;
end;
write(' k= ',k);
end.
d. citeste a,b
k
i a
cāt timp i<=b executa
│ n i; c
│ cāt timp n>0 executa
│ │ daca n%2=1 atunci
│ │ │ c c+1
│ │ n [n/10]
│ daca c>0
│ │ atunci k k+1
│ i i+1
scrie k
Varianta 14:
1. a
2. a. b. 371 35 211 0 (oricare 3 nr. cu cifra maxima subliniata)
c. var x, n, y, c:integer;
begin
write(' x= '); read(x);
n:=0;
while x<>0 do
begin
y:=x; c:=0;
while y>0 do
begin
if y mod 10 >c
then c:=y mod 10;
y:= y div 10;
end;
n:=n*10+c;
write(' x= '); read(x);
end;
write(' n= ',n);
end.
d. citeste x
n
daca x≠0 atunci
│ repeta
│ │ y x; c
│ │ daca y>0 atunci
│ │ │ repeta
│ │ │ │ daca y%10>c atunci
│ │ │ │ │ c y%10
│ │ │ │ y [y/10]
│ │ │ pāna cānd y<=0
│ │ n n*10+c
│ │ citeste x
│ pāna cānd x=0
scrie n
Varianta 15:
d
2. a. c. n = 4 d. a a-(i-1)*(i-1)
b. var a, n, i:integer;
begin
write(' a= '); read(a);
write(' n= '); read(n);
for i:=1 to n do
if i mod 2=0
then a:=a-i*i
else a:=a+i*i;
write(' a= ',a);
end.
Varianta 16:
a
2. a. ***#*** b.
c. var n, i, j,cont:integer;
begin
write(' n= '); read(n);
for i:=1 to n-1 do
begin
if i mod 2=0
then write('#');
for j:=i+1 to n do
write('*');
end;
end.
d. citeste n
i
cāt timp i<=n-1 executa
│ daca i%2=0
│ │ atunci scrie '#'
│ j i+1
│ cāt timp j<=n executa
│ │ scrie '*'
│ │ j j+1
│ i i+1
Varianta 17:
a
2. a. ABABABAB b. 6 perechi
c. var x, y:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
if x<y
then begin
x:=x-y;
y:=x+y;
x:=y-x;
end;
while x>=y do
begin
write('A');
x:=x-y;
write('B');
end;
end.
d. citeste x,y
daca x<y atunci
│ x x-y
│ y x+y
│ x y-x
daca x≥y atunci
│ repeta
│ │ scrie 'A'
│ │ x x-y
│ │ scrie 'B'
│ pāna cānd x<y
Varianta 18:
c
2. a. **** b. 0 si 1
c. var x,y, aux:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
if x>y
then begin
aux:=y;
y:=x;
x:=aux;
end;
if x mod 2=0
then x:=x+1;
while x<=y do
begin
x:=x+2;
write('*');
end;
end.
d. citeste x,y
daca x>y atunci
│ y x
daca x%2=0 atunci
│ x x+1
daca x≤y atunci
│ repeta
│ │ x x+2
│ │ scrie '*'
│ pāna cānd x>y
Varianta 19:
b
2. a. b. 312 si 335 (in intervalul format de cifrele
subliniate sa existe numai 2 numere multiplu de 11)
c. var a,b,i:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
a:=a div 10 mod 10*10+a mod 10;
b:=b div 10 mod 10*10+b mod 10;
for i:=a to b do
if i div 10 = i mod 10
then write(i mod 10);
end.
d. citeste a,b
a [a/10]%10*10+a%10
b [b/10]%10*10+b%10
i a
cāt timp i<=b executa
│ daca[i/10]=i%10
│ │ atunci scrie i%10
│ i i+1
Varianta 20:
c
2. a. b.
c. var n,a,m,b:longint;
begin
write(' n= '); read(n);
a:=n mod 10;
m:=a;
while n>9 do
begin
n:=n div 10;
b:=n mod 10;
if a>b
then begin
m:=m*10+b;
a:=b;
end;
end;
write(' m= ',m);
end.
d. citeste n
a n%10
m a
daca n>9 atunci
│ repeta
│ │ n [n/10]
│ │ b n%10
│ │ daca a>b atunci
│ │ │ m m*10+b
│ │ │ a b
│ pāna cānd n<=9
scrie m
Varianta 21:
c
2. a.
b. citeste a,b,n
daca b=0
│ atunci scrie 'GRESIT'
│ altfel
│ scrie [a/b]
│ daca n>0 si a%b≠0 atunci
│ │ scrie ','
│ │ a a%b; i
│ │ scrie [(a*10)/10]
│ │ a (a*10)%b
│ │ i i+1
│ │ cāt timp i≠n si a≠0 executa
│ │ │ scrie [(a*10)/10]
│ │ │ a (a*10)%b
│ │ │ i i+1
c. var a, n, b, i:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
write(' n= '); read(n);
if b=0
then write(' GRESIT')
else begin
write( a div b);
if (n>0) and (a mod b <>0)
then begin
write(',');
a:=a mod b; i:=0;
repeat
write((a*10) div b);
a:=(a*10) mod b;
i:=i+1;
until (i=n) or (a=0)
end;
end;
end.
d. a=29, b=4 si n=4 (oricare 2 nr. care īmpartite sa aiba numai n-2 zecimale)
Varianta 22:
b
2. a. b.
c. var n,d,i:integer;
begin
write(' n= '); read(n);
if n<0
then n:=-n;
d:=1;
for i:=2 to n div 2 do
if n mod i =0
then d:=i;
write(' d= ',d);
end.
d. 25 (orice numar cu un singur divizor in intervalul [2,n/2])
Varianta 23:
a
2. a. b. 4, 9 si 14
c. var a,b,p:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
p:=0;
while a<>b do
begin
p:=p+1;
if a<b
then a:=a+2
else b:=b+3;
end;
write(' p= ',p);
end.
d. citeste a,b
p
daca a≠b atunci
│ repeta
│ │ p p+1
│ │ daca a<b
│ │ │ atunci a a+2
│ │ │ altfel b b+3
│ pāna cānd a=b
scrie p
Varianta 24:
d
2. a. b. 12 .si 60
c. var a,b,p,q:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
p:=a; q:=b;
if (p=0) or (q=0)
then begin
p:=p*q;
q:=p*q;
end;
while p<>q do
if p<q
then p:=p+a
else q:=q+b;
write(' p= ',p);
end.
d. citeste a,b
p a; q b
daca p=0 sau q=0 atunci
│ p p*q; q p*q
daca p≠q atunci
│ repeta
│ │ daca p<q
│ │ │ atunci p p+a
│ │ │ altfel q q+b
│ pāna cānd p=q
Varianta 25:
c
2. a. 12 si 18 d. [(b-a+a%c)/c]
b. citeste a,b,c
daca a>b atunci
│ t a; a b; b t
pentru i a,b executa
│ daca c|i atunci
│ │ scrie a
c. var a,b,c,t:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
write(' c= '); read(c);
if a>b
then begin
t:=a; a:=b; b:=t;
end;
while a<=b do
begin
if a mod c =0
then write(a,' ');
a:=a+1;
end;
end.
Varianta 26:
c
2. a.
b. var c,n,i:integer;
begin
write(' n= '); read(n);
c:=0;
for i:=1 to n do
begin
c:=(c+1) mod 10;
write(c,' ');
end;
end.
c. citste n
c
i
cāt timp i<=n executa
│ c (c+1)%10
│ scrie c
│ i i+1
d. 10 valori (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
Varianta 27:
a
2. a.
b. var a,b,c,p,d:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
c:=0;
d:=0;
p:=1;
while a+b+c>0 do
begin
c:=a mod 10+b mod 10 + c;
d:=d+(c mod 10) *p;
p:=p*10;
a:=a div 10;
b:=b div 10;
c:=c div 10;
end;
write(' d= ',d);
end.
c. citeste a,b
c
d
p
daca a+b+c>0 atunci
│ repeta
│ │ c a%10+b%10+c
│ │ d d+(c%10)*p
│ │ p p*10
│ │ a [a/10]
│ │ b [b/10]
│ │ c [c/10]
│ pāna cānd a+b+c<=0
scrie d
d. citeste a,b
d a+b
scrie d
Varianta 28:
b
2. a.
b. var x,y:real;
begin
write(' x= '); read(x);
y:=trunc(x);
x:=x-y;
while x<>trunc(x) do
x:=x*10;
if x=y
then write(1)
else write(2);
end.
c. citeste x
y [x]
x x-y
daca x≠[x] atunci
│ repeta
│ │ x x*10
│ pāna cānd x=[x];
daca x=y atunci
│ scrie 1
│ altfel
│ scrie 2
d. 12.12 (orice numar in care partea īntrega este egala cu partea fractionala)
Varianta 29:
a
2. a.
b. var n,m:integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
while n<=m do
begin
n:=n+1;
m:=m-1;
end;
while m<n do
begin
m:=m+1;
n:=n-1;
end;
write(' n= ',n);
end.
c. 9 si 11 (oricare 2 numere egal departate de 10)
d. citeste n,m
scrie [(n+m)/2]
Varianta 30:
d
2. a.
b. var n,m,p,c:integer;
begin
write(' n= '); read(n);
m:=0;
p:=1;
while n>0 do
begin
c:=n mod 10;
if c>0
then c:=c-1;
m:=m+c*p;
p:=p*10;
n:=n div 10
end;
write(' m= ',m);
end.
c. citeste n
m
p
daca n>0 atunci
│ repeta
│ │ c n%10
│ │ daca c>0 atunci
│ │ │ c c-1
│ │ m m+c*p;
│ │ p p*10
│ │ n [n/10]
│ pāna cānd n≤0
scrie m
d. 3119 si 3009
Varianta 31:
b
2. a. b=1 k=6 b. 2 valori (3 si 5)
c. var a,k,b:integer;
begin
write(' a= '); read(a);
k:=0;
b:=(a+1)*(a+2) div 2;
while b>=a do
begin
b:=b-a;
k:=k+1;
end;
write(' b= ',b,' k= ',k);
end.
d. citeste a
b [(a+1)*(a+2)/2]
k [b/a]
b b%a
scrie b,k
Varianta 32:
d
2. a. b.
c. var a,b,c:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
if a>b
then begin
c:=b; b:=a; a:=c;
end;
while a<=b do
begin
write(a,' ');
a:=a*2;
end;
write(a);
end.
d. citeste a,b
daca a>b atunci
│ c b; b a; a c
daca a<=b atunci
│ repeta
│ │ scrie a;
│ │ a a*2
│ pāna cānd a>b
scrie a
Varianta 33:
c
2. a. b.
c. var x,y,p:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
p:=0;
repeat
if y mod 2 <>0
then p:=p+x;
y:= y div 2;
x:=x*2;
until y<1;
write(' p= ',p);
end.
d. citeste x,y
p x*y
scrie p
Varianta 34:
a
2. a.
b. 50 si 139 (oricare doua numere terminate in 0 si 9 sau 1 si 9)
c. var x,y,aux:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
x:=x mod 10;
y:=y mod 10;
if y<x then begin
aux:=y;
y:=x;
x:=aux;
end;
while x<=y do
begin
write(x*10+y,' ');
x:=x+1;
y:=y-1;
end;
end.
d. citeste x,y
x x%10
y y%10
daca y<x atunci
│ aux y
│ y x
│ x aux
pentru i x,[(x+y)/2] executa
│ daca x≤y atunci
│ │ scrie x*10+y
│ x x+1
│ y y-1
Varianta 35:
c
2. a. s=4 b. 64 (suma puterilor factorilor primi sa fie =6)
c. var x,s,f,p:integer;
begin
write(' x= '); read(x);
s:=0;
f:=2;
while x>1 do
begin
p:=0;
while x mod f =0 do
begin
x:=x div f;
p:=p+1;
end;
if p<>0
then s:=s+p;
f:=f+1;
end;
write(' s= ',s);
end.
d.
Varianta 36:
b
2. a. b.
c. s
citeste v
daca v≠0 atunci
repeta
a v%10
b [v/10]%10
s s+a*10+b
citeste v
pāna cānd v=0
scrie s
d. var s,v,a,b:integer;
begin
s:=0;
write(' v= '); read(v);
while v<>0 do
begin
a:=v mod 10;
b:= v div 10 mod 10;
s:=s+a*10+b;
write(' v= '); read(v);
end;
write(' s= ',s);
end.
Varianta 37:
c
2. a. b. n=123 si k=5 (n -orice nr. iar k o cifra care nu este in n)
c. citeste n,k
nr 0; p
daca n≠0 atunci
repeta
c n%10
nr nr+c*p
p p*10
daca c=k atunci
nr nr+c*p
p p*10
n [n/10]
pāna cānd n=0
n nr
scrie n
d. var n,k,c,p,nr:longint;
begin
write(' n= '); read(n);
write(' k= '); read(k);
nr:=0; p:=1;
while n<>0 do
begin
c:=n mod 10;
nr :=nr+c*p;
p:=p*10;
if c=k then begin
nr:=nr+c*p;
p:=p*10;
end;
n:=n div 10;
end;
n:=nr;
write(' n= ',n);
end.
Varianta 38:
d
2. a. b. n=52931, k=2 (se afiseaza a k+1 cifra)
c. citeste n,k
pentru i k,1,-1 executa
n [n/10]
z n%10
scrie z
d. var n,k,i,z:integer;
begin
write(' n= '); read(n);
write(' k= '); read(k);
i:=k;
while i>0 do
begin
n:=n div 10;
i:=i-1;
end;
z:=n mod 10;
write(' z= ',z);
end.
Varianta 39:
b
2. a. b. 999 (orice nr cu toate cifrele 9)
c. citeste n
nr 0; p
daca n≠0 atunci
repeta
c n%10
daca c<9 atunci
c c+1
nr nr+c*p
p p*10
n [n/10]
pāna cānd n=0
n nr
scrie n
d. var n,nr,p,c:longint;
begin
write(' n= '); read(n);
nr:=0; p:=1;
while n<>0 do
begin
c:=n mod 10;
if c<9
then c:=c+1;
nr:=nr+c*p;
p:=p*10;
n:= n div 10;
end;
n:=nr;
write(' n= ',n);
end.
Varianta 40:
c
2. a. 2 si 7 b. 169 (oricie nr. prim la patrat)
c. citeste x
d 2; y 0; z
daca x≠1 atunci
repeta
│ p
│ daca x%d=0 atunci
│ │ repeta
│ │ │ p p+1
│ │ │ x [x/d]
│ │ pāna cānd x%d≠0
│ daca p≠0 atunci
│ │ daca y=0 atunci y d
│ │ z d
│ d d+1
pāna cānd x=1
scrie y
scrie z
d. var x,d,y,z,p:integer;
begin
write(' x= '); read(x);
d:=2; y:=0; z:=0;
while x<>1 do
begin
p:=0;
while x mod d=0 do
begin
p:=p+1;
x:=x div d;
end;
if p<>0
then begin
if y=0
then y:=d;
z:=d;
end;
d:=d+1;
end;
write(' y= ',y,' z= ',z);
end.
Varianta 41:
c
2. a. b.
c. diviz(x,d)
daca x%d=0 atunci
│ x [x/d]
│ scrie x
│ diviz(x,d)
citeste x
d
scrie x
cat timp x≥d executa
│ diviz(x,d)
│ d d+1
d. var x,d:integer;
begin
write(' x= '); read(x);
d:=2;
write(x,' ');
while x>=d do
begin
while x mod d =0 do
begin
x:=x div d;
write(x,' ');
end;
d:=d+1;
end;
end.
Varianta 42:
a
2. a. 5 (cmmdc) b.
c. citeste x,y
daca y>0 atunci
│ repeta
│ │ z x%y
│ │ x y
│ │ y z
│ pāna cānd y<=0
scrie x
d. var x,y,z:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
while y>0 do
begin
z:=x mod y;
x:=y;
y:=z;
end;
write(' x= ',x);
end.
Varianta 43:
a
2. a. b.
c. citeste x,y
daca x*y≠0 atunci
│ repeta
│ │ daca x>y
│ │ │ atunci x x%y
│ │ │ altfel y y%x
│ pāna cānd x*y=0
scrie x+y
d. var x,y:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
while x*y <>0 do
if x>y
then x:=x mod y
else y:=y mod x;
write(' x+y= ',x+y);
end.
Varianta 44:
a
2. a. b. 338 (orice nr de forma xy8 cu x,y din intervalul [1,9])
c. citeste x
y
daca x>y atunci
│ repeta
│ │ y y*10+9-x%10
│ pāna cānd x<=y
scrie y
d. var x,y:integer;
begin
write(' x= '); read(x);
y:=0;
while x>y do
y:=y*10+9-x mod 10;
write(' y= ',y);
end.
Varianta 45:
a
2. a. b.
c. citeste x,y
z
t
daca x≥z atunci
│ repeta
│ │ daca x%z=y atunci
│ │ │ t z
│ │ z z+1
│ pāna cānd x<z
scrie t
d. var x,y,z,t:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
z:=1;
t:=0;
while x>=z do
begin
if x mod z = y
then t:=z;
z:=z+1;
end;
write(' t= ',t);
end.
Varianta 46:
c
2. a. b.
c. var n,s,nr:longint;
begin
write(' n= '); read(n);
s:=0;
nr:=0;
while n<>0 do
begin
if n mod 2 =0
then s:=s*10+n mod 10;
n:=n div 10;
end;
if s<>0
then nr:=1;
write(' nr= ',nr);
end.
d. citeste n
s
nr
daca n≠0 atunci
│ repeta
│ │ daca n%2=0 atunci
│ │ │ s s*10+n%10
│ │ n [n/10]
│ pāna cānd n=0
daca s≠0 atunci
│ nr
scrie nr
Varianta 47:
d
2. a. b.
c. citeste n
max
n [n/10]
daca max<n%10 atunci
│ max n%10
cat timp n≠0 executa
│ n [n/10]
│ daca max<n%10 atunci
│ │ max n%10
scrie max
d. var n, max:integer;
begin
write(' n= '); read(n);
max:=0;
repeat
n:= n div 10;
if max<n mod 10
then max:= n mod 10;
until n=0;
write(' max= ',max);
end.
Varianta 48:
a
2. a.
b. 105 506 904 303 (oricare 4 numere cu cifra zecilor 0)
c. citeste n
i
repeta
│ citeste x
│ nr
│ cat timp x>0 executa
│ │ nr nr*100+x%10
│ │ x [x/100]
│ cat timp nr>0 executa
│ │ x x*10+nr%10
│ │ nr [nr/10]
│ i i+1
│ scrie x
pana cand i>n
d. var n,i,nr,x:longint;
begin
write(' n= '); read(n);
for i:=1 to n do
begin
write(' x= '); read(x);
nr:=0;
while x>0 do
begin
nr:=nr*100+x mod 10;
x:=x div 100;
end;
while nr>0 do
begin
x:=x*10+nr mod 10;
nr:=nr div 10
end;
writeln(' x= ',x);
end;
end.
Varianta 49:
b
2. a. b. 92837 (in loc de 2 si 3 pot fi orice cifre)
c. citeste x
k
daca x≠0 atunci
│ repeta
│ │ k k*10+x%10
│ │ x [x/10]
│ pana cand x=0
daca k≠0 atunci
│ repeta
│ │ x x*10+k%10
│ │ k [k/100]
│ pana cand k=0
scrie x
d. var x,k:longint;
begin
write(' x= '); read(x);
k:=0;
while x<>0 do
begin
k:=k*10+x mod 10;
x := x div 10;
end;
while k<>0 do
begin
x:=x*10+k mod 10;
k:=k div 100;
end;
write(' x= ', x);
end.
Varianta 50:
b
2. a. b. 90 196 5293 95 (oricare 4 nr. Care au cifra zecilor 9)
c. citeste n
k
i
repeta
citeste x
c [x/10]%10
daca c<k atunci
k c
i i+1
pana cand i>n
scrie k
d. var n,i,k,c,x:integer;
begin
write(' n= '); read(n);
k:=9;
for i:=1 to n do
begin
write(' x= '); read(x);
c:=x div 10 mod 10;
if c<k
then k:=c;
end;
write(' k= ',k);
end.
Varianta 51:
d
2. a. b. 2468 (orice nr. cu toate cifrle pare)
c. citeste x
z
cat timp x≠0 executa
c x%10
daca c%2≠0 atunci
z z*10+c-1
altfel
z z*10+c
x [x/10]
scrie z
d. var x,z,c:integer;
begin
write(' x= '); read(x);
z:=0;
repeat
c:=x mod 10;
if c mod 2 <>0
then z:=z*10+c-1
else z:=z*10+c;
x:=x div 10;
until x=0;
write(' z= ',z);
end.
Varianta 52:
a
2. a.
b.
c. citeste n
d
c
i
repeta
citeste x
cat timp x%2=0 executa
x [x/2]; d d+1
cat timp x%5=0 executa
x [x/5]; c c+1
i i+1
pana cānd i>n
daca c<d
atunci scrie c
altfel d
d. var n,d,c,i,x:integer;
begin
write(' n= '); read(n);
d:=0;
c:=0;
for i:=1 to n do
begin
write(' x='); read(x);
while x mod 2=0 do
begin
x:=x div 2;
d:=d+1
end;
while x mod 5 =0 do
begin
x:=x div 5;
c:=c+1;
end;
end;
if c<d
then write(c)
else write(d);
end.
Varianta 53:
c
2. a. b. 2462 (orice nr. cu toate cifrele pare)
c. citeste x
z
p
cat timp x≠0 executa
c x%10
daca c%2≠0
atunci z z+c*p
p p*10
x [x/10]
scrie z
d. var x,z,p,c:integer;
begin
write(' x= '); read(x);
z:=0;
p:=1;
repeat
c:=x mod 10;
if c mod 2 <>0
then begin
z:=z+c*p;
p:=p*10;
end;
x:=x div 10;
until x=0;
write(' z= ',z);
end.
Varianta 54:
d
2. a. b. 1353 (orice nr cu toate cifrele impare)
c. citeste n
s
cāt timp n>0 executa
│ c n%10
│ daca c%2=0 atunci
│ │ p
│ │ i
│ │ repeta
│ │ │ p p*i
│ │ │ i i+1
│ │ pana cand i>c
│ │ s s+p
│ n [n/10]
scrie s
d. var n,s,c,p,i:integer;
begin
write(' n= '); read(n);
s:=0;
while n>0 do
begin
c:=n mod 10;
if c mod 2=0
then begin
p:=1;
for i:=2 to c do
p:=p*i;
s:=s+p;
end;
n:= n div 10;
end;
write(' s= ',s);
end.
Varianta 55:
a
2. a. k=3 b.
c. citeste n
citeste a
k
i
repeta
│ citeste b
│ daca a%10=b%10 atunci
│ │ k k+1
│ a b
│ i i+1
pana cand i>n
scrie k
d. var n,a,k,i,b:integer;
begin
write(' n= '); read(n);
write(' a= '); read(a);
k:=0;
for i:=2 to n do
begin
write(' b= '); read(b); 353v2115d
if a mod 10=b mod 10
then k:=k+1;
a:=b;
end;
write(' k= ',k);
end.
Varianta 56:
b
2. a. b. 1817 (orice nr de forma x8y7)
c. var n,r:longint;
begin
write(' n= '); read(n);
r:=0;
repeat
r:=(r*10+n mod 10)*10;
n:= n div 100;
until n<10;
write(' r= ',r);
end.
d. citeste n
r (n%10)*10
n [n/100]
cat timp n>=10 executa
│ r (r*10+n%10)*10
│ n [n/100]
scrie r
Varianta 57:
d
2. a. b. 63 70 77 91 98 (unul dintre ele)
c. var n,q,i:integer;
begin
write(' n= '); read(n);
q:=1;
i:=1;
while i< n div i do
begin
if n mod i =0
then q:=q+i;
i:=i+3;
end;
write(' q= ',q);
end.
d. citeste n
q
i
daca i<[n/i] atunci
│ repeta
│ │ daca n%i=0 atunci
│ │ │ q q+i
│ │ i i+3
│ pana cand i>=[n/i]
scrie q
Varianta 58:
c
2. a. b.
c. var n,q:integer;
begin
write(' n= '); read(n);
q:=1;
while n>0 do
begin
if n mod 5 =0
then q:=q*10
else q:=q*10+1;
n:=n div 5;
end;
write(' q= ',q);
end.
d. citeste n (numar natural)
q
daca n>0 atunci
repeta
│ daca n%5=0 atunci
│ │ q q*10
│ │altfel
│ │ q q*10+1
│ n [n/5]
pana cand n=0
scrie q
Varianta 59:
b
2. a. b. orice nr intre 30 si 39
c. var n,i:longint;
begin
write(' n= '); read(n);
repeat
n:=n mod 100 div 10 + n div 10;
until n<10;
write(' n= ',n);
end.
d. citeste n
n [(n%100)/10]+[n/10]
cat timp n>=0 executa
│ n [(n%100)/10]+[n/10]
scrie n
Varianta 60:
a
2. a. b. 24531 (orice nr care in fata lui 5 are numai cifre pare)
c. var n,c:longint;
begin
write(' n= '); read(n);
c:=10;
while n mod 2=1 do
begin
c:=n mod 10;
n:= n div 10;
end;
write(' c= ',c);
end.
d. citeste n (numar natural)
c
daca n%2=1 atunci
│ repeta
│ │ c n%10
│ │ n [n/10]
│ pana cand n%2≠1
scrie c
Varianta 61:
d
2. a. b.
c. var a,b,n,x,y:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
n:=0;
while a<>b do
begin
x:=a mod 10;
y:=b mod 10;
if x<y
then n:=n*10+x
else n:=n*10+y;
a:=a div 10;
b:=b div 10;
end;
write(' n= ',n);
end.
d. citeste a,b
n
daca a≠b atunci
repeta
│ x a%10
│ y b%10
│ daca x<y atunci
│ │ n n*10+x
│ │ altfel
│ │ n n*10+y
│ a [a/10]
│ b [b/10]
pana cand a=b
scrie n
Varianta 62:
b
2. a. b. 1000 (orice p*10k , p [1,9]; k>3)
c. var x,aux,c,t:integer;
begin
write(' x= '); read(x);
aux:=x;
repeat
c:=x mod 10;
x:= x div 10;
t:=x;
if c=0
then aux:=x;
while t<>0 do
begin
c:=c*10;
t:=t div 10;
end;
x:=c+x;
write(' ',x);
until (x=aux) and (c<>0);
end.
d. citeste x
aux x
┌repeta
│ c x%10
│ x [x/10]
│ t x
│ daca c=0 atunci
│ │ aux x
│ daca t≠0 atunci
│ │ repeta
│ │ │ c c*10
│ │ │ t [t/10]
│ │ pana cand t=0
│ x c+x
│ scrie x
└pāna cānd x=aux si c≠0
Varianta 63:
a
2. a. b. 5 9 13 (oricare 3 nr nediviz cu 2)
c. var i,n,d,b,v,x,aux,a:integer;
begin
write(' n= '); read(n);
write(' d= '); read(d);
b:=0;
v:=0;
for i:=1 to n do
begin
write(' x= '); read(x);
a:=0;
aux:=x;
while x mod d = 0 do
begin
a:=a+1;
x:=x div d;
end;
if a>b
then begin
b:=a;
v:=aux;
end;
end;
write(v,' ',b);
end.
d. citeste n, d
b
v
pentru i 1,n executa
│ citeste x
│ a
│ aux x
│ daca x%d=0 atunci
│ │ repeta
│ │ │ a a+1
│ │ │ x [x/d]
│ │ pana cand x%d≠0
│ daca a>b atunci
│ │ b a
│ │ v aux
scrie v,' ',b
Varianta 64:
c
2. a. b.
c. var n,k,i,j:integer;
begin
write(' n= '); read(n);
k:=0;
for i:=1 to n do
for j:=1 to i do
begin
write(i+j,' ');
k:=k+1;
end;
write(k);
end.
d. citeste n
k
i
cat timp i<=n executa
│ j
│ cat timp j<=i executa
│ │ scrie i+j
│ │ k k+1
│ │ j j+1
│ i i+1
scrie k
Varianta 65:
b
2. a. b. 5555 si 7777 (orice nr cu 4 cifre identice)
c. var m,n,v,u,c:longint;
begin
write(' n= '); read(n);
m:=0; v:=n;
u:=n mod 10;
repeat
c:=n mod 10;
v:=v*10+c;
if c=u
then m:=m+1;
n:=n div 10;
until n=0;
write(v,' ',m);
end.
d. citeste n
m 0; v n
u n%10
c n%10
v v*10+c
daca c=u atunci
│ m m+1
n [n/10]
cat timp n≠0 executa
│ c n%10
│ v v*10+c
│ daca c=u atunci
│ │ m m+1
│ n [n/10]
scrie v, m
Varianta 66:
b
2. a. NU b. 25 13 50 69 0 (cite nr div cu 5 atatea nr nediv cu 5)
c. var n,x:integer;
begin
n:=0;
repeat
write(' x= '); read(x);
if x<>0 then
if x mod 5 = 0
then n:=n+1
else n:=n-1;
until x=0;
if n=0
then write('DA')
else write('NU');
end.
d. n
citeste x
cat timp x≠0 executa
│ daca x%5=0 atunci
│ │ n n+1
│ │ altfel
│ │ n n-1
│ citeste x
daca n=0 atunci
│ scrie "DA"
│ altfel
│ scrie "NU"
Varianta 67:
c
2. a. b. 7986 (orice nr cu toate cifrele mari de 5)
c. var n,z,c:longint;
begin
write(' n= '); read(n);
z:=0;
while n>0 do
begin
c:=n mod 10;
n:=n div 10;
if c<5
then z:=z*10+2*c;
end;
write(' z= ',z);
end.
d. citeste n (numar natural)
z
daca n>0 atunci
│ repeta
│ │ c n%10
│ │ n [n/10]
│ │ daca c<5 atunci
│ │ │ z z*10+2*c
│ pana cand n<=0
scrie z
Varianta 68:
a
2. a. b. 5 15 20 25 30 (5 nr. Nediviz cu 7)
c. var x,i,nr,n:integer;
begin
write(' x= '); read(x);
nr:=0;
for i:=1 to 5 do
begin
write(' n= '); read(n);
if n mod x=0
then
nr:=nr+1;
end;
write(' nr= ',nr);
end.
d. citeste x
nr
i
cat timp i<=5 executa
│ citeste n
│ daca n%x=0 atunci
│ │ nr nr+1
│ i i+1
scrie nr
Varianta 69:
d
2. a. b. 200 si 200 sau 200 si 100 sau 200 si 0
c. var x,y,t,u,z:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
t:=0;
u:=1;
repeat
if x mod 10 > y mod 10
then z:=x mod 10
else z:=y mod 10;
t:=t+z*u;
u:=u*10;
x:= x div 10;
y:= y div 10;
until (x=0) and (y=0);
write(' t= ',t);
end.
d. citeste x,y
t
u
cat timp x≠0 sau y≠0 executa
│ daca x%10 > y%10 atunci
│ │ z x%10
│ │ altfel
│ │ z y%10
│ t t+z*u
│ u u*10
│ x [x/10]
│ y [y/10]
scrie t
Varianta 70:
a
2. a. b. n=5 x=2 (oricare 2 nr astfel incat n=2*x+1)
c. var x,y,n:integer;
begin
write(' x= '); read(x);
write(' y= '); read(y);
n:=0;
while x>=y do
begin
x:=x-y;
n:=n+1;
end;
write(' n= ',n,' x= ',x);
end.
d. citeste x,y
n
daca x>=y atunci
│ repeta
│ │ x x-y
│ │ n n+1
│ pana cand x<y
scrie n, x
Varianta 71:
c
2. a.
b. 42 35 296 1 (oricare 4 numere care au prima cifra 4 3 2 1 - in aceasta ordine)
c. var s,i,x,n,j:longint;
begin
s:=0;
write(' n= '); read(n);
for i:=1 to n do
begin
write(' x= '); read(x);
while x>9 do
x:=x div 10;
for j:=1 to i-1 do
x:=x*10;
s:=s+x;
end;
write(' s= ',s);
end.
d. s
citeste n (numar natural)
pentru i 1,n executa
│ citeste x
│ daca x>9 atunci
│ │ repeta
│ │ │ x [x/10]
│ │ pāna cānd x<=9
│ pentru j 1,i-1 executa
│ │ x x*10
│ s s + x
scrie s
Varianta 72:
d
2. a.
b. citeste n
pentru i 1,2*n-1 executa
│ b
│ j
│ cāt timp j-[i/2]>0 si i%2=1 executa
│ │ scrie "*"
│ │ j j-1
│ │ b
│ daca b <> 0 atunci
│ │ salt la rānd nou (sfārsit de rānd)
c. var n,i,b,j:integer;
begin
write(' n= '); read(n);
for i:=1 to 2*n-1 do
begin
b:=0;
if n-i<0
then j:=i-n
else j:=n-i;
while j>=0 do
begin
write('*');
j:=j-1;
b:=1;
end;
if b<>0
then writeln;
end;
end.
d. citeste n
pentru i 1,2*n-1 executa
│ b
│ j |n-i|
│ cāt timp j ≥ 0 executa
│ │ scrie "*"
│ │ j j-1
│ │ b
│ daca b = 0 atunci
│ │ salt la rānd nou (sfārsit de rānd)
Varianta 73:
c
2. a. b.
c. var a,b,p,nr,x,i:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
write(' p= '); read(p);
nr:=0;
for i:=a to b do
begin
x:=i;
while (x<>0) and (x mod p <>0) do
x:=x div 10;
if x<>0
then nr:=nr+1;
end;
write(' nr= ',nr);
end.
d. citeste a, b, p
nr
┌ pentru i a,b executa
│ x i
│ daca x≠0 si x%p≠0 atunci
│ │ repeta
│ │ │ x [x/10]
│ │ pāna cānd x=0 sau x%p=0
│ daca x ≠ 0 atunci
│ │ nr nr+1
scrie nr
Varianta 74:
a
2. a. c=15 p=322
b. b=17335 (orice nr cu cifrele nesubliniate ca in exemplu)
c. var a,b,c,p:longint;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
c:=0;
p:=0;
while a+b>10 do
begin
if (a mod 10 = b mod 10) and (a mod 10 mod
then c:=c*10 + b mod 10
else p:=p*10 + a mod 10;
a:=a div 10;
b:=b div 10
end;
write(' c= ',c,' p= ',p);
end.
d. citeste a,b (numere naturale)
c
p
cāt timp a + b > 10 executa
│ daca (a%10 = b%10) si (a%10%2=1)
│ │ atunci c c + 1
│ │ altfel p p*10 + a%10
│ a [a/10]
│ b [b/10]
scrie c, p
Varianta 75:
d
2. a. b.
c. var a,k,x:longint;
begin
a:=0;
k:=0;
repeat
write(' x= '); read(x);
while x>99 do
x:=x div 10;
if x>9 then begin
a:=a*100+x;
k:=k+1;
end;
until k=4;
write(' a= ',a);
end.
d. a
k
cat timp k<4 executa
│ citeste x (numar natural)
│ cāt timp x > 99 executa
│ │ x [x/10]
│ daca x > 9 atunci
│ │ a a*100 + x
│ │ k k+1
scrie a
Varianta 76:
c
2. a. b. 6 (orice cifra para)
c. var a,x,p,c:integer;
begin
write(' a= '); read(a);
x:=2;
p:=1;
while a>1 do
begin
c:=0;
while a mod x =0 do
begin
c:=x;
a:= a div x;
end;
if c<>0
then p:=p*c;
x:=x+1;
end;
write(' p= ',p);
end.
d. citeste a (numar natural)
x
p
daca a>1 atunci repeta
│ │ c
│ │ daca x|a atunci repeta
│ │ │ │ c x
│ │ │ │ a [a/x]
│ │ │ pana cand not (x|a)
│ │ daca c≠0 atunci
│ │ │ p p*c
│ │ x x+1
│ pana cānd a<=1
scrie p
Varianta 77:
b
2. a.
b. 9 7 5 3 0 (orice sir de numere in ordine descrescatoare apoi 0)
c. var a,k,b:integer;
begin
write(' a= '); read(a);
k:=0;
while a<>0 do
begin
write(' b= '); read(b); 353v2115d
if a<b
then k:=k+1;
a:=b;
end;
write(' k= ',k);
end.
d. citeste a
k
daca a≠0 atunci
│ repeta
│ │ citeste b
│ │ daca a < b atunci
│ │ │ k k+1
│ │ a b
│ pāna cānd a=0
scrie k
Varianta 78:
a
2. a.
b. 15 53 59 42 0 (orice sir de numere in care ultima cifra a fiecarei perechi de
numere consecutive este distincta )
c. var a,k,b:integer;
begin
write(' a= '); read(a);
k:=0;
while a<>0 do
begin
write(' b= '); read(b); 353v2115d
if a mod 10 = b mod 10
then k:=k+1;
a:=b;
end;
write(' k= ',k);
end.
d. citeste a
k
daca a≠0 atunci
│ repeta
│ │ citeste b
│ │ daca a%10 = b%10 atunci
│ │ │ k k+1
│ │ a b
│ pāna cānd a=0
scrie k
Varianta 79:
d
2. a.
b. 13 (orice valoare la care suma divizorilor primi este egala cu numarul initial)
c. var a,x,k,c:integer;
begin
write(' a= '); read(a);
x:=2;
k:=0;
while a>1 do
begin
c:=0;
while a mod x = 0 do
begin
c:=x;
a:= a div x;
end;
if c<>0
then k:=k+x;
x:=x+1;
end;
write(' k= ',k);
end.
d. citeste a
x
k
daca a>1 atunci repeta
│ │ c
│ │ daca x|a atunci repeta
│ │ │ │ c x
│ │ │ │ a [a/x]
│ │ │ pāna cānd not (x|a)
│ │ daca c≠0 atunci
│ │ │ k k+x
│ │ x x+1
│ pāna cānd a<=1
scrie k
Varianta 80:
a
2. a. b. 5319 (oricenumar cu toate cifrele impare)
c. var a,b,p,c:longint;
begin
write(' a= '); read(a);
b:=0;
p:=1;
while a>0 do
begin
c:=a mod 10;
if c mod 2<>0
then begin
b:=b+p*c;
p:=p*10;
end;
a:=a div 10;
end;
write(' b= ',b);
end.
d. citeste a
b
p
daca a>0 atunci
│ repeta
│ │ c a%10
│ │ ┌daca c%2≠0 atunci
│ │ │ b b+p*c
│ │ │ p p*10
│ │ a [a/10]
│ pāna cānd a<=0
scrie b
Varianta 81:
b
2. a. aux=5 ok=0
b. 53827 (orice numar cu toate cifrele distincte si cea mai mare cifra 8)
c. var n,ok,aux:longint;
begin
write(' n= '); read(n);
ok:=1;
aux:=0;
while n>0 do
begin
if aux<=n mod 10 then
if aux=n mod 10
then ok:=0
else aux:=n mod 10;
n:=n div 10;
end;
write(' aux= ',aux,' ok= ',ok);
end.
d. citeste n
ok
aux
daca n>0 atunci
│ repeta
│ │ daca aux≤n%10 atunci
│ │ │ daca aux=n%10 atunci
│ │ │ │ ok
│ │ │ │ altfel
│ │ │ │ aux n%10
│ │ n [n/10]
│ pāna cānd n≤0
scrie aux,' ',ok
Varianta 82:
d
2. a. b.
c. var m,n,i,aux,ok,x:integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to n do
begin
write(' x= '); read(x);
aux:=x;
ok:=0;
while x>0 do
begin
if x mod 10=m
then ok:=1;
x:=x div 10;
end;
if ok=1
then write(' aux= ',aux);
end;
end.
d. citeste m
citeste n
pentru i 1,n executa
│ citeste x
│ aux x
│ ok
│ daca x>0 atunci
│ │ repeta
│ │ │ daca x%10=m atunci
│ │ │ │ ok
│ │ │ x [x/10]
│ │ pana cand x<=0
│ daca ok=1 atunci
│ │ scrie aux
Varianta 83:
a
2. a. NU b.
c. var x,aux,ok1:integer;
begin
write(' x= '); read(x);
aux:=x;
ok1:=1;
while x>=10 do
begin
if x mod 10 > x div 10 mod 10
then ok1:=0;
x:=x div 10;
end;
if ok1=1
then write(aux)
else write('NU');
end.
d. citeste x
aux x
ok1
daca x≥10 atunci
│ repeta
│ │ daca x%10>[x/10]%10 atunci
│ │ │ ok1
│ │ x [x/10]
│ pana cand x<0
daca ok1=1 atunci
│ scrie aux
│ altfel
│ scrie "nu"
Varianta 84:
c
2. a. 6 NU b.
c. var n,ok1,c:integer;
begin
write(' n= '); read(n);
ok1:=0;
while n>0 do
begin
c:=n mod 10;
if (c>5) and (c mod 2 = 0)
then ok1:=1
else ok1:=0;
if ok1=1
then begin
write(c,' ');
ok1:=1;
end;
n:=n div 10;
end;
if ok1=0
then write('NU');
end.
d. citeste n
ok1
daca n>0 atunci
│ repeta
│ │ c n%10
│ │ daca c>5 si c%2=0 atunci
│ │ │ ok1
│ │ │ altfel
│ │ │ ok1
│ │ daca ok1=1 atunci
│ │ │ scrie c, ' '
│ │ │ ok1
│ │ n [n/10]
│ pana cand n≤0
daca ok1=0 atunci
│ scrie "nu"
Varianta 85:
a
2. a. b.
c. var n,ok1,ok,c:integer;
begin
write(' n= '); read(n);
ok:=0;
while n>0 do
begin
c:=n mod 10;
if c mod 2 = 1
then ok1:=1
else ok1:=0;
if ok1=1
then begin
write(c,' ');
ok:=1;
end;
n:=n div 10;
end;
if ok=0
then write('NU');
end.
d. citeste n
ok
daca n>0 atunci
│ repeta
│ │ c n%10
│ │ daca c%2=1 atunci
│ │ │ ok1
│ │ │ altfel
│ │ │ ok1
│ │ daca ok1=1 atunci
│ │ │ scrie c
│ │ │ ok
│ │ n [n/10]
│ pana cand n≤0
daca ok=0 atunci
│ scrie "nu"
Varianta 86:
c
2. a. b. 25 (orice nr mai mare ca 20)
c. var n,k,i:integer;
begin
write(' n= '); read(n);
write(' k= '); read(k);
for i:=1 to n do
if i div k=0
then write(i,' ')
else write(i mod k,' ');
end.
d. citeste n, k
i
daca i<=n atunci
│ repeta
│ │ daca [i/k]=0 atunci
│ │ │ scrie i
│ │ │altfel
│ │ │ scrie i%k
│ │ i i+1
│ pana cand i>n
Varianta 87:
d
2. a. b.
c. var a,b,c,x:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
write(' c= '); read(c);
while (a<>b) or (a<>c) do
begin
x:=a;
if x>b
then x:=b;
if x>c
then x:=c;
if x<>a
then a:=a-x;
if x<>b
then b:=b-x;
if x<>c
then c:=c-x;
end;
write(' a= ',a);
end.
d. citeste a,b,c
daca a≠b sau a≠c atunci
│ repeta
│ │ x a
│ │ daca x>b atunci
│ │ │ x b
│ │ daca x>c atunci
│ │ │ x c
│ │ daca x≠a atunci
│ │ │ a a-x
│ │ daca x≠b atunci
│ │ │ b b-x
│ │ daca x≠c atunci
│ │ │ c c-x
│ pana cand a=b si a=c
scrie a
Varianta 88:
b
2. a. b.
c. var a,p,b,c:longint;
begin
write(' a= '); read(a);
p:=1;
b:=0;
while a<>0 do
begin
c:=a mod 10;
if a mod 2=0
then b:=b+c*p
else b:=b*10+c;
a:=a div 10;
p:=p*10;
end;
write(' b= ',b);
end.
d. citeste a
p
b
daca a≠0 atunci
│ repeta
│ │ c a%10
│ │ daca a%2=0 atunci
│ │ │ b b+c*p
│ │ │altfel
│ │ │ b b*10+c
│ │ a [a/10]
│ │ p p*10
│ pana cand a=0
scrie b
Varianta 89:
a
2. a. b.
c. var n,t,r:longint;
begin
write(' n= '); read(n);
t:=n; r:=0;
while t>0 do
begin
if t mod 10 mod 2 =1
then r:=r*10+1
else r:=r*10+t mod 10;
t:=t div 10
end;
n:=0;
while r>0 do
begin
n:=n*10+r mod 10;
r:= r div 10;
end;
write(' n= ',n);
end.
d. citeste n
t n; r
daca t>0 atunci
│ repeta
│ │┌daca (t%10)%2=1 atunci
│ ││ r r*10+1
│ ││altfel
│ ││ r r*10+t%10
│ │ t [t/10]
│ pana cand t<=0\
n
daca r>0 atunci
│ repeta
│ │ n n*10+r%10
│ │ r [r/10]
│ pana cand r<=0
scrie n
Varianta 90:
c
2. a.
b. 25 29 2 si 451 457 9 (orice numere astfel incat nici un numar din
intervalul[a,b] sa nu aiba ultima cifra k)
c. var a,b,k,t,p:integer;
begin
write(' a= '); read(a);
write(' b= '); read(b); 353v2115d
write(' k= '); read(k);
t:=a;
p:=0;
while t<=b do
begin
if k=t mod 10
then begin
write(t,' ');
p:=1;
end;
t:=t+1;
end;
if p=0
then write(-1);
end.
d. citeste a, b, k
t a
p
daca t≤b atunci
│ repeta
│ │ daca k=t%10 atunci
│ │ │ scrie t
│ │ │ p
│ │ t t+1
│ pana cand t>b
daca p=0 atunci
│ scrie -1
Varianta 91:
d
2. a. 7
b. citeste z
z |z|
x
y x
x [(x+z/x)/2]
cat timp x≠y executa
│ y x
│ x [(x+z/x)/2]
scrie x
c. var z,x,y:integer;
begin
write(' z= '); read(z);
z:= abs(z);
x:=1;
repeat
y:=x;
x:=(x+z div x) div 2;
until x=y;
write(' x= ',x);
end.
d. o singura data
Varianta 92:
a
2. a. b. 5 9 2 (oricare 3 numere din intervalul [1,10])
c. var n,nr,y,i,x:integer;
begin
write(' n= '); read(n);
nr:=0;
y:=0;
for i:=1 to n do
begin
repeat
write(' x= '); read(x);
nr:=nr+1;
until (x>=1) and (x<=10);
y:=y+x;
end;
write(y div n,' ');
write(nr);
end.
d. citeste n
nr
y
pentru i 1,n executa
│ citeste x (numar real)
│ nr nr+1
│ cat timp x<1 sau x>10 executa
│ │ citeste x (numar real)
│ │ nr nr+1
│ y y+x
scrie [y/n]
scrie nr
Varianta 93:
b
2. a.
b. var n,m,s:integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
s:=0;
while n<m do
begin
s:=s+n;
n:=n+3;
end;
if n=m
then write(s+n)
else write(0);
end.
c. 7 valori (m= 0 2 3 5 6 8 9)
d.
k [(m-n)/3]
daca (m-n)%3 ≠ 0
│ atunci scrie 0
│ altfel scrie n+n*[(m-n)/3]+[k*(k+1)/2]*3
Varianta 94:
a
2. a. b.
c. citeste n
n1
n2
k1
p
cāt timp n ≠ 0 executa
│ daca (n%10)%2=0 atunci
│ │ n2 n2 * 10 + n%10
│ │ altfel
│ │ n1 n1 * 10 + n%10
│ │ p p*10
│ n [n/10]
x n2*p + n1
scrie x
d. var n,n1,n2,k1,p,x,i:longint;
begin
write(' n= '); read(n);
n1:=0;
n2:=0;
k1:=0;
while n<>0 do
begin
if (n mod 10) mod 2 =0
then n2:=n2*10+n mod 10
else begin
n1:=n1*10+n mod 10;
k1:=k1+1;
end;
n:=n div 10
end;
p:=1;
for i:=1 to k1 do
p:=p*10;
x:=n2*p+n1;
write(' x= ',x);
end.
Varianta 95:
d
2. a. b.
c. var x,n,k:longint;
begin
x:=0;
write(' n= '); read(n);
write(' k= '); read(k);
while n<>0 do
begin
if n mod 10< k
then x:=x*10+n mod 10;
n:=n div 10;
end;
write(' x= ',x);
end.
d. x
citeste n,k
daca n≠0 atunci
│ repeta
│ │ daca n mod 10<k atunci
│ │ │ x x*10 + n mod 10
│ │ n [n/10]
│ pana cand n=0
scrie x
Varianta 96:
c
2. a.
b. 30 (orice nr multiplu de 3)
c. var n,i,j,k:integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
for k:=1 to n do
if (i<j) and (j<k)
then if i+j+k=n
then begin
write(i,' ',j,' ',k);
writeln;
end;
end.
d. citeste n
pentru i 1,n executa
│ pentru j 1,n executa
│ │ k n-(i+j)
│ │ daca i<j<k atunci
│ │ │ scrie i,' ',j,' ',k
│ │ │ salt la rānd nou
Varianta 97:
b
2. a.
b. 27 44 123 (ultima cifra, de la primul nr, ultima cifra, de la al doilea nr, *2 si
ultima cifra, de la ultimu nr, *3 sa fie consecutive)
c. citeste x
s x % 10
scrie s
citeste x
s (x % 10)*2
scrie s
citeste x
s (x % 10)*3
scrie s
d. var i,s,x,j:integer;
begin
for i:=1 to 3 do
begin
write(' x= '); read(x);
s:=0;
for j:=1 to i do
s:=s+x mod 10;
write(s);
end;
end.
Varianta 98:
d
2. a. b.
c. citeste n
i n
scrie i
d. var n,i:integer;
begin
write(' n= '); read(n);
i:=1;
while i*i<=n do
i:=i+1;
write( i-1 );
end.
Varianta 99:
d
2. a. b.
c. putere(p,x)
daca x>0
│ atunci
│ putere(p,x-1);
│ p (4*p)%10;
│ altfel p
citeste x
p
putere(p,x)
scrie p
d. var x,p,i:integer;
begin
write(' x= '); read(x);
p:=1;
for i:=1 to x do
p:=(p*4) mod 10;
write(' p= ',p);
end.
Varianta 100:
1. a
2. a. b.
Sau secventa:
citeste x
daca x % 2 =0
│ atunci p
│ altfel p
scrie p;
Varianta 1:
c d
v1:=A.x-B.x;
v2:=A.y-B.y;
d:=sqrt(v1*v1+v2*v2);
write(' d= ',d);
Nodul cu cei mai multi fii este 6
Frunzele arborelui sunt nodurile: 1 2 3 8
var i, j, n, m:integer;
a:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
for i:=1 to n do
for j:=1 to m do
if i<j
then a[i,j]:=i
else a[i,j]:=j;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 2:
a c 5 si 2
if a[k,j] mod 2 = 1
then s := s + a[k,j];
var i:integer;
cuv:string[21];
begin
write(' cuvantul: '); readln(cuv);
for i:=1 to length(cuv) do
cuv[i]:=upcase(cuv[i]);
write(cuv);
end.
Varianta 3:
f.x:=f1.x*f2.y+f1.y*f2.x;
f.y:=f1.y*f2.y;
var n,i,j:integer;
a:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
a[i,j]:=n-j+1;
if (i=j)
then a[i,j]:=0;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
Varianta 4:
b a
if (s[i]>='a') and (s[i]<='z')
then s[i]:='W';
var n,i,j:integer;
a:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
a[i,j]:=n-i+1;
if (i+j=n+1)
then a[i,j]:=0;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 5:
b d 14 frunze
if s[i]=c
then s[i]:=d;
var n,m,i,j:integer;
a:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
for i:=1 to n do
for j:=1 to m do
begin
if (i<j)
then a[i,j]:=j
else a[i,j]:=i;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 6:
a c 14 muchii
var i:integer;
s:string;
begin
write(' textul: '); readln(s);
for i:=2 to length(s) do
if (s[i-1]=' ') and (s[i]<>' ')
then s[i]:=upcase(s[i]);
if s[1]<>' ' then s[1]:=upcase(s[i]);
write(s);
end.
Varianta 7:
a d
write(x.nume,' ');
write(x.clasa,' ');
write(x.media);
2 muchii
var i:integer;
c:char;
s:string;
begin
write(' textul: '); readln(s);
for i:=1 to length(s) do
if (s[i]<>'a') and (s[i]<>'e') and (s[i]<>'i') and (s[i]<>'o') and (s[i]<>'u')
then c:=s[i];
write(' ultima consoana: ',c);
end.
Varianta 8:
c a abefgh 6
var n, p, i, j, k:integer;
a:array[1..10,1..10] of integer;
begin
write(' n= '); read(n);
write(' p= '); read(p);
k:=-1;
for i:=1 to n do
for j:=1 to p do
begin
k:=k+2;
a[i,j]:=k*k;
end;
for i:=1 to n do
begin
for j:=1 to p do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 9:
c a abcdea
var n,i,j,s:integer;
a:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
s:=0;
for i:=1 to n do
write(a[1,i],' ');
for i:=2 to n-1 do
write(a[i,n],' ');
for i:=n downto 1 do
write(a[n,i],' ');
for i:=n-1 downto 2 do
write(a[i,1],' ');
end.
Varianta 10:
a c
var n,p,i,j,k:integer;
a:array[1..10,1..10] of integer;
begin
write(' n= '); read(n);
write(' p= '); read(p);
k:=-2;
for i:=1 to n do
for j:=1 to p do
begin
k:=k+2;
a[i,j]:=k*k;
end;
for i:=1 to n do
begin
for j:=1 to p do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 11:
a d 11 brcdbr
var n,m,i,j,min:integer;
a:array[1..10,1..10] of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to m do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for i:=1 to m do
begin
min:=a[i,1];
for j:=2 to n do
if min>a[i,j]
then min:=a[i,j];
write(min,' ');
end;
end.
Varianta 12:
b a 11 AbcdEfghOId
var e:record
nume:string[30];
nota1, nota2, nota3:integer;
end;
var n,i,j:integer;
a:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if i+j=n+1
then a[i,j]:=0
else if i+j<n+1
then a[i,j]:=i
else a[i,j]:=n-j+1;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 13:
c b 11 bcdfghd
var m:record
nume:string[30];
pret:real;
end;
var n,i,j:integer;
a:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if i+j=n+1
then a[i,j]:=0
else if i+j<n+1
then a[i,j]:=1
else a[i,j]:=2;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 14:
b c
var n,i,j:integer;
a:array[1..4,1..4]of integer;
begin
write(' n= '); read(n);
for j:=1 to 4 do
begin
for i:=1 to 4 do
a[i,j]:=n mod 10;
n:=n div 10;
end;
for i:=1 to 4 do
begin
for j:=1 to 4 do
write(a[i,j]:2);
writeln;
end;
end.
Varianta 15:
c d bemeut
Gradul minim este: 2
var n,i,j:longint;
a:array[1..5,1..5]of integer;
begin
write(' n= '); read(n);
for i:=1 to 5 do
begin
for j:=1 to 5 do
a[i,j]:=n mod 10;
n:=n div 10;
end;
for i:=1 to 5 do
begin
for j:=1 to 5 do
write(a[i,j]:2);
writeln;
end;
end.
Varianta 16:
b a
Numarul minim este 2, iar īn vārful stivei va ramane elementul 7
clasa a-XII-a A
clasaaa
var n,i,j:longint;
a:array[1..50,1..50]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if (i=j) or (i+j=n+1)
then a[i,j]:=4
else a[i,j]:=3;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 17:
a b
Numarul minim este 3 iar īn stiva mai ramāne un element.
b*t
var n,i,j:longint;
a:array[1..20,1..20]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=i+j-1;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 18:
c a Īn vārful stivei este 2 iar in stiva sunt 3 elemente.
a:='informatica';
for i:=1 to length(a) do
if (s[i]='a') or (s[i]= 'e') or (s[i]='i') or (s[i]='o') or (s[i]='u')
then
write(
else
write(a[i]
var n,i,j:longint;
a:array[1..20,1..20]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if i mod 2=1
then a[i,j]:=i
else a[i,j]:=j;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 19:
a c 2008bac2008 5 si 4
var n,i,j:longint;
a:array[1..20,1..20]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if j mod 2=1
then a[i,j]:=i+j
else a[i,j]:=i;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 20:
d a 9 si 7
a:='Bac 2008 iulie';
for i:=length(a) downto do
write(a[i]);
var n,i,j:longint;
a:array[1..20,1..20]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if (i=1) or (j=1)
then a[i,j]:=i+j
else a[i,j]:=a[i,j-1]+a[i-1,j];
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 21:
d c ev.data_nasterii.an
var s:string[250];
i:integer;
begin
write(' Textul: '); read(s);
for i:=1 to length(s)-1 do
if s[i]=s[i+1]
then writeln(s[i],s[i+1]);
end.
Varianta 22:
b a
var m,n,i,j,k:integer;
a:array[1..100,1..100]of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
k:=m*n;
for i:=1 to m do
for j:= 1 to n do
begin
a[i,j]:=k;
k:=k-1;
end;
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 23:
b d lantul maxim are 3 muchii
var m,n,i,j:integer;
a:array[1..100,1..100]of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to m do
for j:= 1 to n do
if (i=1) or(j=1)
then a[i,j]:=i+j-1
else a[i,j]:=a[i-1,j]+a[i,j-1];
write('Elementul solicitat este: ',a[m,n]);
end.
Varianta 24:
a c delete(s,1,2);
for i:=1 to n do
for j:= 1 to n do
begin
a[i,j]:=(i+j-1) mod n;
if (a[i,j]=0)
then a[i,j]:=n
end;
var s1,s2,s:string[100];
i,j:integer;
begin
write(' Cuvantul 1: '); readln(s1);
write(' Cuvantul 2: '); readln(s2);
i:=length(s1);
j:=length(s2);
while (i>0) and (j>0) and (s1[i]=s2[j]) do
begin
i:=i-1;
j:=j-1;
end;
s:=copy(s1,i+1,length(s1)-i+1);
write(' sufixul: ',s);
end.
Varianta 25:
c d y:= sqrt(x)+1/x+abs(x);
ok:=false;
for i:=1 to length(s) do
if (s[i]>='0') and (s[i]<='9')
then ok:=true;
if ok
then write(' CORECT')
else write(' INCORECT');
var m,n,i,j,p,max:integer;
a:array[1..100,1..100]of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to m do
for j:= 1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for j:=1 to n do
begin
p:=a[1,j];
for i:= 2 to m do
p:=p*a[i,j];
if p> max
then max:=p;
end;
for j:=1 to n do
begin
p:=a[1,j];
for i:= 2 to m do
p:=p*a[i,j];
if p = max
then write(j,' ');
end;
end.
Varianta 26:
d c roton 4. 4 elem.
var n,i,j,p,k:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:= 1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for i:=1 to n do
for j:= 1 to n do
begin
p:=1;
for k:=1 to n do
if k<>i then p:=p*a[k,j];
if p=a[i,j]
then write(p,' ');
end;
end.
Varianta 27:
a b
H.x:=F.x*G.y+F.y*G.x;
H.y:=F.y*G.y;
var n,i,j:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:= 1 to n do
if (i=1) or (j=1) or (j=n)
then a[i,j]:=1
else a[i,j]:=a[i-1,j-1]+a[i-1,j]+a[i-1,j+1];
for i:=1 to n do
begin
for j:= 1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 28:
b c
var s1,s2:string[20];
i:integer;
begin
write(' s1= '); readln(s1);
s2:=s1;
for i:=1 to length(s2) do
if s2[i]='a'
then delete(s2,i,1);
if s1<>s2 then writeln(s2);
s2:=s1;
for i:=1 to length(s2) do
if s2[i]='e'
then delete(s2,i,1);
if s1<>s2 then writeln(s2);
s2:=s1;
for i:=1 to length(s2) do
if s2[i]='i'
then delete(s2,i,1);
if s1<>s2 then writeln(s2);
s2:=s1;
for i:=1 to length(s2) do
if s2[i]='o'
then delete(s2,i,1);
if s1<>s2 then writeln(s2);
s2:=s1;
for i:=1 to length(s2) do
if s2[i]='u'
then delete(s2,i,1);
if s1<>s2 then writeln(s2);
end.
Varianta 29:
a d atac 4.
var n,i,j:integer; pp,p:real;
ok:boolean;
a:array[1..6,1..6]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:= 1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
pp:=1;
for j:=1 to n do
begin
p:=a[1,j] / a[1,1];
ok:=true;
for i:=2 to n do
if a[i,j]/a[i,1]<>p
then ok:=false;
if (ok) and (frac(p)=0)
then pp:=pp*p;
end;
write(pp:5:0,' ');
end.
Varianta 30:
c a
var n,i,j:integer;
a:array[1..20,1..20] of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if (i=1) or (j=1)
then a[i,j]:=1
else a[i,j]:=a[i,j-1]+a[i-1,j];
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 31:
c b
type masina=record
marca:string[20];
anul_fabricatiei:integer;
end;
var i,j,s:integer;
a:array[1..20,1..20] of integer;
begin
for i:=1 to 10 do
for j:=1 to 7 do
begin
write(' a[',i,',',j,']= ');
read(a[i,j]);
end;
s:=0;
for i:=1 to 7 do
s:=s+a[1,i];
for i:=2 to 9 do
s:=s+a[i,7];
for i:=7 downto 1 do
s:=s+a[10,i];
for i:=9 downto 2 do
s:=s+a[i,1];
write(' s= ',s);
end.
varf 200
varf 6 6
Varianta 32:
b d
var c1,c2:char;
s:string;
i:integer;
begin
write(' c1= '); readln(c1);
write(' c2= '); readln(c2);
write(' s= '); readln(s);
writeln(s);
for i:=1 to length(s) do
begin
if s[i]=c1
then s[i]:=c2
else if s[i]=c2
then s[i]:=c1;
end;
writeln(s);
end.
Varianta 33:
a c
type cerc=record
x,y:integer;
raza:real
end;
var x:cerc;
var s:string[255];
lit:array[0..40]of byte;
i,cuv:integer;
c:char;
begin
write(' s= '); readln(s);
if s[1]=' '
then cuv:=0
else cuv:=1;
for i:=2 to length(s) do
if (s[i-1]=' ') and (s[i]<>' ')
then cuv:=cuv+1;
writeln(' cuv= ',cuv);
for i:=1 to length(s) do
if (s[i]<>' ')
then inc( lit[ord(s[i])-ord('A')] );
for c:='B' to 'Z' do
if (c <>'E')and(c <>'I')and(c <>'O')and (c <>'U')
then if (lit[ord(c)-ord('A')]<>0)
then write(c,' ');
end.
Varianta 34:
b c asta
var n,i,j,k:integer;
a:array[1..20,1..20]of integer;
begin
write(' n= '); read(n);
k:=0;
for i:=1 to n do
for j:=1 to n do
begin
if k mod 3=0
then k:=k+2;
a[i,j]:=k;
k:=k+2;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 35:
d c
amat
Graful are 5 componente conexe.
Trebuie adaugate 4 muchii ca graful sa devina conex.
var n,i,j,min:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for j:=1 to n do
begin
min:=a[1,j];
for i:=1 to n do
if a[i,j]<min
then min:=a[i,j];
write(min,' ');
end;
end.
Varianta 36:
a b
var n,m,i,j,min:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
for i:=1 to n do
for j:=1 to m do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for j:=1 to m do
begin
min:=a[1,j];
for i:=1 to n do
if a[i,j]<min
then min:=a[i,j];
write(min,' ');
end;
end.
Varianta 37:
b a d-(1)=2; d+(5)=2
var s:string[255];
lit:array[0..40]of byte;
i,cuv:integer;
c:char;
begin
write(' s= '); readln(s);
if s[1]<>' '
then s[1]:=upcase(s[1]);
for i:=2 to length(s) do
begin
if (s[i-1]=' ') and (s[i]<>' ')
then s[i]:=upcase(s[i]);
if (s[i-1]<>' ') and (s[i]=' ')
then s[i-1]:=upcase(s[i-1]);
end;
if s[length(s)]<>' '
then s[length(s)]:=upcase(s[length(s)]);
writeln(' s= ',s);
end.
Varianta 38:
d c 2 muchii 6 cicluri
var n,i,j,p,imin:integer;
a:array[1..30,1..30]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
p:=1;
for j:=1 to n do
begin
imin:=1;
for i:=1 to n do
if a[i,j]<a[imin,j]
then imin:=i;
if a[imin,j]=a[n+1-j,j]
then p:=p*a[imin,j];
end;
write(' p= ',p);
end.
Varianta 39:
c a 3 componente conexe
var s:string[255];
i,j,i1:integer;
aux:char;
begin
write(' s= '); read(s);
if ( s[1]='a' ) or ( s[1]='e' ) or ( s[1]='i' ) or ( s[1]='o' ) or ( s[1]='u' )
then begin
j:=i;
while (s[j+1]<>' ')and (j<length(s)) do
j:=j+1;
i1:=1;
while i1<j do
begin
aux:=s[i1];
s[i1]:=s[j];
s[j]:=aux;
i1:=i1+1; j:=j-1;
end;
end;
for i:=0 to length(s) do
if (s[i-1]=' ')and (s[i]<>' ')
then if (s[i]='a') or (s[i]='e') or (s[i]='i') or (s[i]='o') or (s[i]='u')
then begin
j:=i;
while ( s[j+1]<>' ' ) and ( j<length(s) ) do
j:=j+1;
i1:=i;
while i1<j do
begin
aux:=s[i1];
s[i1]:=s[j];
s[j]:=aux;
i1:=i1+1; j:=j-1;
end;
end;
write(' s= ',s);
end.
Varianta 40:
a d 3 componente conexe
var s,s1:string[255];
p,i:integer;
begin
write(' s= '); read(s);
i:=1;
while s[i]<>'*' do
begin
s1:=s1+s[i];
i:=i+1;
end;
write(s1,' ');
repeat
p:=pos(s1,s);
if p>0
then delete(s,p,length(s1));
until p=0;
write(' s= ',s);
end.
Varianta 41:
a a Nodurile 1,3,5,7,9 sunt frunze abc
var n,i,j:integer;
a:array[1..30,1..30]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=i+j;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 42:
a a 3 noduri elementul a[5,5]=5
var s:string[40];
i:integer;
begin
write(' s= '); read(s);
for i:=1 to length(s) do
if ( s[i]='a' ) or ( s[i]='e' ) or ( s[i]='i' ) or ( s[i]='o' ) or ( s[i]='u' )
then write(s[i],' ');
end.
Varianta 43:
a a
Nodul 4 - radacina / 5 noduri frunza (1, 3, 5, 7, 9)
var i,j,n:integer;
a:array[1..32,1..23]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if i=j
then a[i,j]:=2
else if i<j
then a[i,j]:=1
else a[i,j]:=3;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 44:
a d fo
var a:array[1..23,1..23]of integer;
n,i,j,k:integer;
begin
write(' n= '); read(n);
for i:=1 to n do
begin
k:=i;
for j:=n downto 1 do
if k>1
then begin
a[i,j]:=k;
k:=k-1;
end
else a[i,j]:=1;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 45:
a a a[2,1]=1
Decendentii radacinii: 1, 7 / Frunze 5, 6, 8, 9
var s:string[40];
i,j:integer;
begin
write(' s= '); read(s);
for i:=1 to length(s) do
begin
for j:=1 to length(s) do
if i<>j
then write(s[j]);
writeln;
end;
end.
Varianta 46:
c a 6 frunze 1 element
var s:string[100];
i:integer;
begin
write(' s= '); read(s);
for i:=1 to length(s) do
if ( s[i]='a' ) or ( s[i]='e' ) or ( s[i]='i' ) or ( s[i]='o' ) or ( s[i]='u' )
then s[i]:=chr( ord(s[i])+1 );
write(' s= ',s);
end.
Varianta 47:
c b acalaureat
f.a mod k =0 and f.b mod k =0
var n,m,m1,i,j:integer;
a,b:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
for i:=1 to m do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for i:=1 to m do
for j:=1 to n do
if i mod 2=0
then b[i div 2,j]:=a[i,j];
m1:=m div 2 + m mod 2;
for i:=1 to m1 do
begin
for j:=1 to n do
write(b[i,j],' ');
writeln;
end;
end.
Varianta 48:
b a
sqrt(a.x*a.x+a.y*a.y)
var n,k,i,j:integer;
a,b:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
k:=k+2;
a[i,j]:=k;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 49:
d c (x.med1 + x.med2) / 2
var s,s1:string[20];
i:integer;
begin
write(' s= '); read(s);
s1:='';
for i:=1 to length(s) do
if ( s[i]='a' ) or ( s[i]='e' ) or ( s[i]='i' ) or ( s[i]='o' ) or ( s[i]='u' )
then s1:=s1+s[i];
write(' s1= ',s1);
end.
Varianta 50:
a d 6 noduri r
var s,s1:string[100];
i:integer;
function vocala(c:char):boolean;
begin
if ( c='a' ) or ( c='e' ) or ( c='i' ) or ( c='o' ) or ( c='u' )
then vocala:=true
else vocala:=false;
end;
begin
write(' s1= '); read(s1);
s:=s1;
i:=1;
while ( not vocala(s[i]) ) and (i<=length(s)) do
i:=i+1;
if i<length(s)+1 then delete(s,i,1);
i:=length(s);
while ( not vocala(s[i]) ) and (i>=1) do
i:=i-1;
if i>0 then delete(s,i,1);
write(' s= ',s);
end.
Varianta 51:
a d
Radacina 2 iar nodurile terminale 1, 4, 5, 8, 10
var s:string[30];
i:integer;
ok:boolean;
begin
write(' s= '); read(s);
ok:=true;
for i:=1 to length(s) do
if ( s[i]<>' ' ) and ( ( s[i]<'a' ) or ( s[i]>'z' ) ) and ( ( s[i]<'A' ) or ( s[i]>'Z' ) )
then ok:=false;
if ok
then write(' DA ')
else write(' NU ');
end.
Varianta 52:
a b
var s:string[100];
i:integer;
begin
write(' S= '); read(s);
if s[1]<>' '
then write(s[1]);
for i:=2 to length(s) do
if (s[i-1]=' ') and (s[i]<>' ')
then write(s[i]);
end.
Varianta 53:
c a
Tata=(3, 4, 4, 0, 2, 3, 6, 6). Descendentii sunt 6, 1, 7, 8 (insa numai primi doi sunt
descendenti directi)
var i, j, n, m, x, y, aux:integer;
a:array[1..20, 1..20]of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
write(' x= '); read(x);
write(' y= '); read(y);
for i:=1 to m do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for i:=1 to n do
begin
aux:=a[x,i];
a[x,i]:=a[y,i];
a[y,i]:=aux;
end;
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 54:
d b k1=7; k2=4
var i, j, n, x:integer;
a:array[1..20, 1..20]of integer;
begin
write(' n= '); read(n);
write(' x= '); read(x);
for i:=1 to n do
for j:=1 to n do
if i mod 2=0
then a[i,j]:= x mod 10
else a[i,j]:=x div 10;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 55:
c a
var s,s1:string[100];
i:integer;
begin
write(' s= '); read(s);
s1:='';
for i:=1 to length(s) do
if (s[i]>='0') and (s[i]<='9')
then s1:=s1+s[i];
write(' s1= ',s1);
end.
Varianta 56:
c d (c>='a' and (c<='z')
var n,k,i,j:integer;
a:array[1..25,1..25]of integer;
begin
write(' n= '); read(n);
write(' k= '); read(k);
for i:=1 to n do
for j:=1 to n do
if j<=k
then a[i,j]:=1
else a[i,j]:=2;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end
end.
Varianta 57:
c a
(c='a') or (c='e') or (c='i') or (c='o') or (c='u')
var n,a,i,j:integer;
mat:array[1..25,1..25]of integer;
begin
write(' n= '); read(n);
write(' a= '); read(a);
for i:=1 to n do
for j:=1 to n do
if i<a
then mat[i,j]:=1
else if i=a
then mat[i,j]:=0
else mat[i,j]:=2;
for i:=1 to n do
begin
for j:=1 to n do
write(mat[i,j]:3);
writeln;
end
end.
Varianta 58:
b b i<>j
var s:string[50];
i,c:integer;
begin
write(' s= '); readln(s);
for i:=1 to length(s) do
if (s[i]>='a') and (s[i]<='z')
then c:=c+1;
write(' c= ',c);
end.
Varianta 59:
a c i=9
var s:string[50];
i,max:integer;
a:array[0..9] of integer;
begin
write(' s= '); readln(s);
for i:=1 to length(s) do
if (s[i]>='0') and (s[i]<='9')
then a[ord(s[i])-ord('0')]:=a[ord(s[i])-ord('0')]
max:=a[0];
for i:=1 to 9 do
if max<a[i]
then max:=a[i];
i:=0;
while a[i]<max do
i:=i+1;
write(i);
end.
Varianta 60:
d c
var s:string[50];
i,max:integer;
a:array[0..40] of integer;
begin
write(' s= '); readln(s);
for i:=1 to length(s) do
if (s[i]>='a') and (s[i]<='z')
then a[ord(s[i])-ord('a')]:=a[ord(s[i])-ord('a')]
max:=0;
for i:=0 to 40 do
if max<a[i]
then max:=a[i];
i:=0;
if max<>0
then begin
while a[i]<max do
i:=i+1;
write(chr( i+ord('a') ) );
end
else write(' NU ');
end.
Varianta 61:
d c f
var n,i,j:integer;
a:array[1..100,0..100]of integer;
begin
write(' n= '); read(n);
for j:=1 to n do
a[n,j]:=j;
for i:=n-1 downto 1 do
for j:=1 to i do
a[i,j]:=a[i+1,j-1]+a[i+1,j]+a[i+1,j+1];
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 62:
a b e
var s:string[255];
i:integer;
a:array[0..255]of integer;
begin
write(' s= '); read(s);
for i:=1 to length(s) do
if (s[i]>='a') and (s[i]<='z') and (a[ord(s[i])]=0)
then begin
write(s[i],' ');
a[ord(s[i])]:=1;
end;
end.
Varianta 63:
b b
if length(s1)<length(s2)
then write(s1,' ',s2)
else write(s2,' ',s1);
var n,m,i,j,k:integer;
a:array[1..50,1..50] of integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
k:=1;
for j:=1 to m do
for i:=1 to n do
begin
a[i,j]:=k;
k:=k+1;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 64:
d a
var s:string[100];
i,j,c:integer;
function vocala(c:char):boolean;
begin
vocala:=false;
if (c='a')or(c='A')or(c='e')or(c='E')or(c='i')or(c='I')or(c='o')or(c='O')or(c='u')or(c='U')
then vocala:=true;
end;
begin
write(' s= '); readln(s);
s:=' '+s; c:=0;
for i:=2 to length(s) do
if (s[i-1]=' ') and (s[i]<>' ')
then begin
j:=i;
while (s[j+1]<>' ') and (j<=n) do j:=j+1;
if vocala(s[i]) and vocala(s[j])
then c:=c+1;
end;
write(c);
end.
Varianta 65:
c d f
var n,m,i,j,k:integer;
a:array[1..50,1..50] of integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
k:=1;
for i:=1 to n do
if i mod 2 =1
then for j:=1 to m do
begin
a[i,j]:=k;
k:=k+1;
end
else for j:=m downto 1 do
begin
a[i,j]:=k;
k:=k+1;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 66:
c b
var s:string[50];
k:integer;
begin
write(' s= '); read(s);
for k:=1 to length(s) do
writeln(copy(s,1,k));
end.
Varianta 67:
a c 2 descendenti
var s:string[50];
k:integer;
begin
write(' s= '); read(s);
for k:=length(s) downto 1 do
writeln(copy(s,k,length(s)-k+1));
end.
Varianta 68:
d a T=(0, 1, 1, 2, 2, 5, 5) length()
var n,m,i,j:integer; p:longint;
a:array[1..50,1..50] of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to m do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
p:=1;
for i:=1 to m do
for j:=1 to n do
if (i mod 2 =0) and (j mod 2= 1) and (a[i,j]>0)
then p:=p*a[i,j];
write(' p= ',p);
end.
Varianta 69:
b c T=(0, 1, 1, 3, 3, 4, 4) t:=copy(s,1,n);
var n,i,j:integer; ok:boolean;
a:array[1..50,1..50] of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
ok:=true;
for i:=2 to n do
for j:=1 to i-1 do
if (a[i,j]>0)
then ok:=false;
if ok
then write(' Este triunghiulara superior')
else write(' Nu este trunghiulara superior');
end.
Varianta 70:
a d T=(2, 0, 2, 5, 2)
write(s[length(s)]);
var n,m,i,j,x:integer;
a:array[1..50,1..50] of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
write(' x= '); read(x);
for i:=1 to m do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for i:=x+1 to m do
for j:=1 to n do
a[i-1,j]:=a[i,j];
m:=m-1;
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:6);
writeln;
end;
end.
Varianta 71:
c d
s1:=s1+a[i,i];
s2:=s2+a[i,n-i+1];
readln(e1.nume); readln(e1.nota);
readln(e2.nume); readln(e2.nota);
if e1.nota>=e2.nota
then write(e1.nota)
else write(e2.nota);
var n,i,j,k:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
k:=0;
for j:=1 to n do
for i:=1 to n do
begin
k:=k+1;
a[i,j]:=k;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 72:
c a 3 comp. conexe 1 arc
var n,i,j,k:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
k:=0;
for i:=1 to n do
for j:=1 to n-i+1 do
begin
k:=k+1;
a[i,j]:=k;
end;
k:=0;
for j:=n downto 2 do
for i:=n downto n-j+1 do
begin
k:=k+1;
a[i,j]:=k;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 73:
b d 2 arce; C=(1,2,3,4,1)
j,aux:integer;
for j:=1 to n do
begin
aux:=a[p,j];
a[p,j]:=a[q,j];
a[q,j]:=aux;
end;
var s:string;
nc,nv,i:integer;
begin
write(' S= '); readln(s);
s:=' '+s;
nc:=0; nv:=0;
for i:=2 to length(s) do
if (s[i-1]=' ') and (s[i]<>' ')
then begin
nc:=nc+1;
if (s[i]='a') or (s[i]='e') or (s[i]='i') or (s[i]='o') or (s[i]='u')
then nv:=nv+1;
end;
write(nc,' ',nv);
end.
Varianta 74:
a c
a) 4, 6, 9 b) 5 noduri (1, 3, 4, 5, 7)
a) 2 muchii b) o muchie
var n,i,j:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if i mod 2=0
then a[i,j]:=n-j+1
else a[i,j]:=j;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 75:
d d
ADD 5; ELIM; 2 arce ( arcul (2, 3) si (4, 1) )
var n,m,i,j:integer;
a:array[1..100,1..100]of integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to m do
for j:=1 to n do
if (i-1) div 2 mod 2=0
then a[i,j]:=0
else a[i,j]:=1;
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.
Varianta 76:
b a T=(5, 3, 6, 6, 7, 0, 6, 3)
var s:string[20];
i,j:integer;
begin
write(' S= '); readln(s);
for i:=0 to length(s) div 2 do
begin
for j:=i+1 to length(s)-i do
write(s[j]);
writeln;
end;
end.
Varianta 77:
a c
var s:string[51];
i:integer;
begin
write(' S= '); readln(s);
s:=' '+s;
for i:=2 to length(s) do
if (s[i-1]=' ') and (s[i]<>' ')
then s[i]:=chr( ord(s[i])-ord('a')+ord('A') );
delete(s,1,1);
write(' s= ',s);
end.
Varianta 78:
c b
var t,x:string[100];
c:string[15]; p:integer;
function gasire(s,c:string; ind:integer):integer;
var i,j:integer;
ok:boolean;
begin
for i:=ind to length(s) do
if (s[i]=c[1])
then begin
ok:=true;
j:=1;
while (j<length(c)) and (ok) do
begin
if c[j]<>s[i+j-1]
then ok:=false;
j:=j+1;
end;
if ok
then begin gasire:=i; exit; end;
end;
gasire:=0;
end;
begin
write(' textul: '); readln(t);
write(' cuvantul: '); readln(c);
p:=1;
repeat
p:=gasire(t,c,p);
if p<>0
then begin
while (t[p]<>' ') and ( p<length(t) ) do
p:=p+1;
t:=copy(t,1,p-1)+'?'+copy(t,p,length(t));
end;
until p=0;
write(' t= ',t);
end.
Varianta 79:
a a 5 muchii
T=(1, 0, 6, 9, 2, 5, 4, 3, 2, 6, 4, 6, 2)
var s:string;
i:integer;
function vocala(c:char):boolean;
begin
if (c='A') or (c='E') or (c='I') or (c='O') or
(c='U')
then vocala:=true
else vocala:=false;
end;
begin
write(' s= '); readln(s);
i:=1;
while i<length(s) do
begin
if vocala(upcase(s[i]))
then s:=copy(s,1,i)+'*'+copy(s,i+1,length(s));
i:=i+1;
end;
write(s);
end.
Varianta 80:
d c
var s:string;
i,j:integer;
aux:char;
begin
write(' s= '); readln(s);
for i:=1 to length(s) div 2 do
begin
j:=length(s) div 2 + length(s) mod 2 + i;
aux:=s[i];
s[i]:=s[j];
s[j]:=aux;
end;
write(' s= ',s);
end.
Varianta 81:
c a
a:=a+b;
b:=a-b;
a:=a-b;
if (length(cuv) mod 2=0)
then write(cuv[length(cuv) div 2],cuv[length(cuv) div 2+1]
else write(cuv[length(cuv) div 2 +1]);
var n,m,i,j,imin,imax,jmin,jmax,aux:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
for i:=1 to n do
for j:=1 to m do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
imin:=1; jmin:=1;
imax:=1; jmax:=1;
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]<a[imin,jmin]
then begin
imin:=i;
jmin:=j;
end;
if a[i,j]>a[imax,jmax]
then begin
imax:=i;
jmax:=j;
end;
end;
aux:=a[imin,jmin];
a[imin,jmin]:=a[imax,jmax];
a[imax,jmax]:=aux;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 82:
c c tarta
noduri cu grad par: 2; noduri cu grad impar: 2
var n,i,j,imin,imax,aux:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
imin:=1;
imax:=1;
for i:=1 to n do
begin
if a[i,i]<a[imin,imin]
then imin:=i;
if a[i,i]>a[imax,imax]
then imax:=i;
end;
aux:=a[imin,imin];
a[imin,imin]:=a[imax,imax];
a[imax,imax]:=aux;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 83:
a
for i:=1 to length(cuv) do
if (cuv[i]='a') or (cuv[i]='e') or (cuv[i]='i') or (cuv[i]='o') or (cuv[i]='u')
then write(cuv[i]);
var n,i,j,imin,imax,aux:integer;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
imin:=1;
imax:=1;
for i:=1 to n do
begin
if a[i,n+1-i]<a[imin,n+1-imin]
then imin:=i;
if a[i,n+1-i]>a[imax,n+1-imax]
then imax:=i;
end;
aux:=a[imin,n+1-imin];
a[imin,n+1-imin]:=a[imax,n+1-imax];
a[imax,n+1-imax]:=aux;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 84:
a a write(chr(ord(c)+1);
write(el.nume,' ',el.prenume,' ', el.mediabac);
var n,i,j:integer; p:longint; ok:boolean;
a:array[1..100,1..100]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
p:=1;
ok:=false;
for i:=1 to n do
if a[i,i] mod 2=0
then begin
ok:=true;
p:=p*a[i,i];
end;
if ok
then write(' p= ',p)
else write(' IMPOSIBIL ');
end.
Varianta 85:
a b
readln(p.nume);
readln(p.prenume);
readln(p.salariu);
write(a[1,1]*a[2,2]*a[3,3]*a[4,4]);
var n,i,j:integer; p:longint; ok:boolean;
a,b,c:array[1..10,1..10]of integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for i:=1 to n do
for j:=1 to n do
begin
write(' B[',i,',',j,']= ');
read(b[i,j]);
end;
for i:=1 to n do
for j:=1 to n do
if i<j
then c[i,j]:=a[i,j]
else if i>j
then c[i,j]:=b[i,j]
else if a[i,j]<b[i,j]
then c[i,j]:=a[i,j]
else c[i,j]:=b[i,j];
for i:=1 to n do
begin
for j:=1 to n do
write(c[i,j]:4);
writeln;
end;
end.
Varianta 86:
d a
var n,i,j,i1,i2:integer;
a:array[1..20,1..20]of integer;
begin
write(' n= '); read(n);
i1:=1;
for i:=1 to 2*n do
if i mod 2 =1
then for j:=1 to 2*n do
begin
a[i,j]:=i1;
i1:=i1+2;
end
else begin
i2:=i1-4*n+1;
for j:=2*n downto 1 do
begin
a[i,j]:=i2;
i2:=i2+2;
end;
end;
for i:=1 to 2*n do
begin
for j:=1 to 2*n do
write(a[i,j]:4);
writeln;
end;
end.
Varianta 87:
d b
var a:array[1..20,1..20] of integer;
i,j,n,s,nr:integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
s:=0; nr:=0;
for i:=2 to n do
for j:=1 to i-1 do
if a[i,j]>0
then begin
s:=s+a[i,j];
nr:=nr+1;
end;
write(' MA= ',(s/nr):5:2);
end.
Varianta 88:
a b
var a:array[1..20,1..20] of integer;
i,j,n,s,nr:integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
s:=0; nr:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i,j]>0
then begin
s:=s+a[i,j];
nr:=nr+1;
end;
write(' MA= ',(s/nr):5:2);
end.
Varianta 89:
d a
var T:array[1..6,1..6] of integer;
i,j,n,a,c,b:integer;
begin
write(' n= '); read(n);
a:=1; b:=0;
for i:=1 to n do
if i mod 2=1
then for j:=1 to n do
begin
T[i,j]:=b;
c:=a+b;
a:=b;
b:=c;
end
else for j:=n downto 1 do
begin
T[i,j]:=b;
c:=a+b;
a:=b;
b:=c;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(T[i,j]:4);
writeln;
end;
end.
Varianta 90:
a b
var a:array[1..20,1..20] of integer;
i,j,n,s,nr,s2,nr2:integer;
m1,m2:real;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
s:=0; nr:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i,j]>0
then begin
s:=s+a[i,j];
nr:=nr+1;
end;
m1:= s / nr;
s2:=0; nr2:=0;
for i:=2 to n do
for j:=1 to i-1 do
if a[i,j]>0
then begin
s2:=s2+a[i,j];
nr2:=nr2+1;
end;
m2:= s2 / nr2;
write(' M1-M2= ',m1-m2:5:2);
end.
Varianta 91:
b a iarba
var a:array[1..50,1..50] of integer;
i, j, n, m, v0, ind, max:integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
for i:=1 to n do
for j:=1 to m do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
ind:=0; max:=0;
for i:=1 to n do
begin
v0:=0;
for j:=1 to m do
if a[i,j]>0
then v0:=v0+1;
if v0>max
then begin
max:=v0;
ind:=i;
end;
end;
write(' Ind= ',ind);
end.
Varianta 92:
b b
( v.origine.x = v.extremitate.x ) and ( v.origine.y = v.extremitate.y )
var a:array[1..50,1..50] of integer;
i, j, n, m, imin, jmin, max:integer;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to m do
for j:=1 to n do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
imin:=1; jmin:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j]<a[imin,jmin]
then begin
imin:=i;
jmin:=j;
end;
for i:=1 to m do
for j:=jmin+1 to n do
a[i,j-1]:=a[i,j];
n:=n-1;
for j:=1 to n do
for i:=imin+1 to m do
a[i-1,j]:=a[i,j];
m:=m-1;
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 93:
d b
var sa1,sa2,s1,s2:string[200];
i:integer;
function sablon(x:string):string;
var s:string;
begin
s:='';
for i:=1 to length(x) do
if (x[i]='a') or (x[i]='e') or (x[i]='i') or
(x[i]='o') or (x[i]='u')
then s:=s+'*'
else s:=s+'#';
sablon:=s;
end;
begin
write(' s1= '); readln(s1);
write(' s2= '); readln(s2);
sa1:=sablon(s1);
sa2:=sablon(s2);
for i:=1 to length(sa1) do
if sa1[i]=sa2[i]
then write(sa1[i])
else write('?');
end.
Varianta 94:
b a
var s:string[20];
i,j:integer;
begin
write(' s= '); readln(s);
i:=pos(' ',s);j:=i;
while s[i]=' ' do i:=i+1;
s:=copy(s,i,length(s))+' '+copy(s,1,j-1);
write(' s= ',s);
end.
Varianta 95:
b d
lungime:5 arcele: (1, 2); (2, 4); (4, 3); (3, 2); (2 ,5)
var s:string[20];
i,j:integer;
begin
write(' s= '); readln(s);
i:=pos(' ',s);j:=i;
while s[i]=' ' do i:=i+1;
s:=copy(s,i,1)+'. '+copy(s,1,j-1);
write(' s= ',s);
end.
Varianta 96:
d a
var n,p:string[20];
s:string[40];
begin
write(' nume= '); readln(n);
write(' prenume= '); readln(p);
s:=p+' '+n;
write(' s= ',s);
end.
Varianta 97:
c a TITA
var a:array[1..50,1..50]of integer;
n,m,i,j,aux:integer;
begin
write(' n= '); read(n);
write(' m= '); read(m);
for i:=1 to n do
for j:=1 to m do
begin
write(' A[',i,',',j,']= ');
read(a[i,j]);
end;
for j:=1 to m do
for i:=1 to n div 2 do
begin
aux:=a[i,j];
a[i,j]:=a[n-i+1,j];
a[n-i+1,j]:=aux;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 98:
b a
type COLET=record
pret, greutate:real;
nume_oras:string[30];
end;
var x:COLET;
readln(x.pret); readln(x.greutate); readln(x.nume_oras);
var a:array[1..50,1..50]of integer;
n,i,j,k:integer;
begin
write(' n= '); read(n);
k:=0;
for i:=1 to n do
for j:=1 to n do
begin
a[i,j]:=k;
k:=k+2;
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 99:
b a
var a:array[1..50,1..50]of integer;
n,i,j:integer;
begin
write(' n= '); read(n);
for i:=1 to n do
for j:=1 to n do
if i>j
then a[i,j]:=i
else a[i,j]:=j;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j],' ');
writeln;
end;
end.
Varianta 100:
d a
var a:array[1..102,1..102]of longint;
n,m,i,j,aux:integer;
begin
write(' n= '); read(n);
for i:=2 to n+1 do
for j:=2 to n+1 do
begin
write(' A[',i-1,',',j-1,']= ');
read(a[i,j]);
end;
for i:=1 to n+2 do
begin
a[1,i]:=maxlongint;;
a[n+2,i]:=maxlongint;;
a[i,1]:=maxlongint;;
a[i,n+2]:=maxlongint;;
end;
for i:=2 to n+1 do
for j:=2 to n+1 do
if (a[i,j]<a[i-1,j]) and (a[i,j]<a[i+1,j]) and
(a[i,j]<a[i,j-1]) and (a[i,j]<a[i,j+1])
then write(a[i,j],' ');
end.
Varianta 1:
b
var f:text;
n,nr:integer;
begin
write(' N= '); read(n);
assign(f,'bac.txt'); reset(f);
while not eof(f) do
begin
read(f,nr);
if nr mod n =0
then write(nr,' ');
end;
close(f);
end.
type sir=array[1..100]of integer;
var a:sir;
n,i:integer;
gasit:boolean;
function sub(v:sir;n,a:integer):integer;
var e,i:integer;
begin
e:=0;
for i:=1 to n do
if v[i]=a
then e:=e+1;
sub:=e;
end;
begin
write(' N= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
gasit:=false;
i:=1;
while (not gasit) and (i<n) do
begin
if sub(a,n,a[i])>1
then gasit:=true;
i:=i+1;
end;
if gasit
then write(' NU')
else write(' DA');
end.
Varianta 2:
d
var a:array[1..100]of integer;
f:text; sortat:boolean;
n, nr, i, aux:integer;
begin
assign(f,'nr.txt'); reset(f);
n:=0;
while not eof(f) do
begin
read(f,nr);
if nr >0
then begin
n:=n+1;
a[n]:=nr;
end;
end;
close(f);
if n=0 then write(' NU EXISTA')
else begin
repeat
sortat:=true;
for i:=1 to n-1 do
if a[i]>a[i+1]
then begin
aux:=a[i];
a[i]:=a[i+1];
a[i+1]:=aux;
sortat:=false;
end;
until sortat;
for i:=1 to n do
write(a[i],' ');
end;
end.
var n,n1:integer;
function f(a:integer):integer;
var i,s,d:integer;
begin
d:=2; s:=0;
while a>1 do
begin
while a mod d=0 do
begin
a:=a div d;
s:=s+1;
end;
d:=d+1;
end;
f:=s;
end;
begin
write(' n= '); read(n);
if n<10
then n1:=2
else n1:=n mod 10 *10 + n div 10;
if (f(n)=1) and (f(n1)=1)
then write(' DA ')
else write(' NU ');
end.
Varianta 3:
a xxxyyy
var a:array[1..100]of integer;
f:text; sortat:boolean;
n, nr, i, aux:integer;
begin
assign(f,'nr.txt'); reset(f);
n:=0;
while not eof(f) do
begin
read(f,nr);
if (nr > 99) or (nr < -99)
then begin
n:=n+1;
a[n]:=nr;
end;
end;
close(f);
repeat
sortat:=true;
for i:=1 to n-1 do
if a[i]>a[i+1]
then begin
aux:=a[i];
a[i]:=a[i+1];
a[i+1]:=aux;
sortat:=false;
end;
until sortat;
if n=0
then write(' NU EXISTA! ')
else for i:=1 to n do
write(a[i],' ');
end.
var n ,c, i, na:longint;
function cif(a:longint; b:byte):byte;
var na:byte;
begin
na:=0;
while a>0 do
begin
if a mod 10 = b
then na:=na+1;
a:=a div 10;
end;
cif:=na;
end;
begin
write(' n= '); read(n);
c:=9;
while c>0 do
begin
na:=cif(n,c);
for i:=1 to na do write(c);
c:=c-2;
end;
end.
Varianta 4:
c
var a:array[1..100]of integer;
f:text; sortat:boolean;
n, nr, i, aux:integer;
begin
assign(f,'nr.txt'); reset(f);
n:=0;
while not eof(f) do
begin
read(f,nr);
if (nr < 100) and (nr > -100)
then begin
n:=n+1;
a[n]:=nr;
end;
end;
close(f);
repeat
sortat:=true;
for i:=1 to n-1 do
if a[i]<a[i+1]
then begin
aux:=a[i];
a[i]:=a[i+1];
a[i+1]:=aux;
sortat:=false;
end;
until sortat;
if n=0
then write(' NU EXISTA! ')
else for i:=1 to n do
write(a[i],' ');
end.
var n ,c, i, na:longint;
function cif(a:longint; b:byte):byte;
var na:byte;
begin
na:=0;
while a>0 do
begin
if a mod 10 = b
then na:=na+1;
a:=a div 10;
end;
cif:=na;
end;
begin
write(' n= '); read(n);
c:=1;
while c<10 do
begin
na:=cif(n,c);
for i:=1 to na do write(c);
c:=c+2;
end;
end.
Varianta 5:
d
var n:longint;
f:text;
begin
assign(f,'nr.txt'); rewrite(f);
write(' n= '); read(n);
while n>0 do
begin
write(f,n,' ');
n:=n div 10;
end;
close(f);
end.
var n,i:integer; gasit:boolean;
a:array[1..100]of longint;
function f(a:longint):longint;
var d:longint;
begin
d:=2;
while a mod d <>0 do d:=d+1;
f:=d
end;
begin
write(' n= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
gasit:=false;
for i:=1 to n do
if f(a[i]) = a[i]
then begin
gasit:=true;
write(a[i],' ');
end;
if not gasit
then write(' NU EXISTA! ');
end.
Varianta 6:
a
type sir=array[0..100]of integer;
var n,i,i1,i2:integer;
a:sir;
f:text;
procedure s1(var a,b:integer);
begin
a:=a+b;
b:=a-b;
a:=a-b;
end;
function s2(a:sir; p:integer;q:integer):integer;
var i:integer;
begin
if p<q then begin
i:=p;
while (i<=q) and (a[i] mod 5 <> 0) do
i:=i+1;
if i = q+1
then s2:=-1
else s2:=i;
end
else begin
i:=p;
while (i>=q) and (a[i] mod 5 <> 0) do
i:=i-1;
if i = q-1
then s2:=-1
else s2:=i;
end
end;
begin
assign(f,'bac.txt'); rewrite(f);
write(' n= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
i1:=s2(a,1,n);
i2:=s2(a,n,1);
s1(a[i1],a[i2]);
writeln(i1,' ',i2);
for i:=1 to n do
write(f,a[i],' ');
close(f);
end.
Varianta 7:
d
var a:array[1..300] of integer;
n,i,aux:integer;
begin
write(' n= '); read(n);
for i:=1 to 3*n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
for i:=1 to n do
begin
aux:=a[i];
a[i]:=a[2*n+i];
a[2*n+i]:=aux;
end;
for i:=1 to 3*n do
write(a[i],' ');
end.
var s,n:longint;
g:text;
function f(n:longint):longint;
var x,y:longint;
begin
x:=1;
while x<n do
begin
if x<5
then x:=x+1
else x:=2*x;
end;
if n>5
then f:=x div 2
else f:=x;
end;
begin
assign(g,'numere.txt'); rewrite(g);
write(' s= '); read(s);
while s>1 do
begin
n:=f(s);
write(g,n,' ');
s:=s-n;
end;
close(g);
end.
Varianta 8:
c 4 numere (105, 123, 321, 501)
var f:text;
i,j,n:integer;
begin
assign(f,'bac.txt'); rewrite(f);
write(' n= '); read(n);
for i:=1 to n do
begin
for j:=0 to n-i do
write(f,2*j,' ');
writeln(f);
end;
close(f);
end.
var n:longint;
c0,s:integer;
function p1(n:longint):integer;
var s:integer;
begin
s:=0;
while n>0 do
begin
s:=s+n mod 10;
n:=n div 10;
end;
p1:=s;
end;
function p2(n:longint):longint;
begin
p2:=n div 10;
end;
begin
write(' n= '); read(n);
s:=p1(n); n:=p2(n);
while n>0 do
begin
if s=p1(n)
then c0:=c0+1;
s:=p1(n);
n:=p2(n);
end;
write(' c0= ',c0);
end.
Varianta 9:
a
type sir=array[0..100]of integer;
var n,i,j:integer;
a:sir;
f:text;
procedure s1(a:sir; var p, q:integer);
var i:integer;
begin
i:=p;
while (i<=q) and (a[i] mod 2 <> 0) do i:=i+1;
if i = q+1
then p:=-1
else p:=i;
i:=q;
while (i>=p) and (a[i] mod 2 = 0) do i:=i-1;
if i = q-1
then q:=-1
else q:=i;
end;
procedure s2(var a,b:integer);
begin
a:=a+b;
b:=a-b;
a:=a-b;
end;
begin
assign(f,'bac.txt'); rewrite(f);
write(' n= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
i:=1; j:=n;
s1(a,i,j);
while (i<>-1) and (j<>-1) and (i<j) do
begin
s2(a[i],a[j]);
s1(a,i,j);
end;
for i:=1 to n do
write(f,a[i],' ');
close(f);
end.
Varianta 10:
b
var a:array[1..100] of integer;
n,i,j,s:integer;
begin
write(' n= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
for i:=1 to n do
begin
s:=0;
for j:=1 to n-i+1 do
s:=s+a[j];
writeln(s);
end;
end.
4.a) var i,n,nr,p2:longint;
f:text;
begin
assign(f,'bac.txt'); rewrite(f);
write(' n= '); read(n);
p2:=1;
for i:=1 to n do
begin
write(' nr= '); read(nr);
while p2<nr do p2:=p2*2;
write(f,p2,' ');
end;
close(f);
end.
4.b) Īn variabila p2 retin puterile lui 2. Initial este 20 adica 1. Citesc, pe rānd, cele n
numere. Daca numarul citit este mai mare decāt p2 aflu care este puterea lui 2
astfel īncāt sa fie respectate conditiile, apoi afisez valoarea determinata.
Programul este eficient deoarece nu foloseste structuri de date pentru a retine
toate elementele sirului si nu determina de fiecare data 2x ci numai adauga la
ultima putere, (daca este necesar). Īn concluzie programul consuma putina
memorie si este rapid.
Varianta 11:
b
type sir=array[1..100]of integer;
var a,b:sir;
n,i,m:integer;
procedure P(a:sir; k:integer; var max:integer);
var i:integer;
begin
max:=a[1];
for i:=1 to k do
if max<a[i]
then max:=a[i];
end;
begin
write(' n= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
for i:=1 to n do
begin
P(a,i,m);
b[i]:=m;
end;
for i:=1 to n do
write(b[i],' ');
end.
var a:array[1..100]of longint;
i,n,np:longint;
function prim(x:longint):boolean;
var d:longint;
begin
d:=2;
while (x mod d <>0)and (x>1) do d:=d+1;
if d=x
then prim:=true
else prim:=false;
end;
begin
np:=0;
write(' N= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= ');
read(a[i]);
end;
for i:=1 to n do
if prim(a[i])
then np:=np+1;
write(' np= ', np);
end.
Varianta 12:
c
Rezolvari Subiectul III
3.a) Citesc primele m numere īntr-un sir apoi urmatoarele n numere pe rānd. Dupa
citirea unui nou numar continu parcurgerea sirului p穗a ajung la o valoare care
nu este mai mica decat cea citita. Fiecare valoare din sir peste care sar este
numarata. Daca ultima valoare parcursa īn sir este diferita de cea citita atunci am
mai descoperit o valoare care apare o singura data.
Programul este eficient deoarece nu retine toate elementele deci consuma
putnna memorie si percurge sirul o singura data deci este rapid.
3.b) var m,n,x,i,j:integer;
a:array[1..101]of longint;
nr:longint;
begin
write(' m= '); read(m);
write(' n= '); read(n);
for i:=1 to m do
begin
write(' a[',i,']= ');
read(a[i]);
end;
x:=0; j:=1;
for i:=1 to n do
begin
write(' nr= ');
read(nr);
while (a[j]<nr) and (j<=m) do begin
x:=x+1;
j:=j+1;
end;
if a[j]<>nr then x:=x+1
else j:=j+1;
end;
write(' Numere distincte: ',x);
end.
var n,i,cd:longint;
function nr(n:longint; c:byte): byte;
var x:byte;
begin
x:=0;
while n >0 do
begin
if n mod 10 = c
then x:=x+1;
n:=n div 10;
end;
nr:=x;
end;
begin
write(' n= '); read(n);
Rezolvari Subiectul III
cd:=0;
for i:=0 to 9 do
if nr(n,i)>0
then cd:=cd+1;
write(' cifre dist: ',cd);
end.
Varianta 13:
d
var i,j,n:integer;
begin
write(' n= '); read(n);
i:=1;
while n>0 do
begin
j:=i;
while (j>0) and (n>0) do
begin
write(j,' ');
j:=j-1;
n:=n-1;
end;
i:=i+1;
end;
end.
var f,g:text;
nr:longint;
procedure P(var n:longint; c:byte);
var i:integer;
s,s2:string[10];
begin
str(n,s); str(c,s2);
for i:=1 to length(s) do
if s[i]=s2
then delete(s,i,1);
val(s,n,i);
end;
begin
assign(f,'bac.in'); reset(f);
assign(g,'bac.out'); rewrite(g);
while not eof(f) do
begin
read(f,nr);
P(nr,1);
P(nr,3);
P(nr,5);
Rezolvari Subiectul III
P(nr,7);
P(nr,9);
if nr>0 then write(g,nr,' ');
end;
close(f);
close(g);
end.
Varianta 14:
b
var f:text;
nr,c:longint;
begin
assign(f,'bac.txt'); reset(f);
c:=0;
while not eof(f) do
begin
read(f,nr);
write(nr,' ');
c:=c+1;
if c mod 5 =0
then writeln;
end;
close(f);
end.
var i,ii:integer;
function prim(n:integer):byte;
var d:integer;
begin
d:=2;
while n mod d<>0 do d:=d+1;
if n=d then prim:=1
else prim:=0;
end;
begin
for i:=11 to 97 do
begin
ii:=i mod 10 * 10 + i div 10;
if (prim(i)=1) and (prim(ii)=1)
then write(i,' ');
end;
end.
Rezolvari Subiectul III
Varianta 15:
b
var n,n5:longint;
begin
n5:=0;
write(' n= '); read(n);
while n<>0 do
begin
while n>0 do
begin
if n mod 10 =5 then n5:=n5+1;
n:=n div 10;
end;
write(' n= '); read(n);
end;
write(' n5= ',n5);
end.
4.a. Consieer initial ultimul nr impar -1. Citesc pe rānd cate un numar si verific
daca este impar. Īn caz afirmativ īl retin. La final daca valoarea din ni este
diferita de -1 絜seamna ca fisierul continea cel putin un numar impar si afisez
valoarea variablei altfel textul cerut.
Algritmul este eficient fiindca prelucreaza o singura data numerele din fisier
si nu foloseste structuri de date (siruri) pentru a rtine elementele
4.b. var f:text;
nr,ni:longint;
begin
ni:=-1;
assign(f,'bac.in'); reset(f);
while not eof(f) do
begin
read(f,nr);
if nr mod 2 <> 0
then ni:=nr;
end;
if ni=-1
then write(' Nu exista numere impare ')
else write(ni);
end.
Varianta 16:
d
var a:array[1..10] of integer;
i,m13:integer;
begin
Rezolvari Subiectul III
write(' Numerele: ');
for i:=1 to 10 do read(a[i]);
m13:=0;
for i:=1 to 10 do
if a[i] mod 13=0
then m13:=m13+1;
write(m13,' ');
for i:=1 to 10 do
if a[i] mod 13 = 0
then write(i,' ');
end.
var f:text;
n:longint;
function cifrak(n:longint; k:byte):byte;
var nc:byte;
begin
nc:=0;
while n>0 do
begin
if n mod 10 = k
then nc:=nc+1;
n:=n div 10;
end;
cifrak:=nc;
end;
begin
assign(f,'numere.txt'); reset(f);
while not eof(f) do
begin
read(f,n);
if cifrak(n,0)=3
then write(n,' ');
end;
close(f);
end.
Varianta 17:
c
function interval(v:sir; d:byte):byte;
var i,ne:byte;
begin
if v[1]>v[n]
then begin
ne:=v[1];
v[1]:=v[n];
Rezolvari Subiectul III
v[n]:=ne;
end;
ne:=0;
for i:=1 to n do
if (v[i]>=v[1]) and (v[i]<=v[n])
then ne:=ne+1;
interval:=ne;
end;
4.a. Pun pe prima pozitie din sir valoarea 0 apoi citesc elementele īn sir īncepand
cu adoua pozitie. La final alelez functia interval si afisez valoarea returnata
4.b. type sir=array[1..100]of integer;
var f:text;
a:sir;
n,i:integer;
function interval(v:sir; d:byte):byte;
var i,ne:byte;
begin
if v[1]>v[d]
then begin
ne:=v[1];
v[1]:=v[d];
v[d]:=ne;
end;
ne:=0;
for i:=1 to d do
if (v[i]>=v[1]) and (v[i]<=v[d])
then ne:=ne+1;
interval:=ne;
end;
begin
assign(f,'numere.txt'); reset(f);
a[1]:=0;
i:=2;
while not eof(f) do
begin
read(f,a[i]);
i:=i+1;
end;
n:=i-1;
write(interval(a,n)-1);
close(f);
end.
Varianta 18:
b
Rezolvari Subiectul III
function count(v:sir; n:byte):byte;
var i,ne:integer;
begin
ne:=0;
for i:=1 to n do
if v[i]>=(v[1]+v[n])/2
then ne:=ne+1;
count:=ne;
end;
4.a. Pun pe prima pozitie din sir valoarea 0 apoi citesc elementele īn sir īncepand
cu adoua pozitie. La final alelez functia count si afisez valoarea returnata
4.b. type sir=array[1..100]of integer;
var a:sir;
n,i:integer;
f:text;
function count(v:sir; n:byte):byte;
var i,ne:integer;
begin
ne:=0;
for i:=1 to n do
if v[i]>=(v[1]+v[n])/2
then ne:=ne+1;
count:=ne;
end;
begin
assign(f,'numere.txt'); reset(f);
a[1]:=0;
i:=2;
while not eof(f) do
begin
read(f,a[i]);
i:=i+1;
end;
n:=i-1;
write(count(a,n));
close(f);
end.
Varianta 19:
a
type sir=array[1..100]of real;
var a:sir;
n,i:integer;
procedure aranjare(var v:sir; n:byte);
Rezolvari Subiectul III
var i,j:byte; aux:real;
begin
i:=1; j:=n;
while i<j do
begin
while (i<j) and (v[i]<0) do i:=i+1;
while (i<j) and (v[j]>0) do j:=j-1;
if i<j
then begin
aux:=v[i];
v[i]:=v[j];
v[j]:=aux;
end;
end;
end;
begin
write(' n= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= '); read(a[i]);
end;
aranjare(a,n);
for i:=1 to n do
write(a[i]:7:2,' ');
end.
4.a. Citesc cele 2 numere apoi citesc, pe rand, cate o linie din fisier si o prelucrez
cu ajutorul subprogramului. Linia prelucrata o scriu in fisierul indicat.
4.b. type sir=array[1..100]of real;
var f,g:text;
n,m,i,j:integer;
a:sir;
procedure aranjare(var v:sir; n:byte);
var i,j:byte; aux:real;
begin
i:=1; j:=n;
while i<j do
begin
while (i<j) and (v[i]<0) do i:=i+1;
while (i<j) and (v[j]>0) do j:=j-1;
if i<j
then begin
aux:=v[i];
v[i]:=v[j];
v[j]:=aux;
end;
end;
end;
Rezolvari Subiectul III
begin
assign(f,'nr1.txt'); reset(f);
assign(g,'nr2.txt'); rewrite(g);
readln(f,n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(f,a[j]);
aranjare(a,m);
for j:=m downto 1 do
write(g,a[j]:7:2,' ');
writeln(g);
end;
close(f);
close(g);
end.
Varianta 20:
c
type sir=array[1..100]of real;
var a:sir;
n,i:integer;
procedure nule(var v:sir; n:byte);
var i,j:byte; aux:real;
begin
i:=1; j:=n;
while i<j do
begin
while (i<j) and (v[i]<>0) do i:=i+1;
while (i<j) and (v[j]=0) do j:=j-1;
if i<j
then begin
aux:=v[i];
v[i]:=v[j];
v[j]:=aux;
end;
end;
end;
begin
write(' n= '); read(n);
for i:=1 to n do
begin
write(' A[',i,']= '); read(a[i]);
end;
nule(a,n);
for i:=1 to n do
write(a[i]:7:2,' ');
Rezolvari Subiectul III
end.
4.a. Citesc cele 2 numere apoi citesc, pe rand, cate o linie din fisier si o prelucrez
cu ajutorul subprogramului. Linia prelucrata o scriu in fisierul indicat.
4.b type sir=array[1..100]of real;
var f,g:text;
n,m,i,j:integer;
a:sir;
procedure nule(var v:sir; n:byte);
var i,j:byte; aux:real;
begin
i:=1; j:=n;
while i<j do
begin
while (i<j) and (v[i]<>0) do i:=i+1;
while (i<j) and (v[j]=0) do j:=j-1;
if i<j
then begin
aux:=v[i];
v[i]:=v[j];
v[j]:=aux;
end;
end;
end;
begin
assign(f,'nr1.txt'); reset(f);
assign(g,'nr2.txt'); rewrite(g);
readln(f,n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(f,a[j]);
nule(a,m);
for j:=m downto 1 do
write(g,a[j]:7:2,' ');
writeln(g);
end;
close(f);
close(g);
end.
|