program gefun implicit none real ::x,dx,xin,xfin,f1,f2,f3,npr integer ::i,npunti character (len=40) :: nome ! programma che calcola tre funzioni 10 write(6,*) ' nome del file da creare ? ' read(5,'(A)')nome ! apre il file e assegna unita' logica 60 ! il file non deve esistere "nuovo" se errore torna ! a label 10 (ripete la domanda) open (unit=60,file=nome,status='new',err=10) write(6,*)' Dammi xin,xfin,dx' read(5,*) xin,xfin,dx npr=(xfin-xin)/dx npunti=npr write(6,'("np=",i4,e15.8)') npunti,npr do i=0,npunti x=xin+dx*i f1=sin(x)+x/2 f2=cos(x)+sin(2*x)+0.5*sin(4*x) f3=x**2-2*x+1.1 write(60,'(4f10.3)')x,f1,f2,f3 enddo close(60) end program gefun