Informatica [Ufficiale]
Pagina 2 su2•
Pagina 2 su2 •
1, 2
esame informatica
ehi qualcuno sa come creare il file exe del programma fartto all esame ....quali sono i passi da fare nel prompt dei comandi ....
Re: Informatica [Ufficiale]
1) Devi scrivere la subroutine e il programma principale che la richiama nella stessa pagina crimson e quindi salvarli nello stesso file .f90 poi scrivi il file .txt con il file di esempio di imput e salvi tutto nella cartella C/esercizi.
2) compili nel prompt il file .f90 come hai sempre fatto (cioè mi pare con ://g95 -o nomeprog.exe nomeprog.f90) e il compilatore ti crea il file di output nella cartella esercizi.
regà entro domani o lunedì posto il file soluzione agli interessati...l'ho fatto ma ho preso 18 al programma quindi l'ho cancellato dal pc. ce l'ho sulla penna usb ma me l'hanno fregata!!!appena la recupero lo posto se vi può esse utile...fatemi sape se siete impanicati!!!
ciaociao Agn (I canale)
PS grande idea il forum!!!!!!!!!!!!
2) compili nel prompt il file .f90 come hai sempre fatto (cioè mi pare con ://g95 -o nomeprog.exe nomeprog.f90) e il compilatore ti crea il file di output nella cartella esercizi.
regà entro domani o lunedì posto il file soluzione agli interessati...l'ho fatto ma ho preso 18 al programma quindi l'ho cancellato dal pc. ce l'ho sulla penna usb ma me l'hanno fregata!!!appena la recupero lo posto se vi può esse utile...fatemi sape se siete impanicati!!!
ciaociao Agn (I canale)
PS grande idea il forum!!!!!!!!!!!!
testo sol esame
ecco il file della mia soluzione
MODULE istat
CONTAINS
SUBROUTINE paniere (f,g)
! *** SEZIONE DICHIARATIVA
IMPLICIT NONE
CHARACTER (len=*),INTENT(IN)::f,g
CHARACTER (15) :: nome_prodotto
INTEGER:: istatus
REAL:: vecchio_paniere
REAL:: peso_prodotto
REAL:: variazione_peso
REAL:: vecchio_prezzo_medio
REAL:: nuovo_prezzo_medio
REAL:: paniere_aggiornato
REAL:: tasso_inflazione
REAL:: var_perc_prezzo
! *** SEZIONE ESECUTIVA
paniere_aggiornato=0
OPEN(UNIT=9,FILE=f,STATUS="OLD",ACTION='READ',IOSTAT=istatus)
IF (istatus==0) THEN
OPEN (UNIT=10,FILE=g,STATUS='REPLACE',ACTION='WRITE')
READ(9,*,IOSTAT=istatus)vecchio_paniere
IF (istatus==0) THEN
DO
READ(9,*,IOSTAT=istatus)nome_prodotto,peso_prodotto,vecchio_prezzo_medio,nuovo_prezzo_medio
IF (istatus/=0) EXIT
var_perc_prezzo=((nuovo_prezzo_medio - vecchio_prezzo_medio)/vecchio_prezzo_medio)*100
variazione_peso=(peso_prodotto*var_perc_prezzo)/100
paniere_aggiornato=paniere_aggiornato+peso_prodotto+variazione_peso
END DO
tasso_inflazione=((paniere_aggiornato-vecchio_paniere)/vecchio_paniere)*100
WRITE(10,100)paniere_aggiornato,tasso_inflazione
REWIND(9)
READ (9,*,IOSTAT=istatus) vecchio_paniere
IF (istatus==0) THEN
DO
READ(9,*,IOSTAT=istatus)nome_prodotto,peso_prodotto,vecchio_prezzo_medio,nuovo_prezzo_medio
IF (istatus/=0) EXIT
var_perc_prezzo=((nuovo_prezzo_medio-vecchio_prezzo_medio)/vecchio_prezzo_medio)*100
IF (var_perc_prezzo>tasso_inflazione)THEN
WRITE(10,200)nome_prodotto,var_perc_prezzo
END IF
END DO
END IF
END IF
ELSE
WRITE(*,*)"Il file",f,"non esiste"
END IF
CLOSE(10)
CLOSE(9)
RETURN
100 FORMAT(F6.2,F6.2)
200 FORMAT(A,F5.2)
END SUBROUTINE paniere
END MODULE istat
!****************************************************************!
PROGRAM mainistat
! *** SEZIONE DICHIARATIVA
USE istat
IMPLICIT NONE
CHARACTER(12), PARAMETER ::file_dati="esempio.txt"
CHARACTER(20), PARAMETER ::file_risultato="index.txt"
! *** SEZIONE ESECUTIVA
WRITE(*,*) "Scrivo i dati su ", file_risultato
CALL paniere(file_dati,file_risultato)
STOP
END PROGRAM mainistat
MODULE istat
CONTAINS
SUBROUTINE paniere (f,g)
! *** SEZIONE DICHIARATIVA
IMPLICIT NONE
CHARACTER (len=*),INTENT(IN)::f,g
CHARACTER (15) :: nome_prodotto
INTEGER:: istatus
REAL:: vecchio_paniere
REAL:: peso_prodotto
REAL:: variazione_peso
REAL:: vecchio_prezzo_medio
REAL:: nuovo_prezzo_medio
REAL:: paniere_aggiornato
REAL:: tasso_inflazione
REAL:: var_perc_prezzo
! *** SEZIONE ESECUTIVA
paniere_aggiornato=0
OPEN(UNIT=9,FILE=f,STATUS="OLD",ACTION='READ',IOSTAT=istatus)
IF (istatus==0) THEN
OPEN (UNIT=10,FILE=g,STATUS='REPLACE',ACTION='WRITE')
READ(9,*,IOSTAT=istatus)vecchio_paniere
IF (istatus==0) THEN
DO
READ(9,*,IOSTAT=istatus)nome_prodotto,peso_prodotto,vecchio_prezzo_medio,nuovo_prezzo_medio
IF (istatus/=0) EXIT
var_perc_prezzo=((nuovo_prezzo_medio - vecchio_prezzo_medio)/vecchio_prezzo_medio)*100
variazione_peso=(peso_prodotto*var_perc_prezzo)/100
paniere_aggiornato=paniere_aggiornato+peso_prodotto+variazione_peso
END DO
tasso_inflazione=((paniere_aggiornato-vecchio_paniere)/vecchio_paniere)*100
WRITE(10,100)paniere_aggiornato,tasso_inflazione
REWIND(9)
READ (9,*,IOSTAT=istatus) vecchio_paniere
IF (istatus==0) THEN
DO
READ(9,*,IOSTAT=istatus)nome_prodotto,peso_prodotto,vecchio_prezzo_medio,nuovo_prezzo_medio
IF (istatus/=0) EXIT
var_perc_prezzo=((nuovo_prezzo_medio-vecchio_prezzo_medio)/vecchio_prezzo_medio)*100
IF (var_perc_prezzo>tasso_inflazione)THEN
WRITE(10,200)nome_prodotto,var_perc_prezzo
END IF
END DO
END IF
END IF
ELSE
WRITE(*,*)"Il file",f,"non esiste"
END IF
CLOSE(10)
CLOSE(9)
RETURN
100 FORMAT(F6.2,F6.2)
200 FORMAT(A,F5.2)
END SUBROUTINE paniere
END MODULE istat
!****************************************************************!
PROGRAM mainistat
! *** SEZIONE DICHIARATIVA
USE istat
IMPLICIT NONE
CHARACTER(12), PARAMETER ::file_dati="esempio.txt"
CHARACTER(20), PARAMETER ::file_risultato="index.txt"
! *** SEZIONE ESECUTIVA
WRITE(*,*) "Scrivo i dati su ", file_risultato
CALL paniere(file_dati,file_risultato)
STOP
END PROGRAM mainistat
Pagina 2 su2 •
1, 2





