program main call init call viewport(0.2, 0.2, 0.8, 0.8) call xyworld(-1.2, -1.2, 1.2, 1.2) call frame call drawline call fin stop end ! subroutine frame() REAL(4) :: x,y,dx,dy INTEGER :: i,n=10 call arrow( -1.1, 0.0, 1.1, 0.0, 0.02, 0.0, 1.0) call arrow( 0.0, -1.1, 0.0, 1.1, 0.02, 0.0, 1.0) call text(1.0,-0.1,1,'x') call text(-0.1,1.0,1,'y') call text(-0.1,-0.1,1,'O') do i=1, n x=0.1*i if(i/5*5.eq.i) then dy=0.02 else dy=0.01 end if call line( -x, -dy, -x, dy, 0.0, 1.0, 1) call line( x, -dy, x, dy, 0.0, 1.0, 1) end do do i=1, n y=0.1*i if(i/5*5.eq.i) then dx=0.02 else dx=0.01 end if call line( -dx, -y, dx, -y, 0.0, 1.0, 1) call line( -dx, y, dx, y, 0.0, 1.0, 1) end do return end subroutine drawline REAL(4) :: x,y INTEGER :: i,nx=100 x=-1.0 y=0.0 call linewidth(1.5) call plot( x, y, 3) do i = -nx+1,nx t = float(i)/float(nx) x = t y = sin(t*3.14159) call plot( x, y, 2) end do return end