Nesta parte veremos que podemos associar valores à uma variável indexada que chamamos de vetores ou como é conhecido internacionalmente de arrays. Um array pode assumir valores valores inteiros, reais, caracter, etc, como aqueles que estão na seção 3.2.
Um array unidimensional (1D) pode ser escrito como:
em que cada variável indexada pode assumir um valor.
Em Fortran o array pode ser utilizado, por exemplo, para se fazer uma conta de centro de massa de uma distribuição de partículas. Supomos que temos 5 partículas e cada partícula possui as coordenadas e massas abaixo:
Como já aprendemos em Física básica a posição do centro de massa para coordenada pode ser dada de acordo com a equação 3.6.1.
para as outras coordenadas segue a mesma equação trocando apenas por ou .
Em Fortran podemos calcular o centro de massa desse sistema utilizando um conjunto de arrays de uma dimensão. Para a coordenada atribuímos como na tabela 3.6.
|
O programa Fortran para calcular o centro de massa é dado como se segue abaixo:
! PROGRAMA PARA CALCULAR O CENTRO DE MASSA ! COMPOSTA POR 5 PARTICULAS ! ! EXEMPLO DA UTILIZACAO DE VARIOS ARRAYS ! UNIDIMENSIONAIS ! program rcm implicit none ! real(kind=4), dimension(5) :: x, y, z, m real(kind=4) :: xcm, ycm, zcm, mtotal integer :: i ! ! ZERANDO AS VARIAVEIS PARA EVITAR LIXO DE MEMORIA xcm = 0 ycm = 0 zcm = 0 mtotal = 0 ! x(1)=4.37; x(2)=9.27; x(3)=3.35; x(4)=7.23; x(5)=1.22 ! y(1)=1.23; y(2)=-1.23; y(3)= 8.23; y(4)=-8.73; y(5)=15.12 ! z(1)=9.55; z(2)=0.51; z(3)=6.53; z(4)=4.59; z(5)=5.88 ! m(1)=0.125; m(2)=0.333; m(3)=0.975; m(4)=0.229; m(5)=0.434 ! ! CALCULA O SOMATORIO CENTRO DE MASSA do i=1, 5 xcm = xcm + (x(i) * m(i)) ycm = ycm + (y(i) * m(i)) zcm = zcm + (z(i) * m(i)) mtotal = mtotal + m(i) end do ! ! POSICOES DO CENTRO DE MASSA xcm = xcm / mtotal ycm = ycm / mtotal zcm = zcm / mtotal ! ! ESCREVE O RESULTADO DA POSICAO DO CENTRO DE MASSA write(*,*) xcm, ycm, zcm ! stop end program rcm !