Newsgroup: it.discussioni.ingegneria
Titolo: IFORMAZIONI MATLAB

Ciao, ho incominciato a programare in matlab da poco ma la cosa che mi
è saltata all'occhio e che manca l'istruzione goto per far "saltare"
l'esecuzione in  punto del codice, istruzine che invece c'è ad esempio
in Visual Basic. Mi potete suggerire se esiste o se posso utilizzare
qualche altro comando equivalente?
Grazie

Il 19 Jun 2003 13:09:01 -0700, lollo75 fece sapere che:

Ho guardato sul manuale che si trova sul loro sito e non si parla di
goto.
Hai provato dal prompt help goto?
io non ho matlab uso raramente octave che ha gli stessi comandi (o
quasi) e non ha nessun goto.
Se devi studiare Matlab sono per scivere programi di calcolo e
visualizzare quanche grafico, ti consiglierei di dare una occhiata a uno
dei seguenti linguaggi:
a) C
b) Fortran77 
c) Fortran90/95
in particola il F90 per calcoli e manipolazione di matrici e' molto
simile a matlab, oltre ad essere piu' veloce :).
cmq tornado al tema per simulare il goto (istruzione deprecata da molti,
che in verita in alcuni casi e' assolutamente necessaria) prova a vedere
una cosa tipo il mio esempio che praticamente un caso in cui il goto e'
necessario.
! con il goto
istruzione1
ripeti 10 volte
	istruzione2
	ripeti 4 volte
		istruzione3
		ripeti 100 volte 
			istruzione4
			istruzione5
			se si verifiva condizioneX GOTO istruzione1
		fine ripeti	
	fine ripeti
fine ripeti
!senza goto
Dichiaro una varibaile FLAG
FLAG = 0
istruzione1
ripeti 10 volte
        istruzione2
        ripeti 4 volte
                istruzione3
                ripeti 100 volte
                        istruzione4
                        istruzione5
                        se si verifiva condizioneX allora FLAG = 1
			se FLAG == 1 esci da questo ciclo
                fine ripeti
		se FLAG == 1 esci da questo ciclo
        fine ripeti
	se FLAG == 1 esci da questo ciclo
fine ripeti
Cioe' usi una variabile "BANDIERINA"(FLAG) per sapere se chiudere il
ciclo o continuare, tali istruzioni esistono in molti linguaggi (in C
sia ha BREAK e CONTINUE, in FORTRAN90 Cycle e CONTINUE)
Ovviamente il codice perde un pizzico di leggibilita'.
Mi scuso se ho scritto qualche vaccata eliminabile con qualcosa di piu'
semplice, ma non sono un programmatore :)

 ha scritto nel messaggio
news:a36659fe.0306...@posting.google.com...


Il giorno 19 Jun 2003 13:09:01 -0700, 
lorenz...@tin.it
 (lollo75) ha
scritto:

Ci fai un esempio di codice in cui useresti il goto, magari ci sono
altre soluzioni.
Stefano.

 wrote in message
3j4kfv8b8cmmcvggc...@4ax.com...

Non conosco il linguaggio MATLAB ma ti posso garantire che se sono presenti
nella sintassi i due costrutti IF THEN ELSE e WHILE DO (o dei costrutti
analoghi) allora l'istruzione GOTO non soltanto è superflua ma ogni suo uso
è segno di pessimo stile di programmazione. L'unico uso per il quale
un'istruzione GOTO può avere senso è per la creazione di file sorgenti in
automatico (caso in cui può effettivamente semplificare la vita).
I programmi che ne fanno uso presentano il cosiddetto "codice spaghetti".
Che è una brutta bestia.
L'unico posto in cui ho usato la GOTO è nella mia calcolatrice, che non ha i
costrutti IF THEN ELSE e WHILE DO.
In Visual Basic un altro uso legittimo per la GOTO è nella gestione degli
errori (On Error Goto X), altrimenti non bisogna usarla.