Documente Academic
Documente Profesional
Documente Cultură
b.
Subalgoritmul PUTERE4(x,y,z) este: {x,y numere naturale date}
{ϕ: (x>0) ∧ (y≥ 0) }
Fie z:=1; u:=x; v:=y;
c.
Funcţia ESTEPRIM(n) este: {n număr natural}
{ϕ : (n>1) }
Fie i:=2;
Câttimp i≤n/2 execută
Dacă n mod i = 0
atunci ESTEPRIM:=False
altfel ESTEPRIM:=True
sfdacă
Fie i:=i+1;
sfcât
{ψ: Dacă n e prim atunci ESTEPRIM =True
altfel ESTEPRIM=False.}
sfESTEPRIM
d.
Subalgoritmul MAXMAT(n,A,max) este: {max := Max(ai,j, i,j=1,n)}
{φ: n>1}
i:=1; j:=1; max:=; ai,j
Câttimp i≤n execută
Câttimp j≤n execută
Dacă max< ai,j atunci max:= ai,j sfdacă
j:=j+1
sfcât
i:=i+1
sfcât {ψ: max=val. maximă din A}
sf-MAXMAT
e.
Subalgoritmul PRODUS(x,y,z) este: {x,y – nr. naturale
date}
3
{ϕ: True }
Fie z:=0; u:=x; v:=y;
Câttimp v>0 execută
Câttimp v este par execută
u:=u+u; v:=v/2;
sfcât
v:=v-1; z:=z+u;
sfcât {ψ: z = x*y}
sf-PRODUS
f.
Funcţia RADICAL(n) este: { ϕ::= n>1 }
{RADICAL:=partea întreagă din radical din n}
(r,t) := (0,n);
Câttimp t≠ r+1 execută
m:=(r+t) div 2;
Dacă m2≤n
atunci r:=m
altfel t:=m
sfdacă
sfcât
RADICAL:=r { ψ::= r2 ≤ n < (r+1)2 }
sf-RADICAL
g.
Subalgoritmul SUMAPOL(P,S) este: {Pşi S = polinoame date.
P.grad notează gradul, iar P.coef notează }
{vectorul coeficienţilor polinomului P}
{ϕ: True}
Dacă S.grad<P.grad atunci
Fie i:=S.grad;
Câttimp i≤P.grad execută
S.coef[i] :=0;
Fie i:=1+1;
sfcât
sfdacă
Câttimp i>0 execută
Fie i:=i-1;
S.coef[i]:= S.coef[i]+P.coef[i]
sfcât
4
{ψ: S este suma polinoamelor date la}
{intrarea în subalgoritm, S şi P}
sfSUMAPOL