morcego morcego

Linguagem de programação Fortran

 

        A computação científica é um dos recursos mais importantes de transformação da criatividade humana em bens ou produtos utilizando os conhecimentos desenvolvidos pela ciência. Os fenómenos físicos e físico-químicos são formulados matematicamente e calculados ou simulados através de modelagens computacionais com aplicação de algoritmos numéricos complexos.

A programação é uma técnica que se baseia na construção de algo que permita a manipulação de informação. Caracteriza-se pelo funcionamento através de linguagens de programação, entre as quais se destacam:

 

*      linguagens imperativas

*      linguagens funcionais

*      linguagens lógicas

 

É nas linguagens imperativas que está inserida, entre outras, a primeira linguagem de programação a aparecer - a linguagem Fortran - que deriva de equações científicas em código computacional. É a primeira linguagem de alto nível, sendo independente da máquina/computador onde vai funcionar. É também uma linguagem expressiva, de fácil utilização, embora não seja muito eficiente e não permite um acesso à máquina. A linguagem Fortran é assim uma linguagem procedimental, ou seja, baseia-se na programação como uma sequência de instruções,  isto é, como um conjunto de programas para os quais é necessário fornecer determinadas instruções(incluíndo instruções de atribuição, condicionais ou incluídas num ciclo, mais o chamado açúcar sintático, que torna a linguagem mais agradável).

A linguagem Fortran é uma linguagem  em que cada elemento (entidade de informação) tem um e um só tipo bem definido. No Fortran coexistem dois tipos de escrita para frases:

-        Forma fixa (era a única possível antes da versão Fortran90);

-        Forma livre (é a adoptada actualmente para a escrita de novos programas).

Esta linguagem é constituída por caracteres simples, os quais constituem o alfabeto Fortran:

-        As maiúsculas A, B,…,Z ou as minúsculas a, b,…,z, indistinguíveis das primeiras, num total de 26;

-        Os algarismos 0,1,2,…,9, perfazendo 10 caracteres;

-        O espaço em branco, a vírgula (,), o ponto final (.) e o sinal de igual (=);

-        Os operadores +,-,*, e /;

-        Os parênteses ();

-        E ainda os símbolos ‘,!,:,? e $

-        Certas versões de Fortran permitem ainda a  utilização de outros símbolos, tais como os sinais de maior (>) e menor (<), percentagem (%) e “e”  comercial (&).

É também constituída por constantes (por constante entender-se-á um dado numérico, ou alfanumérico, cujo valor não pode variar ao longo do programa) e variáveis de tipos numéricos ou lógicos (designar-se-á por variável qualquer número ou conteúdo de uma dada posição de memória a ser usado numa instrução Fortran e cujo valor é susceptível de várias alterações durante a execução do programa), que todos, quando manipulados através de determinadas instruções, se conjugam para formar os programas:

-        Conjunto dos algoritmos – procedimento mecânico/automático que produz sempre o mesmo resultado ao fim de um número finito de passos;

-        Estrutura de dados – conjunto de valores e um conjunto de operações sobre esses valores.

A linguagem de programação Fortran contém um mecanismo especial construído para facilitar o desenvolvimento de pequenas sub-tarefas, cujos erros são detectados- debug-  independentemente para posterior correcção, antes da construção do programa final. Cada sub-tarefa pode ser tratada como uma unidade programadora-“program unit”- independente designada por procedimento externo. Cada procedimento externo  pode ser compilado, testado e corrigido independentemente de toas as outras sub-tarefas do programa.

        Em Fortran encontramos dois tipos de procedimentos externos: subrotinas e funções.

·      Uma subrotina é um procedimento invocado dentro de uma declaração CALL e que recebe valores de entrada e devolve os resultados através de uma lista de argumentos. A forma geral de uma declaração CALL é:

 

 

                   CALL Subroutine_nome(lista de argumentos)

 

 

Os argumentos Dummy podem ter um atributo INTENT associado a eles. O atributo INTENT está relacionado com o tipo de declaração de cada argumento. O atributo pode adoptar uma das seguintes formas:

                      INTENT(IN)   à o argumento é usado somente para passara informação de entrada para a subrotina.

                      INTENT(OUT)   à o argumento é usado somente para retornar os resultados para o programa principal.

                      INTENT(INOUT)   à o argumento é usado tanto para passar a informação de entrada para a subrotina como para retornar os resultados para o programa principal.

A razão para a existência deste atributo INTENT é para informar ao compilador de como o programa pretende usar os argumentos Dummy  a fim de captar erros de programação.

A forma geral de uma subrotina é:

 

SUBROUTINE subroutine_nome (lista de argumentos)

    …(Secção de declarações)

    …(Secção de execução)

   

RETURN

END SOUBROUTINE (nome)

 

 

A declaração SOUBROUTINE marca o início da subrotina. Ela especifica o seu nome e a lista de argumentos que lhe é associada. Este nome tem de seu ir as convenções padrão de Fortran: pode ter comprimento máximo de 31 caracteres e conter tanto caracteres alfabéticos como numéricos apesar do primeiro caracter ter de ser alfabético. A lista de argumentos contém uma lista de variáveis e/ou arrays (tabelas, vectores)  que estão a ser transferidos do programa principal para a subrotina. Estas variáveis são chamadas de argumentos Dummy. Cada subrotina tem deter uma secção de declaração e outra de execução. Quando o programa chama a subrotina a execução do programa principal é suspensa e a secção de execução da subrotina corre. Quando a declaração de RETURN ou END SUBROUTINE é atingida o  programa principal começa novamente na linha a seguir à chamada da subrotina. Cada subrotina é compilada separadamente do programa principal e dos outros procedimentos. A declaração RETURN é opcional sendo apenas necessária quando queremos retomar ao programa principal antes de termos chegado ao fim da subrotina.

 

        ·      Uma função em Fortran é um procedimento cujo resultado é um único valor( alfanumérico) ou um único array que pode ser combinado com variáveis e constantes a fim de formar expressões em Fortran. Os dois tipos de funções são: funções intrínsecas.Para um estudo mais aprofundado clicar aqui, e funções subprogramas, que definidas por programadores individuais de forma a se dirigirem a uma necessidade especifica não endereçada pelas funções intrínsecas padrão.                       

 

A forma geral de uma função subprograma é:

        FUNCTION nome (lista de argumentos)

           

          (A secção de declaração deve declarar o tipo de nome)

           

            (Secção de execução)

           

            nome = expr

            RETURN

        ENDFUNCTION (nome)

 

A função tem que começar com uma declaração FUNCTION e terminar com uma declaração END FUNCTION. O nome da função pode ter até 31 caracteres alfanuméricos e underscore apesar da primeira letra ter de ser um caracter alfabético.

A função é invocada dentro de uma expressão e quando tal acontece começa a sua execução no princípio da função e termina quando é atingida uma declaração RETURN ou END FUNCTION. Como a execução termina numa declaração END FUNCTION, a declaração RETURN é raramente utilizada. Assim se resume a nossa abordagem aos procedimentos e estrutura de programação.

Desta forma, para além do hardware necessário e as suas componentes de aspecto tecnológico, lógico ou arquitectónico, é necessário um software que inclui sistemas operatórios (como um editor de texto e um compilador), ferramentas de desenvolvimento e programas de utilizadores.

 

 

 

Actualizada em 28/11/01
Grupo06



Uma iniciativa desenvolvida por:
© grupo06 - 2001