Você está na página 1de 8

1. Dati definitia de subprogram.

Subprogramul este o secventa de instructiuni destinata aflarii solutiei unei subprobleme.

2. Dati definitia de functie


Functia este un subprogram care calculeaza si returneaza o valoare.

3. Dati definitia de procedura


Procedura este un subprogram care efectueaza prelucrarea datelor comunicate in momentul
apelarii

4. Dati definitia de parametri actuali a functiei.


Parametri actuali a functiei sint expresii, valorile carora sunt comunicate functiei.

5. Dati definitia de parametru valoare.


Parametru valoare se numeste o expresie, valoarea careia este transmisa din programul
principal in procedura.

6. Dati definitia de parametru-variabila.


Parametru-variabila se numeste variabila care serveste pentru returnarea unei valori dintr-o
procedura in programul principal.

7. Dati definitia de domeniu de vizibilitate


Domeniu de vizibilitate este textul de program, in care numele introdus desemneaza obiectul
specificat de declaratia in studiu.

8. Dati definitia de recursie


Recursia se defineste ca o situatie in care un subprogram se autoapeleaza fie direct, fie prin
intermediul altei functii sau proceduri.

9. Elaborati o functie care calculeaza suma numerelor intregi a,b,c,d


function suma(a,b,c,d:integer):integer;
begin
suma:=a+b+c+d;
end;

10. Elaborati o functie care calculeaza media numerelor intregi i,j,k,m;


function media(i,j,k,m:integer):real;
begin
media:=(i+j+k+m)/4;
end;

11. Elaborati o functie care calculeaza maximul dintre numerele a si b


function max(a,b:integer);
begin
if a>b then max:=a else max:=b;
end;

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;

14. Elaborati o functie care calculeaza suma cifrelor unui numar


function suma(a:integer):integer;
var b,s:integer;
begin
while a<>0 do begin
b:=a mod 10;
a:=a div 10;
s:=s+a;
end;
suma:=s;
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;

16. Corectati greselile din urmatorul program:


Program 2a;uses crt;
Var a:integer;
Begin clrscr;
Write(a);
Readln(a);
End;

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.

18. Corectati greselile din urmatorul program:


Program x5;
Var a:x;
Begin clscr;
Write(a));
End;

programul corect:
program x5;uses crt;
var a:integer;
begin clrscr;
write(a);
end.

19. Corectati greselile din urmatorul program:


Program 26;use crt;
Var a:byte;
Begin clrscr;
A:=0;b:=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.

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.

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.

24. Se considera urmatoare procedura:


Procedure swap(var a,b:Integer);
Var c:integer;
Begin
C:=a;
A:=b;
B:=c;
End;
Care va fi rezultatul executiei programului daca de la tastatura se introduc a=5 si b=7?

In rezultatul executiei programei variabila a va avea valoare 7, iar valoarea variabilei b va fi


egala cu 5, adica aceasta procedura interschimba valorile variabilelelor a si b , care sunt
parametri valoare.

25. Se considera functia:


function max(a,b:Integer):integer;
begin
if a>b then max:=a else max:=b;
end;
Cu ce va fi egala valoarea funtiei max(5,7)?

Aceasta functie calculeaza maximul dintre 2 numere, deci max(5,7) va fi egala cu 7.


26. Cu ce va fi egala urmatoare expresie sqrt(sqr(a))?

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.

29. Ce va tipari urmatorul program daca de la intrare se introduc 5 si 2?


Program p1;uses crt;
Var a,b,c:real;
Begin clrscr;
Write(a=);
Readln(a);
Write(b=);
Readln(b);
C:=frac(sqrt(a mod b));
Write(c:2:0);
End
programul dat va tipari cifra 0.
.
30. Ce va afisa urmatorul program?

Program a;uses crt;


Var a,b,c,d:integer;
Function pow(a,b:integer):integer;
Var i:integer;
Begin
Pow:=1;
For i:=1 to b do
Pow:=pow*a;
End.
Begin clrscr;
A:=2;
B:=3;
C:=pow(a,b);
Write(c);
End.

Functia pow din acest program are menirea de a ridica parametrul a la puterea b, deci programul
dat va afisa 8.

31. Fie descirerea functiei:


Function a(x,y:string):string;
Begin
A:=x+y;
End;.
Ce valoare va avea a(teza, la informatica )?

Aceasta functie concateneaza 2 siruri de caractere, deci valoarea va fi 'teza la informatica'


32. Ce va tipari urmatorul program
Program p;uses crt;
Var a,b,c:integer;
Begin
Write(a=);
Readln(a)
B:=sqr(a);
C:=sqrt(b);
La intrare se introduce 2

Acest program va afisa 2, doarece la inceput se ridica 2 la patrat si din rezultat se extrage
radacina patrata, deci rezultatul este 2.

33. Se considera programul:


Program p1;uses crt;
Var a:integer;
C:char;
Begin
Write(Introduceti o litera minuscula a alfabetului = );readln(c);
A:=ord(a)+32;
Write(chr(a));
End.
Ce va afisa programul?

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.

34. Dati notiunea de modul.


Modulul este un produs program format din descrieri de date si subprograme destinate prelucarii
acestora.
35. Cum se mai numeste modulul principal?
Modulul principal mai este numiti si program.
36.Cu ce se incepe sectiunea de interfata?
Sectiunea de interfata se incepe cu cuvintul rezervat interface
37.Cu ce se incepe sectiunea de implementare?
Sectiunea de implementare se incepe cu cuvintul rezervat implementation.
38.Cu ce se incepe sectiunea de initializare?
Sectiunea de initializare se incepe cu cuvintul rezervat begin
39. Cum sint impelementate modulele in Turbo Pascal?
In Turbo Pascal modulele sunt implementate prin unitati de program.
40.Ce este testarea?
Testarea este o etapa in elaborarea programelor ce are ca scop eliminarea erorilor.
41.Cum se numeste setul de date de intrare pentru testarea unui program?
Setul de date de intrare pentru testarea unui program mai este numit date de testare.
42.Cum se mai numeste testarea functionala?
Testarea functionala se mai numeste metoda cutiei negre.
43.Cum se mai numeste testarea structurala?
Testarea structurala se mai numeste metoda cutiei transparente
44.Ce se numeste depanarea programului?
Depanarea programului consta in localizarea zonelor din program care au condus la aparitia
erorii, indentificarea cauzelor erorii si eliminarea acestora.
45.Cite feluri de depanare a programului exista?
Exista 2 feluri de depanare: depanarea statica si depanare dinamica.
46.Cum se realizeaza testarea in cazul metodei depanarii statice?
In cazul metodei depanarii statice cauzele erorii se stabilesc, analizind rezultatele derularii
programului si mesajele sistemului de operare.
47.Cum se realizeaza testarea in cazul metodei depanarii dinamice?
In metoda depanarii dinamice localizarea erorilor se face urmarind executarea programului la
nivel de instructiuni
48.Ce urmareste programarea modulara?
Programarea modulara urmareste reducerea complexitatii programelor mari prin descompunerea
acestora in module.

Você também pode gostar