Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Funções em Fortran: Definição, Sintaxe e Uso, Notas de aula de Engenharia Metalúrgica

Este documento explica as funções em fortran, incluindo sua definição, sintaxe e uso. Funções são trechos de código executáveis invocáveis a partir de um nome, que podem receber parâmetros, executar alguma computação e retornar um valor. O documento também aborda detalhes importantes, como a especificação, execução e subprogramas de funções, além de exemplos de uso e exercícios para prática.

Tipologia: Notas de aula

2012

Compartilhado em 01/09/2012

luciano-junior-43
luciano-junior-43 🇧🇷

9 documentos

1 / 42

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Funções
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a

Pré-visualização parcial do texto

Baixe Funções em Fortran: Definição, Sintaxe e Uso e outras Notas de aula em PDF para Engenharia Metalúrgica, somente na Docsity!

Funções

Definição

● Trechos de código executáveis invocáveis a partir de um nome

Funções

● (^) Uma função em fortran é um trecho de código que recebe alguns parâmetros, executa alguma computação e retorna algum valor ● (^) Logo, em algum ponto do código deve existir uma expressão do tipo nomeFuncao = expressão ● (^) Esta instrução faz com que o resultado da expressão fique armazenado em uma variável automática onde oresultado da função deve ser armazenado

Funções

● Quando a execução do programa atingir a diretiva end function o valor armazenado na variável automatica nomeFuncao é retornado como resposta da chamada da função ● Qualquer instrução ou comando usado em um programa pode ser usado em uma função

Funções

● INTEGER, INTENT(IN) :: a, b, c ???? ● Esta linha especifica os dados formais dos parâmetros ● a,b,c são inteiros, e não podem ter seus valores alterados

Usando Funções

REAL FUNCTION Average(x, y, z) IMPLICIT NONE REAL, INTENT(IN) :: x, y, z Average = (x + y + z) / 3. END FUNCTION Average

Usando Funções

● A função do slide anterior usa três números reais como argumento e retorna a média destes elementos ● Para fazer o uso (invocar) da função basta usar o nome da função passsando os argumentos pedidos. Ex Average(1.0,2.0,3.0)

Usando Funções

● O número de parâmetros (argumentos) especificado na função e usados na invocação deve ser o mesmo ● Os tipos dos parâmetros usados na invocação também devem ser os mesmos tipos especificados na função

Detalhes importantes

● Programas podem conter funções ● Funções de programa podem conter funções internas ● Funções internas não podem conter funções internas

Exercício

● Faça uma função que receba um número como parâmetro e retorne um valor lógico indicando se este número é positivo ou não

Exercício

● Faça uma função para ler um número positivo que o usuário irá digitar. A função deve exigir que o usuário digite um número até que um número positivo seja digitado

Erro

REAL FUNCTION Teste(a, b) IMPLICIT NONE INTEGER, INTENT(IN) :: a, b Teste = aa + bb Teste = SQRT(aa bb) END FUNCTION Teste

Arrays e matrizes como parâmetro

Tipo Function nome(x, L, U) IMPLICIT NONE INTEGER, INTENT(IN) :: L INTEGER, INTENT(IN) :: U INTEGER, DIMENSION(L:U), INTENT(IN) :: x .......... END Function nome

Arrays de forma assumida

PROGRAM Test IMPLICIT NONE INTEGER, PARAMETER :: MAX_S = 1000 REAL, DIMENSION(1:MAX_S) :: D INTEGER :: tamReal,i READ(,) tamReal READ(,) (D(i), i=1, tamReal) WRITE(,) "Soma = ", soma(D, 5, tamReal) CONTAINS REAL FUNCTION soma(x,i,f) IMPLICIT NONE INTEGER, INTENT(IN) :: i,f REAL, DIMENSION(:), INTENT(IN) :: x INTEGER ::c soma = 0. DO c = i, f soma = soma + x(c) END DO END FUNCTION soma END PROGRAM Test