Você está na página 1de 8

Linguagem de programação

FORTRAN
Estruturas de dados Homogêneas
(Matrizes)

Grupo de informática - 2014


Matrizes
Uma matriz consiste de um conjunto rectangular de elementos,
todos do mesmo tipo. Também, podemos entender uma matriz
como uma variável composta homogênea bidimensional formada
por uma sequência de variáveis, e que somente pode armazenar
dados de um único tipo, com o mesmo identificador (mesmo nome).
O acesso ou manipulação de dados numa matriz é feita através de
dois elementos designados de índice, que referência sua posição
dentro da estrutura.

2
Declaração de matrizes
Sintax:
<Tipo>, DIMENSION(tamanho):: <nome_matriz>
<Tipo> < nome_matriz >(tamanho)

Onde:
<nome_matriz>: Qualquer nome atribuido a matriz
<tamanho> =>(Linha,Coluna) : Linha = Número de linhas
Coluna= Número de colunas

<tipo>: Tipo dos elementos

Exemplos:
REAL, DIMENSION(4,4) :: a, b ! Cada INTEGER c(3,3)
matriz aqui declarada contén 16
! Elementos (4x4)

INTEGER i,j ! Linha - (i) e Coluna - (j)


Acesso aos valores na matriz
Coluna

(1,1) (1,2) (1,3)


Linha

(2,1) (2,2) (2,3)

(3,1) (3,2) (3,3)

Vamos tomar como exemplo a matriz “c” de 9 elementos - 3 x 3:


PRINT*, ‘Elemento da Matriz =‘, c( 2, 3 )
100 4 1 PRINT*, ‘Secção da Matriz =‘, c( : , 1 )
PRINT*, ‘Toda Matriz =‘, c
13 7 77

30 14 95 Elemento da Matriz = 77
Secção da Matriz = 100 13 30
Toda Matriz = 100 13 30 4 7 14 1 77 95
Exemplo:
Faça um programa em Fortran que leia uma matriz “mat” 4 x 4, e
imprima a soma dos elementos da diagonal principal da matriz.

program soma_diagonal_principal
REAL, DIMENSION(4,4) :: mat
INTEGER i,j
real soma
soma=0
do i=1,4
do j=1,4
read*, mat(i,j)
end do
end do !fim da leitura
do i=1,4
do j=1,4
if(i==j) then
soma=soma+mat(i,j)
endif
end do
end do !fim da soma
print*,soma
end program soma_diagonal_principal
Exercícios
1). 10 14 1

13 71 17

31 14 15

Considerando a matriz ‘M’ acima, quais são as saídas depois de executados


os comandos:

Integer num
PRINT*, M( 2, 3 )
PRINT*, M( : , 1 )+ c( : , 2 )
num = M( 1, 3 )
PRINT *, M( 3, num ) + num
Exercícios
2). Faça um programa em fortran que leia uma matriz “A” 5 x 3. A
seguir, encontre o menor elemento da matriz e a sua posição
dentro do matriz, mostrando: “O menor elemento da matriz esta
na posição (I,J) e tem o valor XXX.”

3). Faça um programa em fortran que leia uma matriz “B” 4 x 3 e


informe:
a) Total de números pares existem na matriz
b) Total de números maiores do que 30 e menores do que 9

4). Faça um programa em fortran para somar duas matrizes e


imprimir a matriz resultante.
Fi
m

Você também pode gostar