Recentemente recebi um e-mail de um colega de profissão com uma questão a respeito de Fortran 77:

1) Porque o programa compila e executa?

2) Descomentando o valor de X na 1a linha da subrotina (Linha 7) o programa não funciona, por que?


Enquanto preparava o material de aula para meus alunos de Fortran, estava pesquisando as Notas de Aula de Física Computacional I do Professor Francisco C. Lavarda da UNESP e me deparei com a Definição de Função de Comando que viria por explicar os questionamentos acima citados.


Ref: HEHL, M. E., LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA FORTRAN, McGraw-Hill, 1986

11.5.1. Definição de Função de Comando

Uma função de comando é definida por um comando da forma:

nome ([a[,a]?]) = e

sendo que:

  • nome é o nome de uma função e segue as mesmas regras para nomes (identificadores) de variáveis.
  •  a é um argumento.
  •  e é uma expressão.

Usa-se uma função de comando como se usa uma função intrínseca (embutida, de biblioteca).
A função de comando é um comando não-executável e portanto deve ser declarada no início do programa, antes de qualquer comando executável.

Exemplo:

Com isto conseguimos responder as duas perguntas:

1) Porque o programa compila e executa?
R1. Porque ele esta sintaticamente correto.

2) Descomentando o valor de X na 1a linha da subrotina o programa não funciona, por que?
R2. “A função de comando é um comando não-executável e portanto deve ser declarada no início do programa, antes de qualquer comando executável“. Portanto, se descomentarmos X na primeira linha da subrotina, ele passa a ser o primeiro comando executável, contradizendo a condição de função executável na frase acima.


QR Code

Anúncios

Escrito por zrhans

Professor at UFSM

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s