program sho call initial(x0,v,w2,t,dt,dt2) t = 0 x = x0 do i = 1,1000 call output(x,v,t) call update(x,v,w2,t,dt,dt2) end do stop end * subroutine initial(x0,v,w2,t,dt,dt2) write (*,*) 'pocetna pozicija u metrima x0 =' read (*,*) x0 * pocetna brzina (m/s) v = 0. * ugaona frekvencija write (*,*) 'odnos k/m =' read (*,*) w2 write (*,*) 'vremenski korak dt =' read (*,*) dt dt2 = 0.5 * dt write (8,15) 15 format(3x,'vreme',10x,'koordinata',10x,'brzina') return end * subroutine update(x,v,w2,t,dt,dt2) a = - w2 * x vmid = v + a * dt2 xmid = x + v * dt2 amid = - w2 * xmid v = v + amid * dt x = x + vmid * dt t = t + dt return end * subroutine output(x,v,t) write (8,*) t,x,v return end