Escolar Documentos
Profissional Documentos
Cultura Documentos
12. Elaborati o funtie care calculeaza ultima cifra din notatia zecimala a unui numar
function ultima(a:integer):integer;
begin
ultima:=a mod 10;
end;
13. Elaborati o functie care calculeaza numarul de cifre a unui numar
function nr(a:integer):integer;
var c:integer;
begin
while a<>0 do begin
a:=a div 10;
inc(c);
end;
nr:=c;
end;
15. Elaborati o functie care calculeaza produsul cifrelor nenule a unui numar
function prod(a:integer):integer;
var b,s:integer;
begin
s:=1;
while a<>0 do begin
b:=a mod 10;
if b<>0 then s:=s*b;
end;
prod:=s;
programul corect:
program a2;uses crt;
var a:integer;
begin clrscr;
write('a=');
readln(a);
end.
17. Corectati greselile din urmatorul program:
Program 2;
Var a:integers;
Begin clrscr;
readln(a);
a:=a/2;
end,
programul corect:
program a2;uses crt;
var a:real;
begin clrscr;
readln(a);
a:=a/2;
end.
programul corect:
program x5;uses crt;
var a:integer;
begin clrscr;
write(a);
end.
programul corect:
program p26;uses crt;
var a,b:byte;
begin clrscr;
a:=0;b:=a;
end.
20. Scrieti un program care ordoneaza elementele unui vector in ordine crescatoare.
21. Scrieti un program care afla minimumul dintr-un vector cu 100 de componente
program min;uses crt;
var ar:array[1..100]of integer;
n:integer;
i,c:integer;
begin
write('Cite componente are tabloul? : ');readln(n);
for i:=1 to n do begin write(i,'=');readln(ar[i]);
end;
c:=maxint;
for i:=1 to n do if ar[i]<c then c:=ar[i];
writeln;
write('Elementul minim din tabloul dat este : ');writeln(c);
end.
22. Scrieti un program care afla maximumul dintr-un vector cu 100 de componente.
program max;uses crt;
var ar:array[1..100]of integer;
n:integer;
i,c:integer;
begin
write('Cite componente are tabloul? : ');readln(n);
for i:=1 to n do begin write(i,'=');readln(ar[i]);
end;
c:=-maxint+1;
for i:=1 to n do if ar[i]>c then c:=ar[i];
writeln;
write('Elementul maxim din tabloul dat este : ');writeln(c);
end.
23. Scrieti un program care ordoneaza elementele unui vector in ordine descrescatoare.
program sortare;uses crt;
var ar:array[1..100]of integer;
n:integer;
i,j,k:integer;
begin
write('Cite componente are tabloul? : ');readln(n);
write('Introduceti elementele tabloului');writeln;
for i:=1 to n do begin write(i,'=');readln(ar[i]);end;
for i:=1 to n-1 do
for j:=i+1 to n do
if ar[i]<ar[j] then begin
k:=ar[i];
ar[i]:=ar[j];
ar[j]:=k;
end;
writeln;
writeln('Tabloul sortat este : ');
for i:=1 to n do write(ar[i]:4);
end.
Expresia data va fi egala cu a, deoarece in functia sqr are semnificatia de a ridica la patrat, iar
functia are menirea de a extrage radacina patrata.
27. Se da functia:
function m(a:integer):string;
begin
case a of
0..9: m:=cifra;
10..99:m:=numar;
end;
end;
Cu ce va fi egal a(33)?
Aceasta functie primeste valaorea 'cifra' daca valoarea transmisa de parametrul actual este
cuprins intre 0 si 9 inclusiv, si primeste valoare 'numar' daca valoare transmisa de parametrul
actual este cuprins intre 10 si 99 inclusiv. In cazul dat avem a(33) , deci functia va avea
valoarea 'numa'.
28. Fie descrierea functiei:
Function position(x:string,ch:char);
Var i:integer;
Begin
For I:=a to length(x) do
If x[i]=ch then position:=I;
End.
Ce valoare va avea position(calcar,a)?
Aceasta funtie calculeaza positia ultimei aparitii a unui caracter intr-un sir de caractere, deci
position('calcar','a') este egal cu 5.
Functia pow din acest program are menirea de a ridica parametrul a la puterea b, deci programul
dat va afisa 8.
Acest program va afisa 2, doarece la inceput se ridica 2 la patrat si din rezultat se extrage
radacina patrata, deci rezultatul este 2.
Acest program transforma o litera minuscula a alfabetului latin intr-o litera majuscula, deoarece
in codul ASCII litera minuscula se deosebeste de cea majuscula cu exact 32 de pozitii.