Newsgroup: it.comp.lang.delphi
Titolo: Ancora Sintassi Mod 1

Vorrei sapere se ci sono dei problemi a usare l'operatore MOD 1 per
sapere se un numero è intero.
Faccio un esempio. Vorrei sapere quando restituisce un intero la
seguente funzione:
(Y-X)/X+1
risolvo:
(Y-X)/X+1 = ((Y-X) + X )/X   -->  ((Y-X) + X )/X mod 1 = 0
quindi:
if ((Y-X) + X ) mod X = 0 then INTERO
Utilizzo l'algebra in mod, cioè tratto l'espressione
f(x,y,z) mod 1
come una normale equazione in cui mod rappresenta il segno = e l'unica
regola da seguire è non poter spostare a destra o sinistra cambiando
di segno.
Es.
X+Y/Z mod 1  -->  X+Y/Z = 1  (non posso spostare a destra o sinistra
ad esempio X = 1 - Y/Z non posso farlo)
però posso moltiplicare e dividere a piacimento. Esempio
X*Z + Y*Z/Z = Z  quindi X*Z + Y = Z
quindi if X*Z + Y mod Z = 0 then INTERO
Qualcuno ha esperianza ?
Ciao

Ciao
Ciao :-)

 
-- 
-------------------------------
per scrivere in privato
togliere "1975nosp"
to reply remove "1975nosp"

 sapere se un numero è intero.
Secondo il manuale di Delphi, l'operatore mod puo' essere applicato
solamente tra integer.
Per sapere se un numero e' intero puoi utilizzare un codice tipo:
function IsIntero(X: Extended): boolean;
begin
  Result := Int(X) = X;
end;
oppure
function IsIntero(X: Extended): boolean;
begin
  Result := Frac(X) = 0;
end;
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto sviluppatore Delphi?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 sapere se un numero è intero.
Don't feed the troll... (buon anno, troll)
-- 
Jax


uhmmm... Jax, non č che giochi a popomundo? L'ho letta molto lě dentro 
questa frase. :-)
Sono OT lo so. Volevo solo salutarti e con l'occasione augurare a te e a 
tutto ICLD un buon 2008.
Ciao!
PS. mi sento in colpa. Informazione utile sull'utilizzo di MOD.
Function IsPariODispari(Value: integer): boolean;
Begin
Result:= (value mod 2 = 0);
End;
Result:
True = pari
False = dispari

 PS. mi sento in colpa. Informazione utile sull'utilizzo di MOD.
Ehm...
function Odd(X: Longint): Boolean;
-- 
Jax

 non ho voglia di controllare ).
Non sprecare il tuo tempo libero, soprattutto l'ultimo giorno dell'anno: 
è il solito, noioso, banale "troll".
Ciao (e buon anno!) :-)
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

Regalo schermo al PLASMA a chi dimostra che l'algebra sopra descritta
non funziona.
Sbaglio o un po' di pigrizia matematica ?
Ciao.
Buon Anno a tutti ... ;-)

 Sbaglio o un po' di pigrizia matematica ?
forse una ripassatina minimale e scolastica di lingua italiana...

 forse una ripassatina minimale e scolastica di lingua italiana...
Un ottimo paradosso "ripassatina minimale e scolastica".....
Forza... Se dimostri che non funziona ti aspetta quanto sotto.
http://www.trovacomputer.it/componenti/monitor/det-schermo-plasma-37-pollici-TH37PG9E.htm
ciao ;-)

 Forza... Se dimostri che non funziona ti aspetta quanto sotto.
Non mi compete. Sono un troll linguistico di passaggio:-)
ed un programmatore delphi in ferie.
Passo, chiudo e buon anno a te,
p 

ovvio che X,Y, e Z etc della funzione sono interi...
E che per funzioni complesse come logaritmi, esponenziali, integrali
non è conveniente tale utilizzo.
Si discute più che altro l'utilizzo di MOD in senso generale arrivando
al cuore assembler dell'algoritmo MOD.
Il tutto per divertimento e conoscenza di tale operatore.
Ciao ;-)

 p
Buon anno.... Ciao ;-)

La mod 1 va usata solo per funzioni lineari non complesse.
Alla fine non trovi nulla di più rispetto alle altre funzioni
matematiche proposte. Ma non tutti sono in grado di gestire l'algebra
e per non rischiare consiglio di non usarla.
Ciao

 La mod 1 va usata solo per funzioni lineari non complesse.
