fortran 90 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Fortran 90 PowerPoint Presentation
Download Presentation
Fortran 90

Loading in 2 Seconds...

play fullscreen
1 / 18

Fortran 90 - PowerPoint PPT Presentation


  • 155 Views
  • Uploaded on

Fortran 90. Paulo Henrique Graf Fernandes. Variáveis compostas homogêneas (arrays) Vetores (unidimensionais) Matrizes (multidimensionais). Variáveis compostas homogêneas (arrays).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Fortran 90


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
fortran 90

Fortran 90

Paulo Henrique Graf Fernandes

slide2
Variáveis compostas homogêneas (arrays)
      • Vetores (unidimensionais)
      • Matrizes (multidimensionais)
vari veis compostas homog neas arrays
Variáveis compostas homogêneas (arrays)

Arrays correspondem a posições de memória, identificadas por um único nome, individualizadas por índice e cujo conteúdo é de um mesmo tipo.

refer ncia a um elemento do array
Referência a um elemento do array

Nome(índice)

Ex: arr(3)

arr(i), onde i é uma variável do tipo integer

vetores arrays unidimensionais
Vetores (arrays unidimensionais)
  • Tipo
  • Nome
  • Número de elementos

Declaração:

slide6

Exemplos:

real, dimension(50) :: a, b, c

real, dimension (11:60) :: a, b, c

real :: a(50), b(50), c(50)

real, dimension(50) :: a, b, c, x(20), y(20), z

integer, dimension(-20:-1) :: x

logical, dimension(-9:10) :: y

atribui o de valores
Atribuição de valores
  • vetor(3) = 1
  • vetor = (/ 1,2,3,4,5 /) , onde vetor tem cinco elementos
  • Usando o do implícito:

vetor = (/ i, i=1, 5 /)

vetor = (/ -1, (0, i=2, 49), 1 /)

vetor = (/ -1, (0, i= 1,48), 1 /)

Obs.: nos dois últimos casos, todos elementos são zero, exceto o primeiro e o último.

comandos de entrada read e sa da print com arrays
Comandos de entrada (read) e saída (print) com arrays
  • Um elemento do array: como se fosse uma variável escalar
  • Um grupo de elementos do array: utilizando o do implícito
  • O array todo: apenas o nome do array
slide9

Exemplos:

Print *, (p(i), i=1,99,2), q(3), q(4), r

Read *, first, last, (arr(i), i=first, last)

Do i=1, 10

Read *, arr(i)

matrizes arrays multidimensionais
Matrizes (arrays multidimensionais)
  • Fortran permite até sete dimensões para um array
  • Declaração: semelhante a vetores, considerando o número de dimensões
slide11

Exemplos:

real, dimension(3,4) :: a

logical :: b(10,4)

integer, dimension (5:7, -10:-1) :: c

integer, dimension(5:8, 0:1, 100, -3:4) :: d

atribui o de valores1
Atribuição de valores
  • vetor(3,2) = 1
  • Utilizando a função intrínseca reshape: reshape((/ 1,2,3,4,5,6 /), (/ 2,3 /))

1 3 5

2 4 6

  • integer :: i, j

real, dimension(2,2) :: a

reshape((/ ((10*i+j, i=1,2), j=1,2) /), (/2,2 /))

11 12

21 22

comando de sa da print com arrays multidimensionais
Comando de saída (print) com arrays multidimensionais

Se x é um array com 50 linhas e 8 colunas,

  • print ‘(8F8.2)’, x

imprime o array x coluna por coluna

  • print ‘(8F8.2)’, ((x(i,j), j=1,8), i= 1,50)

imprime o array x linha por linha

slide15

Exemplos:

matriz_b = tranpose(matriz_a)

matriz_ab = matmul(matriz_a, matriz_b)

max = maxval(matriz_c)

prod = product(vetor_d)

slide16

Exemplo: Programa que soma os valores de duas matrizes

program somamat

implicit none

integer, parameter:: lin = 3 , col = 2 !dimensões das matrizes

integer:: linha !variável controladora das linhas nos loops

real:: matriza(lin, col), matrizb(lin, col), matrizc(lin, col)

!arrays bidimensionais

print *, 'Digite os valores da matriz A: '

do linha = 1, lin !leitura dos elementos

read *, matriza(linha, 1: col) !da matriz A

end do

slide17

print * print *, 'Digite os valores da matriz B: ' do linha = 1, lin !leitura dos elementos read *, matrizb(linha, 1: col) !da matriz B end do do linha = 1, linmatrizc(linha, 1: col) = matriza(linha, 1: col) + matrizb(linha, 1: col) end do !formação da matriz C atraves da soma dos elementos!das matrizes A e B print * print *, 'Matriz C = A + B: ' do linha = 1, lin print '(F5.2)', matrizc(linha, 1: col) !visualização da end do !matriz Cend program FIM