Documente Academic
Documente Profesional
Documente Cultură
Disciplina: Informatica
Lucrrile de laborator
la Limbajul Pascal
ANUL II
Chiinu, 2015
LUCRARE DE LABORATOR NR. 1
Tema: Funcii
I. Obiectivul temei.
1.1. S defineasc noiunea de funcie, formatul general al funciei;
1.2. S elaboreze programe n care se utilizeaz funcii predefinite i definite de
utilizator.
Tema: Proceduri
I. Obiectivul temei.
1.1 S defineasc noiunea de procedur n diverse contexte;
1.2 S elaboreze programe n care se utilizeaz procrduri predefinite i definite de
utilizator.
II. Sarcina: Elaborai un program ce conine o procedur care calculeaz ntr-un tabel liniar
arbitrar de numere ntregi:
Suma elementelor inpare de pe locurile inpare i numrul lor;
1.1. Programul in limbajul Pascal
Program P2;
Type tab=array[1..100] of integer;
var n,s,k: integer;
procedure f(var k,s,n:integer);
var i:integer;
b:tab;
begin
for i:=1 to n do
read(b[i]);
for i:=1 to n do
if odd(b[i]) then s:=s+b[i];
for i:=1 to n do
if odd(b[i]) then k:=k+1;
end;
begin
write('dati nr.de elemente '); readln(n);
f(k,s,n);
writeln('Suma=',s);
write('Nr. de elemente ',k);
end.
1.2 Fereastra programului in pascal:
1.3 Rezultatele obtinute la executia programului.
Sarcina: Se d tabloul A[1..3,1..4] de numere ntregi, de alctuit algoritmul, care va determina cte
elemente sunt mai mari sau egale dect media aritmetic a elementelor acestui tablou, utiliznd
procedura.
end;
begin
write('Dati nr. de elemente ');
readln(n);
writeln('Dati elementele');
f(n,k);
write('Cite elemente sunt mai mari sau egale decit media ',k);
end.
2.2 Fereastra programului in pascal:
I. Obiectivele temei.
1.1. S elaboreze programe n care se utilizeaz comunicarea prin variabile globale;
1.2. S elaboreze programe n care nu apar efecte colaterale
Sarcina: Se consider fiiere arbitrare de text. Elaborai o procedur ce:
Textul
Program P3;
var nr:integer;
function f(nr:integer): integer;
var i:integer;
s:string;
m:text;
begin
assign(m,'test.in'); reset(m); read(m,s);
for i:=1 to length(s) do
if s[i] in ['a','e','i','o','u'] then nr:=nr+1;
f:=nr;
end;
begin
nr:=f(nr);
writeln('Sunt ',nr,' vocale');
readln;
end.
III Fereastra programului in pascal:
V. Concluzie.
Pe parcursul elaborrii acestei lucrri nu am ntlnit dificulti fiindc am nvat bine aceast
tem.
LUCRARE DE LABORATOR NR. 4
I. Obiectivele temei.
Text
Program P3;
var nr:integer;
procedure f(var nr:integer);
var i:integer;
s:string;
m:text;
begin
assign(m,'test.in'); reset(m); read(m,s);
for i:=1 to length(s) do
if s[i] in ['a','e','i','o','u'] then nr:=nr+1;
end;
begin
f(nr);
writeln('Sunt ',nr,' vocale');
readln;
end.
III. Fereastra programului in pascal:
I. Obiectivele temei.
Apelul F(0)determin evaluarea direct a funciei i oprirea procesului repetitiv; urmeaz revenirile din apeluri i
evaluarea lui F pentru 1, 2, ..., 6, 7, ultima valoare fiind ntoarcerea n locul primului apel.
Funcia
function Fib(n:Natural):Natural;
begin
if n=0 then Fib:=0 else
if n=1 then Fib:=1 else
Fib:=Fib(n-1)+Fib(n-2)
end; {Fib}
Fiecare apel al funciei Fib pentru n>1 genereaz dou apeluri Fib(n-1),Fib(n-2) .a.m.d., de exemplu:
Fib(4) ->
Fib(3), Fib(2) ->
Fib(2), Fib(1), Fib(1), Fib(0) ->
Fib(1), Fib(0).
Sarcina: De elaborat un program care conine o funcie recursiv ce calculeaz:
2) P(n)= 1*2*3*4*5*...
VI. Concluzie.
Pe parcursul elaborrii acestei lucrri am ntlnit dificulti fiindc nu am nvat aceast tem.