Questo sito contribuisce alla audience di

Programma fortran per la rappresentazione grafica della funzione

Si tratta di un programma in fortran 90 che stampa il grafico di una funzione

fortran 90,programmi fortran,fortran download,grafico di una funzione,fortran tutorial

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 do k=n+1,h
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

Sito dell’autore