PDA

View Full Version : [Fortran95] File .exe


ingegnomeccanico
05-12-2009, 09:58
Salve a tutti,
siccome ho una discreta conoscenza del linguaggio di programmazione Matlab, volevo estendere le mie conoscenze al Fortran. Ho scritto qualche semplice programma, tanto per vedere come si compila e si creano gli eseguibili.
innanzitutto preciso che ho scaricato dal sito silverfrost il file di installazione che mi da sia l'editor sia il compilatore per il fortran. il problema che ho è il seguente:
quando scrivo un programma,lo compilo e poi lo faccio partire, mi esce la schermata dos che mi fa vedere l'esecuzione del programma e alla fine del calcolo mi dice press return to exit.
se lancio direttamente l'eseguibile creato, invece, il programma non si ferma ma esce subito dalla schermata dos. dove sbaglio??
vi allego il programma che converte la temperatura da gradi farenheit a kelvin e vi ringrazio in anticipo:

PROGRAM conver_temp
IMPLICIT NONE
REAL :: temp_f
REAL :: temp_k
WRITE (*,*) 'temperatura farenheit'
READ (*,*) temp_f
temp_k=(5./9.)*(temp_f-32)+273.15
WRITE (*,*) temp_f, ' farenheit = ', temp_k, ' kelvin'
STOP
END PROGRAM conver_temp

atragon
06-12-2009, 22:31
Salve a tutti,
siccome ho una discreta conoscenza del linguaggio di programmazione Matlab, volevo estendere le mie conoscenze al Fortran. Ho scritto qualche semplice programma, tanto per vedere come si compila e si creano gli eseguibili.
innanzitutto preciso che ho scaricato dal sito silverfrost il file di installazione che mi da sia l'editor sia il compilatore per il fortran. il problema che ho è il seguente:
quando scrivo un programma,lo compilo e poi lo faccio partire, mi esce la schermata dos che mi fa vedere l'esecuzione del programma e alla fine del calcolo mi dice press return to exit.
se lancio direttamente l'eseguibile creato, invece, il programma non si ferma ma esce subito dalla schermata dos. dove sbaglio??
vi allego il programma che converte la temperatura da gradi farenheit a kelvin e vi ringrazio in anticipo:

PROGRAM conver_temp
IMPLICIT NONE
REAL :: temp_f
REAL :: temp_k
WRITE (*,*) 'temperatura farenheit'
READ (*,*) temp_f
temp_k=(5./9.)*(temp_f-32)+273.15
WRITE (*,*) temp_f, ' farenheit = ', temp_k, ' kelvin'
STOP
END PROGRAM conver_temp

Aggiungigli una lettura da tastiera come ultima istruzione.

ingegnomeccanico
07-12-2009, 11:32
ovvero? che comando dovrei mettere?potresti farmi un esempio, data la mia inesperienza?grazie!

atragon
07-12-2009, 17:21
ovvero? che comando dovrei mettere?potresti farmi un esempio, data la mia inesperienza?grazie!

Chiarisco che è un escamotage generale non legato al linguaggio che tu programmi in C, Pascal o Java ti avrei detto la stessa cosa. Ora, sono 14 anni netti che non tocco il Fortran però io metterei alla fine, come ultima istruzione qualche cosa tipo

READ * di modo che il programma di fermi in attesa di un <invio> prima di uscire.

ingegnomeccanico
08-12-2009, 07:49
grazie 1000, ha funzionato! molto gentile!