pascal

16

Click here to load reader

Upload: diana-tudorache

Post on 24-Oct-2014

372 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Pascal

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;

Page 2: Pascal

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

Page 3: Pascal

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

Page 4: Pascal

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);

Page 5: Pascal

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)

Page 6: Pascal

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

Page 7: Pascal

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);

Page 8: Pascal

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;

Page 9: Pascal

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;

Page 10: Pascal

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.

Page 11: Pascal

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;

Page 12: Pascal

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;

Page 13: Pascal

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

Page 14: Pascal

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

Page 15: Pascal

p:=p+1;

m:=m div d;

end.

if(p<>0)then

write(‘d la puterea p=’);

end;

d:d+1;

end;

end;

Page 16: Pascal