realbasic-nug.it
[Top] [All Lists]

Re: Calcolo formuletta

To: REALbasic NUG Italian <realbasic-nug dot it at lists dot realsoftware dot com>
Subject: Re: Calcolo formuletta
From: Matteo Cortonesi <m_cortonesi at ticino dot com>
Date: Sun, 26 Feb 2006 12:33:31 +0100
Delivered-to: realbasic-nug dot it at lists dot realsoftware dot com
References: <CCDB0CE4-3F0E-438F-BC57-A97D9DDA0AF9 at tin dot it>
In linguaggi come C avresti potuto farlo... ma alla fine quell'"operatore" come lo chiami tu viene convertito dal compilatore sempre in un costrutto if-then.

Quindi anche se esistesse qualcosa del genere in rb, quell'operatore dovrà essere tradotto dal compilatore in qualche modo in una if, in un loop o in una sequenza di operazioni. Quindi in termini di esecuzione non avrai aumentato le presetazioni.

E secondo me neanche reso il codice più pulito. Trovo che scrivere:

If k < k0 then
  A = B
elseif k > k0 then
  A = B + m * (k - k0)
end if

sia più chiaro che scrivere:
A = B + m * ( ( (k - k0) < 0 ) ? 0 : (k - k0) )              (sintassi C)

Matteo

On 26-feb-06, at 12:10, Lucio Liberi wrote:

Ciao a tutti.

Devo eseguire un banale calcolo, che pero' e' funzione di un parametro 'k'

la formuletta somiglia a questa (la rendo semplice per ovvi motivi...)

A=B                        se k <  k0
A=B+m(k-k0)         se k > k0

naturalmente la cosa si risolve mooolto semplicemente con un 'if' o con un bel (e piu' elegante) Select case...

La domanda che vi pongo e' questa:

posso mettere davanti a (k - k0) un qualche operatore che mi ritorni 0 (zero) in caso di valore negativo? E quindi tornerei alla formula A=B e quindi scriverei
UNA sola volta

A=B +m (k - k0)

L'operatore MOD a che serve?

Perdonate la mia PROFONDA ignoranza....


Lucio



<Prev in Thread] Current Thread [Next in Thread>