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