You are on page 1of 16

Borland Pascal 1.Structura nume program;//este optional.reprezinta antetul programului; sectiunea declaratiilor; begin algoritmul in sine; end.

2. Structuri in pascal 2.1 Functii Function nume(lista parametrii formali):tip; variabile locale begin algoritmul nume functie:=variabile; end; ex:function suma(x:integer):integer; var S:integer; S:=0;

while x<>0 do begin S:=S+x mod 10; x:=x div 10; end; suma:=S; end; Un parametru formal este transmis prin referinta atunci cand nu este cunoscuta valoarea lui sau isi schimba valoarea in cadrul subprogramului prin cuvantul variabilei in fata parametrului formal. 2.2 Proceduri procedure nume(lista parametric formali); variabile locale; begin algoritmul end; 2.3 Citire read(x1,x2=,x1) readln

write(x=,x) writeln Conditia If If(conditie)then Set_instructiune; Else Set_instructiune; Conditia while While(conditie)do Begin Set_instructiune; End. Conditia For For i:n do C++ = == % / { } Borland Pascal := = div mod begin end

3.Exemple de algoritmi

3.1 Inversul unui numar n inv,n:integer; begin read(n=,n),readln(n); if(<>0) then inv:=1 mod n; write(inv=,inv) else; write(0,0) end; readln; end. 3.2 ma si mg dintre 2 nr a si b a,b,c:integer; ma,mg:real; begin write(a=,a);readln(a);

write(b=,b);readln(b); write(c=,c);readln(c); ma:=(a+b)mod 2; mg:=(b+c)mod 2; write(ma=,ma); write(mg=,mg); readln; end. 3.3 Numere pitagorice a,b,c :integer; begin write(a=,a);readln(a); write(b=,b);readln(b); write(c=,c);readln(c); if(a**2=b**2+c**2)or(b**2=a**2+c**2)or(c**2=a**2+b* *2) then write(a=,b=,c=,a,b,c) else; write(0,0)

end; end. 3.4 max valorilor negative si min valorilor pozitive a,b,c,d,min:integer; write(d=,d);readln(d); write(a=,a);readln(a); write(b=,b);readln(b); write(c=,c);readln(c); min:=maxint; if(a<min) then min:=a; end. If(b<min)then Min:=b; End. If(c<min)then Min:=c; End. If(d<min)then

Min:=d; Write(min=,min) End.

3.5 Suma primelor n numere naturale n,I,S:integer:begin; write(n=,n);readln(n); i:=1; S:=0; While(i<=n)do S:=S+I; I:=i+1; End; While(S=,S) End.

3.6 obtinerea unui numar n,nr,p,c,i:integer; write(n=,n);readln(n);

i:=1; p:=1; while 1<n do P:=P*0; I:=i+1; End; While(i<=n)do Write(c=,c) nr:=P*c*nr; P:=p div 10; I:=i+1; End; End.

3.7 suma numerelor pare si produsul nr impare n,S,P,cifra:integer; write(n=,n);readln(n); S:=0; P:=1;

While(n<>0)do Begin c:=n mod 10; n:=n div 10; if(c mod 2=0)then begin S:=S+c; p=p*c; end; readln; end;

3.8 Oglinditul unui numar n n,og,c:integer;p write(n=,n);readln(n); og:=0; while(p<>0)do begin c:=p mod 10;

og:=og*10+c; p:=p div 10; end. write(og=,og) readln; end;

3.9 Cate cifre are un numar natural n n,cifre:integer begin cifre=0; while(n>0) do begin cifre:=cifre+1; n:=n div 10; end; write(cifre=,cifre); readln; end.

3.10 Divizorul natural al lui 0; n,prim:integer; begin write(n=,n);readln(n); while(d<=[n/2]) do begin if(n%d=0)then write(d=,d) end; end;

3.11 CMMDC Euclid p,q,r:integer; write(p=,p);readln(p); write(q=,q);readln(q); r:=p mod q; while(r<>0)do begin p:=q;

q:=r; r:=p mod q; end; write(q=,q); readln; end;

3.12 CMMDC prin scaderi successive p,q:integer; begin write(p=,p);readln(p); write(q=,q);readln(q); while(p<>q)do begin if(p>q)then begin p:=p-q; else q:=q-p;

end; end. end.

3.13 CMMMC CMMMC,produs,p,q:integer; write(p=,p);readln(p); write(q=,q);readln(q); produs:=p*q; CMMMC:produs div p; write(CMMMC=,CMMMC); end;

3.14 Nr prim a,d,prim:integer; write(a=,a);readln(a); prim:=0; d:=2; while(d<=[a]and (prim=0)do

begin if(a mod d=0)then prim:=1; end; end; if prim=0 then write(nr prim=,nr prim); readln; end.

3.15 descompunere in factori primii m,d,p:integer; write(m=,m);readln(m); d:=2; while m<>1 do begin p:=0; while m mod d=0 do begin

p:=p+1; m:=m div d; end. if(p<>0)then write(d la puterea p=); end; d:d+1; end; end;

You might also like