Documente Academic
Documente Profesional
Documente Cultură
clasa a XI-a
Grup colar Mreti
1. Generaliti
Toate exemplele de pn acum, erau alctuite dintr-un singur bloc de instruciuni,
cuprinse ntre begin i end numit modul principal sau program principal. Limbajul de
programare Pascal permite gruparea instruciunilor i n mai multe blocuri de instruciuni numite
subprograme.
Programele vor fi mult mai clare, mai uor de urmrit i corectat.
Dac grupm instruciunile ntr-un subprogram, trebuie s comandm execuia secvenei
respective. Vom spune c apelm subprogramul.
Scopul organizrii n subprograme este acela de a apela subprogramul de mai multe ori,
fr ca s existe o regul care s dicteze repetarea.
Blocul de program din interiorul cruia se apeleaz un subprogram, poart numele de
modul apelant. Acesta poate fi programul principal sau chiar un alt subprogram. Aadar
subprogramele se pot apela unul pe altul.
La fiecare apel al unui subprogram, modulul apelant poate transmite acestuia nite date,
pe care subprogramul le va folosi atunci cnd se execut. Aceste date se numesc parametri. La
fiecare execuie a sa, n urma unui apel, subprogramul poate s lucreze cu alte date, pe care le-a
recepionat sub forma unor parametri. Exist i subprograme fr parametri, care opereaz direct
asupra variabilelor programului.
Orice subprogram are un identificator (un nume ales de noi) i eventual un set de
parametri.
Exemplu: Fie un program structurat astfel:
P modul/program principal
P1,P2 subprograme
P este modul apelant pentru P1 i P2
P1 este modul apelant pentru P2
P
P1
P2
clasa a XI-a
Grup colar Mreti
2. Proceduri
2.1 Declarare i apel. Variabile globale i locale
Exemplu: Fie dou numere reale a i b, realizeaz un program care afieaz media
aritmetic a celor dou numere.
Vom prezenta, pentru comparaie:
varianta cu un singur modul principal(Varianta V1)
varianta n care folosim o procedur pentru calcularea mediei aritmetice (Varianta
V2)
{Varianta V1}
program sub_1;
var ma,a,b:real;
begin
write(a,b:);
readln(a,b);
{1}
ma:=(a+b)/2;
{2}
writeln(ma:,ma:8:2);{3}
readln;
end.
{Varianta V2}
program sub_2;
var ma,a,b:real;
procedure calcul_media;
begin
ma:=(a+b)/2;
{2}
writeln(ma:,ma:8:2);{3}
end;
begin
write(a,b:);
readln(a,b);
{1}
calcul_media;
{4}
readln;
end.
{5}
clasa a XI-a
Grup colar Mreti
Sunt aceste variabile cunoscute de procedur, dei ele au fost stabilite n afara acesteia?
Da, deoarece variabilele a i b au fost declarate la nceputul programului, deci valorile lor sunt
vzute n tot programul. Ele se numesc variabile globale.
Funcionarea programului de mai sus este urmtoarea:
Se ncepe execuia programului principal cu
citirea de la tastatur a numerelor a i b {1}
Este apelat procedura calcul_media {4}: n
acest moment programul principal e abandonat i se
execut corpul procedurii:
- Calculeaz media aritmetic a numerelor a i b
{2}. Evident variabilele a i b vor fi nlocuite cu
valorile lor.
De exemplu pentru a=3 i b=4 avem:
ma:=(a+b)/2=(3+4)/2=3.5
- Afieaz media aritmetic ma, adic valoarea
3.5
Program principal
Citete a i b
apel
Procedura
revine
clasa a XI-a
Grup colar Mreti
Begin{Program principal}
{corpul programului}
<id_proc1>;{apel proceduri}
<id_proc2>;
end.
<id_proc> -identificatorul (numele) procedurii
Comparnd {Varianta V2} i {Varianta V3} putem formula cteva concluzii:
Domeniu de vizibilitate al unei variabile(constante) = zona din program n care
este vzut declaraia acesteia, adic zona de program n care e cunoscut valoarea sa.
Dac o variabil e declarat n interiorul unui subprogram = variabil local.
Dac o variabil e declarat la nceputul programului principal = variabil
global.
Putem avea ntr-un program o variabil local i una global cu acelai nume. n
acest caz, n subprogramul n care a fost declarat, variabila local ascunde variabila global
cu acelai nume, adic n timpul execuiei subprogramului este vzut valoarea variabilei
locale, iar n afara subprogramului este cunoscut variabila global.
clasa a XI-a
Grup colar Mreti
P2
var
m:integer;
P3
Astfel:
- variabila x, fiind global, este vizibil n tot programul, adic n modulul principal P
i n procedurile P1, P2, P3.
- Variabila b, ea nu e vizibil n modulul principal P i nici n procedura P2.
- variabila m, fiind variabil local n procedura P2, este vizibil n procedura P2
I.
Sarcin de lucru
Se consider urmtorul program:
Program sl1;
Var x: integer;
Procedure P1;
Var y:integer;
Begin
P2;
End;
Procedure p2;
Var z:integer;
Begin
{corpul procedurii}
End;
Procedure p3;
Var m:integer;
Begin
P1;
end;
begin{modul principal P}
p3;end.
x- _____________________________________
y- _____________________________________
z- _____________________________________
m- _____________________________________
clasa a XI-a
Grup colar Mreti
Probleme rezolvate:
1. Scriei un program care determin volumul unui con de raz r i nlime h,
citite de la tastatur. Se va verifica i condiia ca r i h s fie numere pozitive.
Soluie: Definim trei variabile: v volumulconului, r raza, h nlimea i constanta
(pi)=3.14
Algoritmul problemei presupune parcurgerea urmtoarelor etape:
Varianta b
{cu o procedur, volum_con, care
calculeaz volumul conului}
program spb1b;
var r,h:integer;
v:real;
const pi=3.14;
procedure volum_con;
begin
{2}if (r>0) and (h>0) then
begin
{3}v:=(pi*r*h)/3;
{4}writeln(volumul:,v:6:2);
end
else
{5}writeln(Eroare);
end;
begin
{1}write(r,h:);readln(r,h);
volum_con; {6-apel procedur}
readln;
end.
program spb1a;
var r,h:integer;
v:real;
const pi=3.14;
begin
{1}write(r,h:);readln(r,h);
{2}if (r>0) and (h>0) then
begin
{3}v:=(pi*r*h)/3;
{4}writeln(volumul:,v:6:2);
end
else
{5}writeln(Eroare);
readln;
end.
clasa a XI-a
Grup colar Mreti
Soluie: Fie nrp i nrn numrul elementelor pozitive respective numrul elementelor
negative din ir. Iniializm nrp:=0 i nrn:=0. Citim pe rand elementele irului n aceeai
variabil x, mai apoi, ntr-un ciclu :
Repet
Prelucrez elementul x tocmai citit:
- dac este pozitiv, mrim cu 1 nrp (nrp:=nrp+1)
- n caz contrar, mrim cu 1 nrn (nrn:=nrn+1)
Citim urmtorul element tot n variabila x:
Pn cnd am introdus la citirea lui x valoarea 0.
Dup ncheierea ciclului, afiez valorile pentru nrp i nrn.
Varianta a
{cu un singur modul principal}
Program spb2a;
Var x,nrp,nrn:integer;
Begin
{citesc separate primul element}
Write(x:);readln(x);
{iniializez nrp i nrn}
nrp:=0; nrn:=0;
repeat
if x>0 then
nrp:=nrp+1
else
nrn:=nrn+1;
{citesc urmtorul element n variabila x}
readln(x)
until x=0;
writeln(nrp:,nrp,nrn:,nrn);
end.
Varianta b
{cu o procedur, prel_elem }
Program spb2b;
Var x,nrp,nrn:integer;
Procedure prel_elem;
Begin
if x:0 then
nrp:=nrp+1
else
nrn:=nrn+1;
end;
Begin{PP}
Write(x:);readln(x);
nrp:=0; nrn:=0;
repeat
prel_elem;
write(x:);readln(x)
until x=0;
writeln(nrp:,nrp,nrn:,nrn);
readln;
end.
3. Ce se va afia n urma execuiei programului de mai jos, pentru n=3:
program suma_a_n_elemente;
var s,n,i:integer;
procedure suma;
begin
s:=0;
for i:=1 to n do
s:=s+i;
end;
begin{PP}
write(n:);readln(n);
suma;
writeln(Suma este:,s);
readln;
end.
Soluia:
1. Citete n=3 n programul principal
2. Apelez procedura suma;
s=0
Pas1:
i=1 s=s+i
s=0+1=1
Pas2:
i=2 s=s+i
s=1+2=3
Pas3:
i=3 s=s+i
s=3+3=6
Pas4:
i=4 4>3 STOP
Abandonez procedura, m ntorc n
programul principal
3. Afiez rezultatul: s=6
8
clasa a XI-a
Grup colar Mreti
II.
1. Scrie un program care afieaz suma numerelor dintr-un ir date de
la tastatur atta timp ct nu s-a dat valoarea 0, care nu face parte din
ir.
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Sarcin de lucru
Sarcin de lucru
Sarcin de lucru
clasa a XI-a
Grup colar Mreti
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Autoevaluare I
1. Care sunt deosebirile ntre o variabil global i o variabil local?
2. Ce se nelege prin modul apelant? Cum are loc execuia unei proceduri n urma
apelului?
3. Pentru fiecare din afirmaiile de mai jos, precizai dac este adevrat sau fals:
a.
b.
n cazul n care conine cel puin dou instruciuni, corpul unui subprogram
este cuprins ntre begini end
c.
4. Pentru fiecare din mrimile indicate mai jos, s se scrie un program care, folosind o
procedur, calculeaz i afieaz mrimea respectiv. Se vor verifica i condiiile alturate
formulelor.
x 2 1, pentru x 3
f ( x ) x 2, pentru x ( 3,3 )
2
x 4 x 5, pentru x 3
7. Scrie o procedur care tiprete numerele naturale impare mai mici sau egale cu o
valoare dat n. Exemplu: pentru n=8, se vor afia 1, 3, 5, 7.
8. Se citesc succesiv de la tastatur elementele unui ir de numere ntregi, pn la
ntlnirea valorii 0, care nu face parte din ir. S se afieze media aritmetic a elementelor din ir.
Programul va conine o singur procedur.
10
clasa a XI-a
Grup colar Mreti
11
clasa a XI-a
Grup colar Mreti
Procedura calcul_media trebuie s poat calcula i afia media aritmetic pentru oricare
dou numere reale. De aceea aceste numere vor fi transmise efectiv ca parametric procedurii
atunci cnd aceasta este apelat. Pentru a realize acest lucru definim n antetul procedurii doi
parametri a i b de tipul real, care sunt de fapt nite simboluri(nu au nici o valoare n momentul
definirii), se numesc parametric formali.
Antetul procedurii va arta astfel:
procedure calcul_media(a:real;b:real);
Corpul procedurii va rmne la fel.
Pentru a se executa procedura aceasta trebuie apelat. La apel, se precizeaz numele
procedurii i valorile concrete ale parametrilor, aceste valori se numesc parametri
actuali(efectivi).
Acest mod de transmitere a parametrilor se numete transmiterea patrametrilor prin
valoare.
Cnd este apelat o oprocedur modulul principal e abandonat temporar i se
execut procedura. n acest moment parametri formali sunt nlocuii n tot corpul
procedurii cu parametri efectivi.
Dup terminarea execuiei procedurii, se revine imediat n programul principal
la linia imediat urmtoare celei care a fcut apelul.
Parametrii transmii prin valoare se comport ca nite variabile locale.
12
clasa a XI-a
Grup colar Mreti
!
Valorile parametrilor actuali pot fi: constante, variabile, valori ale variabilelor
obinute prin atribuire sau citire, valori ale unor expresdii, valori returnate de funcii.
Parametri actuali trebuie s corespund ca num, ordine i tip cu parametri
formali.
Exemplu:
Sintaxa procedure
unei proceduri
cu parametri este:
Fie procedura:
test(x,y:integer;z:real);
Apelul: test(5,3.5,-2.1); va genera eroare deoarece al doilea parametru
Procedure <id_proc>(<l1>:<tip1>;<l2>:<tip2>;<l3>:<tip3>;.);
efectiv(actual) este 3.5 este un numr real, iar parametru formal y este de tipul integer.
{declaraii de variabile locale }
Deci, n concluzie:
Begin
{corpul procedurii}
end;
Apelul unei proceduri: <id_proc>(<l1>,<l2>,<l3>,);
<l1>,<l2>,<l3>, sunt liste de parametri, ea poate conine unul sau
clasa a XI-a
Grup colar Mreti
Probleme rezolvate:
1. Se citesc de la tastatur n triplete de numere ntregi. Pentru fiecare dintre ele s se
verifice dac numerele care-l compun pot forma laturile unui triunghi., apoi n caz afirmativ se
va afia aria triunghiului calculat cu formula lui Heron, iar n caz contrar se va afia un mesaj de
eroare. Pentru testarea unui triplet se va folosi o procedur care primete ca parametric cele tri
numere.
Soluie:
Reamintim: Aria trunghiului prin formula lui Heron se calculeaz astfel:
At
p ( p a ) ( p b ) ( p c ) , unde p
Exemplu numeric:
Pentru n=4 i tripletele:
346
149
333
-2 -1 0
abc
2
se afieaz
5.33
nu e triunghi
3.90
nu e triunghi
clasa a XI-a
Grup colar Mreti
var p,A:real;
begin
{dac numerele a, b, c pot fi laturile unui triunghi}
if (a>0) and (b>0) and (c>0) and (a+b>c) and (a+c>b) and (b+c>a) then
begin
{tiprete aria triunghiului de laturi a, b, c}
p:=(a+b+c)/2;
A:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(Aria triunghiului:,A:6:2);
end
else
writeln(Nu este triunghi!);
end;
begin{PP}
write(Numrul de triplete:);readln(n);
{citire numere, testare triunghiuri i scriere arii/mesaje}
for i:=1 to n do
begin
readln(x,y,z); {la fiecare pas citesc cte un triplet}
scriere_triunghi(x,z,y);
end;
readln;
end.
Realizeaz un program care calculeaz i afieaz suma a n
elemente dintr-un vector. Programul va conine 2 proceduri: una pentru
citirea elementelor care va conine un parametru; a doua pentru calculul
sumei.
_______________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Sarcin de lucru
III.
15
clasa a XI-a
Grup colar Mreti
________________________________________________________________
Autoevaluare II
parametrilor
transmii
la
apelul
unui
subprogram
pot
fi..
c. Dup
execuia
unui
subprogram,
se
revine
modulul
appellant
la
linia.
3. Scrie o procedur care calculeaz i afieaz aria unui paralelogram: A=d1*d2*sin b,
16
clasa a XI-a
Grup colar Mreti
4. Scrie o procedur care afieaz numerele naturale divizibile cu 3, mai mici dect o
valoare n, transmis ca parametru.
5. Scrie o procedur care verific dac un numr natural x transmis ca parametru este
ptrat perfect, n caz afirmativ l afieaz. (Un numr este ptrat perfect dac radicalul su este
ntreg, este egal cu partea ntreag din radical, adic sqrt(x)=trunc(sqrt(x)))
Exemplu:
Se citesc de la tastatur dou perechi de numere (a1,b1) i (a2,b2). S se calculeze media
aritmetic a numerelor fiecrei perechi apoi s se determine cea mai mare dintre mediile
obinute.
Soluie: Dac folosim o procedur care calculeaz media aritmetic a dou numere
oarecare a i b, ar fi necesar s se execute de dou ori, mai mult ar trebui ca cele dou medii s
fie memorate n dou variabile diferite, Ma1 i Ma2, care apoi trebuie comparate pentru a o
determina pe cea mai mare dintre ele.
Pentru a evita acest lucru vom folosi pentru declararea mediei un parametru gol care nu
are nici o valoare la apel. El va primi o valoare concret n timpul execuiei procedurii, numinduse parametru transmis prin referin, cnd l vom defini va fi precedat de cuvntul cheie var.
17
clasa a XI-a
Grup colar Mreti
Funcionarea programului:
- {1} citim numerele a1 i b1
- {2} facem apelul procedurii
calcul_media(a1,b1,Ma1); Astfel, n timpul
execuiei procedurii vor avea loc nlocuirile:
aa1, bb1, maMa1, deci se va calcula
media aritmetic a numerelor a1 i b1, ce va
fi memorat n Ma1.
- {3} citesc numerele a2 i b2
- {4} facem apelul procedurii
calcul_media(a2,b2,Ma2); Astfel, n timpul
execuiei procedurii vor avea loc nlocuirile:
aa2, bb2, maMa2, deci se va calcula
media aritmetic a numerelor a2 i b2, ce va
fi memorat n Ma2.
! Ma1 i Ma2 sunt variable globale,
de aceea valoarea pe care o primesc prin
apelul procedurii este vzut n tot
programul. Astfel se trece la determinarea
celei mai mari medii.
Probleme rezolvate:
1. Scrie un program care interschimb ntre ele dou numere reale, date ca parametric,
folosind metoda paharelor.
Soluie: Pentru a rezolva problema, prin metoda paharelor, vom folosi o variabil
auxiliar care ne va ajuta s realizm interschimbarea (aux).
Programul va fi:
Exemplu numeric: Fie a=7 i b=5
Program sub6;
apelez
procedura schimba(a,b), deci x a i y
Var a,b:integer;
b (parametri formali se nlocuiesc cu cei
Procedure schimba(var x,y:integer);
actuali)
{interschimb x i y ntre ele}
Var aux:integer;
- n procedur se realizeaz:
Begin
aux:=a aux:=7
aux:=a;
a:=b a:=5
a:=b;
b:=aux b:=7,
b:=aux;
- se revine n programul principal unde se
afieaz noile valori pentru a i b
a:=5
18
b:=7,
clasa a XI-a
Grup colar Mreti
Autoevaluare III
Autoevaluare III
19
clasa a XI-a
Grup colar Mreti
end;
begin
x:=3; y:=5;
test(x,y);
write(x,y);
test(x,y);
write(x,y);
end.
4. Scrie o procedur care returneaz numrul elementelor positive i numrul elementelor
negative dintr-un ir de numere citite de la tastatur pn la ntlnirea valorii 0, care nu face parte din ir.
Procedura va ntoarce valorile cerute prin intermediul unor parametric transmii prin referin.
clasa a XI-a
Grup colar Mreti
Programul poate fi scris i folosind transmiterea celor dou valori ca parametri transmii
prin valoare, calculnd media aritmetic pentru dou perechi de numere (a1,b1) i (a2,b2). Forma
programului este:
Program f2;
Var ma1,ma2,a1,b1,a2,b2:real;
Function calcul_media(a,b:real):real;
Begin
Calcul_media:=(a+b)/2;
End;
Begin
Write(a1,b1:);readln(a1,b1);
ma1:=calcul_media(a1,b1);
Write(a2,b2:);readln(a2,b2);
ma2:=calcul_media(a2,b2);
Writeln(Ma1:, ma1);
Writeln(Ma2:, ma2);
End.
21
clasa a XI-a
Grup colar Mreti
3. S se calculeze expresia:
E 1 3 2 5 3 7 .... n 2 n 1
Soluie:
Ne reamintim: Pentru a calcula suma
vom folosi un ciclu for n care i=1, 2,n.
Pentru fiecare valoare a lui i se adaug la E
termenul care se obine pentru respectiva valoare
a lui i:
E:=0;
for i:=1 to n do
E:=E+i*(2*i+1)
22
program f2;
var n:integer;
function suma(n:integer):real;
var k:integer;E:real;
begin
E:=0;
for i:=1 to n do
E:=E+i*(2*i+1)
suma:=E;
end;
begin
write(n:);readln(n);
writeln(E:,suma(n):6:2);
end.
clasa a XI-a
Grup colar Mreti
4. Scrie o funcie care returneaz suma cifrelor unui numr natural x dat ca parametru.
Ne reamintim: Cifrele unui numr se extrag de la dreapta la stnga, cu urmtorul algoritm
bazat pe un ciclu de mpriri la 10:
d:=x;
{d dempritul, c -cifra extras, x - numrul}
Repeat
c:=d mod 10;
<prelucreaz cifra extras c>
d:=d div 10 {ctul mpririi va fi noul demprit}
until d=0;
Soluia:
Folosind cele de mai sus, putem scrie programul, pentru calcularea sumei folosimo
funcie function suma_cifre(x:longint):integer;
Program f3;
var x: integer;
function suma_cifre(x:longint):integer;
var c,s:integer;d:longint;
begin
d:=x; s:=0;
Repeat
c:=d mod 10;
s:=s+c;
d:=d div 10
until d=0;
suma_cifre:=s;
end;
begin
write(Dati numarul:);readln(n);
write(Suma cifrelor lui ,x, este:, suma_cifre(x));
end.
Autoevaluare IV
1. Ce este o funcie? Prin ce se deosebete o funcie de o procedur?
2. Pentru fiecare dintre afirmaiile de mai jos, precizai dac este adevrat sau fals:
a. O funcie trebuie s aib cel puin un parametru formal;
b. Nu se poate transmite ca parametru unei funcii, o variabil care aparine unui tip
anonim;
c. variabilele de tip array nu se pot transmite ca parametri;
d. Valoarea returnat de o funcie poate fi afiat
3. Precizai ce va afia urmtorul program:
23
clasa a XI-a
Grup colar Mreti
4. Gsii erorile din programul de mai jos, dup care precizai ce afieaz programul:
program test;
var a,b.integer;
function test(p,q:integer):boolean;
begin
test:=(p+q)/4;
end;
begin
a:=5.3; b:=3.1;
writeln(test(a,b));
end.
4. Recapitulare
1. Precizeaz, pentru fiecare din afirmaiile de mai jos dac este adevrat sau fals,
justificnd rspunsul:
a. parametrii actuali ai unei proceduri/funcii trebuie s coincid ca numr i tip cu
parametrii formali.
b. parametrii actuali ai unei proceduri/funcii sunt nite simboluri, iar cei formali sunt
nite valori concrete cu care lucreaz subprogramul
c. Valoarea returnat de ctre o funcie poate fi transmis ca parametru altui subprogram.
24
clasa a XI-a
Grup colar Mreti
Soluie:
a - FALS, parametrii actuali trebuie s corespund ca numr, tip i ordine cu parametrii
formali
b FALS, invers, parametrii formali sunt cei precizai la declararea funciei i sunt
nite simboluri, n timp ce parametri actuali se transmit la apelul subprogramului i sunt valori
concrete ale parametrilor formali.
c ADEVRAT
2. Pentru fiecare afirmaie din coloana A, alegei din coloana B noiunea pe care o
definete:
Coloana A
a. o variabil ale crui valori sunt cunoscute
numai n subprogramul n care a fost declarat i
n subprogramele apelate de acesta
b. o valoare concret a unui parametru, care se
transmite la apelul unui subprogram
c. o variabil ale crei valori sunt cunoscute n
tot programul
5.
d. un simbol definit la declararea unui subprogram
Soluie:
a5
b6
c2
Coloana B
1. valoarea unei variabile
2. variabil global
3. valoare returnat
4. parametru formal
5. variabil local
6. parametru actual
d4
Soluie:
a. La nceput, cu b=1, condiia b>0 este ndeplinit, deci se intr n ciclu.
25
clasa a XI-a
Grup colar Mreti
c. Dup execuia apelului procedurii se obine: a=9 i b=0, pentru c valoarea lui b poate fi
vzut i n programul principal.
4. Scrie o funcie care calculeaz de cte ori apare un n numr natural n, transmis ca parametru,
ntr-un ir de numere citit n modulul principal pn la ntlnirea valorii 0, care nu face parte din ir.
Soluie:
function numarare(n:integer):integer;
begin
nr:=0;{utilizat pentru numarare}
while x<>0 do
begin
if x=n then
nr:=nr+1;
readln(x);
end;
numarare:=nr;
end;
Sarcin de lucru
IV.
1. Scrie un program care calculeaz i afieaz, n funcie de dorina utilizatorului, aria
unui ptrat de latur L, sau dreptunghi de laturi L i l sau aria unui cerc de raz r, sau aria unui
triunghi dcu baza b i nlimea h. Pentru calculul fiecreia dintre ele se va folosi cte o
procedur.
2. Scrie un program pentru calculul valorii expresiei de mai jos, folosind dou funcii:
3 x 2 , pentru x 1
3. Scrie o funcie care ntoarce oglinditul unui numr natural x transmis ca parametru.
26
clasa a XI-a
Grup colar Mreti
Bibliografie
G.Mateescu, P. F. Moraru; Informatica Manual pentru
clasa a XI-a, Editura Donaris, 2006
G.Mateescu, P. F. Moraru; Informatica Manual pentru
clasa a X-a, Editura Donaris, 2004
G.Mateescu, P. F. Moraru; Teste gril de programare,
Editura Petrion, 2002
G.Mateescu, P. F. Moraru; Bacalureat la informatic,
Editura Petrion, 2002
G.Mateescu, P. F. Moraru; Informatica Manual pentru
clasa a IX-a, a X-a, Editura Petrion, 2000
Sorin Tudor; Manual de informatica-clasa a IX-a, varianta
Pascal, Editura L&S Infomat, 2000
Rancea Doina; Limbajul Turbo Pascal, Editura Libris, Cluj
1993
Knuth D. E; Tratat de programarea calculatoarelor
Algoritmi fundamentali, Editura Tehnic, 1974
Prezentarea n PowerPoint
27