Scusate stavo creando un programmino in pascal (calcolo della area di un trapezio) ma qlcs non va
nella formula (B+M)*H/2
Il divido / calcola la divisione intera; Per il resto c'è l'operazione %;
Oppure se usi variabili reali dovrebbe fare la divisione normalmente
7/2 = 3
7%2 = 1
aiuto,un epidemia di pascal !!!
![]()
*
il / non calcola la divisione intera, calcola la divisione tra due variabili tornando come valore una variabile del tipo "maggiore" tra le due.
2 viene visto come intero, perciò se anche (B+M)*H viene un numero intero il risultato sarà integer e non avrà parte decimale anche se lo memorizzi su un real.
Invece di dichiarare B, M e H come integer prova a farli real, in quel caso verrà effettuata una conversione automatica del 2 che divide in real e il risultato sarà un numero decimale.
Perciò basta anche solo che una di quelle variabili sia real per far diventare il risultato real comunque, se restano tutte integer anche il risultato sarà intero![]()
Ultima modifica di Eclipse; 28-01-2007 alle 14:53:01
L'operatore '/' è usato per la divisone tra real e restituisce un numero sempre real, quindi se i numeri usati sono integer potrebbe dare errore; darebbe errore anche se la variabile che riceve il valore finale fosse integer. La divsione tra ineteger è div, il modulo mod, quindi ti conviene ascrivere le variabili nell'ambito dei real.
mi devo essere confuso con qualche altro linguaggio....