![]() | ![]() |
|
|
Questa esercitazione presenta la codifica in Pascal di un programma che permette di stabilire se una coppia di valori sia divisibile . Per raggiungere questo obbiettivo si č usato lo schema della ricorsione primitiva, a partire dalle funzioni primitive Zero, Identitā e Successore, al fine di costruire altre funzioni ricorsive che alla fine permettessero di calcol 525d39f are la divisibilitā o meno dei numeri immessi .
Programma Divisibilitā ricorsiva ( IV )
Program Divisibilitā ;
uses crt ;
Function zero ( x : real ) : real ;
begin
zero := 0 ;
end ;
Function id ( x : real ) : real ;
begin
id := x ;
end ;
Function Succ ( x : real ) : real ;
begin
Succ := x+1;
end ;
Function pred ( x : real ) : real ;
var o: real ;
begin
o := Zero ( o ) ;
if x = zero ( x ) then pred := zero ( pred )
else begin
while id ( x ) < > succ ( o ) do o := succ ( o ) ;
pred := o ;
end ;
end ;
Function Somma ( x : real ; y : real ) : real ;
begin
if y = zero ( y ) then somma := Id ( x )
else somma := succ ( somma ( x, pred ( y ) ) ) ;
end ;
Function Diff ( x : real ; y : real ) : real ;
begin
if y = zero ( y ) then diff := Id ( x )
else diff := pred ( diff ( x, pred ( y ) ) ) ;
end ;
Function Prod ( x : real ; y : real ) : real ;
var c : real ;
begin
if ( ( x = zero ( x ) ) or y = zero ( y ) ) then prod :=zero ( x )
else prod := somma ( prod ( x, pred ( y ) ), x )
end ;
Function abs ( x :real ; y :real ) : real ;
Begin
Abs :=somma ( diff ( x, y ), diff ( y, x ) ) ;
end ;
Function segn ( x :real ) : real ;
begin
if x =0 then segn :=0
else segn :=1;
end ;
Function csegn ( x :real ) : real ;
begin
if x =0 then csegn :=1
else csegn :=0 ;
end ;
Function resto ( x, y :integer ) :integer ;
begin
if y =0 then resto := Zero ( x )
else resto := prod ( succ ( resto ( x, pred ( y ) ) ), ( segn ( abs ( x, succ ( resto ( x, pred ( y ) ) ) ) ) ) ) ;
end;
var a, b, z : real ;
begin
clrscr ;
writeln ( 'Inserire i valori dei quali si vuol verificare la divisibilitā ' ) ;
readln ( a, b ) ;
z := resto ( a, b) ;
if z = zero ( z ) then writeln ( 'Sono divisibili ' )
else writeln ( 'Non sono divisibili' );
readln ;
end .
Esempi pratici
Inserire i valori dei quali si vuole verificare la divisibilitā :
Input
Input
Output : Non sono divisibili
Inserire i valori dei quali si vuole verificare la divisibilitā :
Input
Input
Output : Sono divisibili
Inserire i valori dei quali si vuole verificare la divisibilitā :
Input
Input
Output : Sono divisibili
Inserire i valori dei quali si vuole verificare la divisibilitā :
Input
Input
Output : Sono divisibili
Inserire i valori dei quali si vuole verificare la divisibilitā :
Input
Input
Output : Non sono divisibili
Inserire i valori dei quali si vuole verificare la divisibilitā :
Input
Input
Output : Sono divisibili
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025