Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Esercitazione terza

informatica



Esercitazione quarta




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


Hits: 1189
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024