
Si tratta di un programma in fortran 90 che stampa il grafico di una funzione a cura del Prof. Paolo Bison - Corso di Fondamenti di Informatica - Università di Padova. Il programma utilizza una data funzione (y = exp(-x)*sin(c*x)) che naturalmente può essere adattata al nostro caso e calcola a sua volta tutti i parametri necessari per rappresentare graficamente la funzione.
Codice sorgente del programma
! graph.f90
! rappresentazione grafica della funzione
! f(x)=exp(-x)*sin(2*pi*x)
!
! sistema di riferimento
!
! h y y+1
! | | s |
! ————————————–> y
! |
! |
! |- x
! |
! | d
! |
! |
! |- x+1
! |
! |
! V x
!
program graph
real, parameter :: d = 0.0625 ! 1/16, 16 linee nell’intervallo
! [x,x+1]
real, parameter :: c = 6.28318 ! 2*pi
integer, parameter :: s = 32 ! 32 caratteri di ampiezza per
!l’intervallo [y,y+1]
integer, parameter :: h = 34 ! posizione dell’asse x
integer, parameter :: lim = 32 ! numero di campionamenti
real :: x, y
integer :: i, n, k
character (len=2*h) :: linea
do i=0,lim
x = d*i ! calcolo ascissa
y = exp(-x)*sin(c*x) ! calcolo funzione
n = nint(s*y) + h ! calcolo posizione su asse y
! costruzione linea di stampa
linea = “” ! stringa vuota
do k=0,n-1
if (k==h) then; linea=linea(1:k+1) // “|”
else; linea=linea(1:k+1) // ” ”
end if
end do
linea=linea(1:k+1) // “*” ! k = n
! si continua fino ad h se n
if (k==h) then; linea=linea(1:k+1) // "|"
else; linea=linea(1:k+1) // " "
end if
end do
print *,linea
end do
end program graph

Giuseppe Ciaburro