scusate non necessariamente lineari, in ogni caso non funzioni del
tipo log, e^x etc.

Cavolo, ma non ne hai scritta bene nemmeno una!
Fai il Troll, ma almeno porta un paradosso reale, se
no che divertimento c'e'?
-- 
______________________
O^O
Gaetano - RoccoTanica 

 no che divertimento c'e'?
La sintassi mod 1 esiste veramente... Se hai l'intelligenza necessaria
guarda l'algebra proposta se trovi errori c'è un plasma x te.
Ciao

 ((Y-X) + X )/X mod 1 = 0
facendo finta di capire che il modulo e l'equazione siano nate per 
processi di invecchiamento della precedente divisione, facciamo la 
sostituzione dei valori.
il modulo è uguale a: I mod J = I - (I div J) * J
Posti I = Y/X ( regola delle parentesi ).
J = 1
scrivo
(Y/X) mod 1
e sostituisco con
(Y/X) - ((Y/X) div 1) * 1
Visto che 1 è l'elemento neuto della moltiplicazione e della divisione 
ottengo
y/y - y/x
quindi Zero, un numero intero.
Quindi ho scoperto che ( premessa, devo ignorare che MOD su delphi usi 
solo numeri interi ) un numero intero ( o frazionario ) diviso per "uno" 
non ha resto e meglio da resto uguale a zero.
Se tutto va bene spero di poter mettere su ebay un TV al plasma entro 
dopodomani :).

    deduco che sarà sempre un numero intero.
Non è detto funziona con numeri interi ma la divisione tra interi può
generare un numero non intero es. 3 diviso 2.
Supponiamo di avre la seguente funzione:
X+Y/Z
il programma genera vari valori, per quanto dici (somma di interi dà
intero) possiamo anche semplificare e vedere quando è intero Y/Z.
CASO1) Y=2, Z=3 ottengo 2/3 che non è intero
CASO2) Y=6, Z=3 ottengo 6/3 =2 cioè un intero
Se uso Y/Z mod 1 ottengo
if Y/Z mod 1 = 0  --> cioè
if Y mod Z = 0 then INTERO
Ritornando al caso empirico
CASO1) 2 mod 3 <>0
CASO2) 6 mod 3 = 0
quindi mod 1 funziona...
Spero di non aver capito male quanto hai detto nel post precedente.
Ciao ;-)

sto rileggendo tutto,
dimentichiamoci per un momento "mod 1"
tu vuoi sapere se (Y-X)/X+1 da un numero intero?
Con il mod , sempre se ho capito bene, fai
   (y-x) mod x
  e guardi il resto, se 0 allora è intero, visto che il +1 non è tra 
parentesi lo eslcludo dalla divisione.
come hai scritto tu nella riga
"if ((Y-X) + X ) mod X = 0 then INTERO"
è il "mod 1" che non dici da dove lo tiri fuori?


Giusto... :-)
Mod 1 è la formula... ma deve essere risolta..
Es. di fisica, trovare la lunghezza di equilibrio della molla k data
la forza agente verticalmente F=3x+2
Applico la legge F=kx (paragonabile a mod 1)
ottengo F1=F2 quindi  3x+2 = kx
quindi (3-k)x = -2 cioè x = 2/(3-k)
Mod 1 è la forumla generale quindi posso capire con l'operatore mod se
una funzione di variabili intere restituisce un intero.
Ciao ;-)

MOD non è un operatore lineare, non puoi fare paragoni con nulla.
tutto tendenzioso e per nulla inerente al newsgroup.


 wrote:
"MOD non è un operatore lineare"... Sono daccordo non stiamo parlando
di vettori e nemmeno di endomorfismo.
"non puoi fare paragoni con nulla" ... Perchè ?
"tutto tendenzioso e per nulla inerente al newsgroup"... Il tuo nn
bla, bla, bla senza considerazioni tecniche.
Ti prego di astenerti.
Grazie

Ok.. funziona grazie Matt
Non avevo capito bene le logiche di risoluzione delle espressioni...
trovandomi con :
(x-y/z*k)*r*n-r/s*m
ho risolto tutto e l'operatore dà discreti risultati.
Ciao e grazie ancora.