Você está na página 1de 12

Quebrando Estigmas de Fortran

Ramon Vaz dos Santos

Curso de Bacharelado em Sistemas de Informação – Universidade Federal do Piauí


(UFPI) – CEAD
660XX-XXX – Teresina – PI– Brasil

Ramon_vaz@hotmail.com.br

Resumo. O objetivo deste artigo é mostar um pouco da linguagem de programação Fortran,


seu histórico, suas caracteristicas, sua principal aplicabilidade, como também um pouco dos
aspectos que Fortran tem em comum com outras linguagens. Os termo supracitados são
apenas uma rápida às características mais comuns da programação do FORTRAN. Entretanto
este artigo não é uma referência completa da linguagem de programação nem muito menos
ensina a programar, e sim apenas uma explanação de como a linguagem ainda pode ser
utilizada em seu contidiano mostrando seus pontos fortes, como também seus pontos francos,
afim de acabar com o estigma de que a mesma por já ser uma linguagem com um pouco mais
de tempo que as demais, não possa mais ser utilizada no cotidiano.

Palavras-chave: Fortran, Linguagem de programação, estigma.

Abstract. The purpose of this article is to show some of the Fortran programming language, to
show its history, its characteristics, as well as its main applicability, as well as some aspects
that Fortran has in common with other languages. The above terms are just a quick to the most
common features of FORTRAN programming. However this article is not a complete reference
of the programming language nor much less teaches to program. It is just an explanation of
how language can still be used in its daily life by showing its strengths, as well as its frank
points, in order to end the stigma that it is already a language with a little more time than the
others , Can no longer be used in daily life.

Key words: Fortran, Programming language, stigma.


1. Introdução
A linguagem FORTRAN, considerada a primeira linguagem de programação de
alto nível, e foicriada prar auxiliar os programadores na codificação de problemas
técnicos e científicos que a demandariam um enorme poder computacional. O Fortran é
uma das linguagens mais popular no meio técnico e científico, pois possui muitas
bibliotecas computacionais na área computacional numérica.

2. Histórico e Paradgma
A linguagem FORTRAN , foi desenvolvida pela IBM na década de 50, mais
exatamente em 1957. E tinha como objetivo inicial fazer a tradução das formulas
matematicas para uma linguagem de computador, para que o mesmo podesse fazer as
operações, que manualmente eram muito demoradas. Esse objetivo da tradução de
formulas matemáticas é ponto crucial da linguagem até os dias de hoje, pois a mesma é
utilizada muito na Análise numérica e na computação científica (utilização do
computador para fazer calculos muito pesado - computação Massiva), ou seja, a
linguagem Fortran tem a caracteristica de eficiencia prar computação numérica.

Fortran apesar de programação antiga é considerada a vóvó das linguagens de alto


nível, mas em contraste tem sua sintaxe bem proxima a linguagem de maquina. Esse
contraste se dá devido a data da sua criação, pois nessa época os computadores estavam
em desenvolvimento e exigiam uma linguagem que os acompanhassem e fossem
proxima da linguagem de maquina utilizada (no caso o ASSEMBLY). A linguagem
Fortran ao decorrer dos anos passou por várias modificações e atualizalizações para a
adequações de novas funções. Abaixo algumas as prioncipais atualizações do fortran e
algumas caracteristicas.

 1954, 1956, 1958, versões Fortran I(Original), II e III hoje consideradas


ultrapassadas.

 1962, 1966: Fortran IV, Fortran 66, Mais antigas versões até hj usadas.

 1978. Fortran 77 (ANSI X3.9-1978);

2
 1990. Fortran 90: Linguagem considerada tão boma quanto C, Pascal, só que
com elhorias como: a inserção de mecanismos para manipulação de arranjos,
que não são oferecidos por nenhuma outra linguagem, vários tipos de rosca, e
processamento de matriz direta.

 1995. Fortran 95: O padrão formal da linguagem mais recente, conhecido como
Fortran 95. Houve o acrescimo de pequenas alterações ao FORTRAN 90,
motivada pela necessidade de melhorias para o uso de computadores com
arquiteturas avançadas, bem parecedida com a linguagem High Performance
Fortran ou HPF. A linguagem HPF é uma espécie de extensão do FORTRAN 90
e, atualmente, muitos fabricantes oferecem compiladores HPF baseados na
linguagem FORTRAN 90.

 2003. Fortran 2003: Inserção mde novos comando , que permitiram o controle e
a implementação da: Orientação a Objeto.

 2008. Fortran 2008 atualização mais recente da linguagem, a ISO/IEC 1539-


1:2010, conhecido como Fortran 2008. Como o Fortran 95, sofreu pequenos
melhoramentos, Atribuindo –o mnelhorias e correções:
 Co-array Fortran – um modelo de execução paralela
 A construção Scalable parallelism – para iterações sem
interdependências.
 O atributo CONTIGUOUS – especifica restrições na definição da
estrutura lógica

Com o tempo, principalmente nessa atualização para o Fortran 2003, algumas


funções foram desenvolvidas e acrecentadas a linguagem ao qual permitiu-se
formulação de diferentes estruturações para o código, ou seja, de forma bruta à
linguagem possui diferentes formas de resolução para os diferentes problemas.

3
3. Tipos em Fortran

Apesar de Fortran se considerada uma linguagem de “alto nível” e ao mesmo tempo


uma linguagem aproximada a nível de maquina, a mesma é uma linguagem de um nível
um pouco mais simples quando comparadas a outras linguagens tais como C, JAVA,
PHYTON... Pois essas possui uma vasta classificação de tipos de variáveis tais como:
Tipos básicos, tipos de enumeração, Tipos Void e Tipos Derivados.

Basicamente o Fortran possui alguns tipos, tais como:, INTEGER, REAL,


LOGICAL e CHARACTER... Segue abaixo um pouco dos principais tipos e suas
especificações sobre o cada um deles.

3.1. Tipo Integer:

O comando Integer é usado para declarar variáveis do tipo inteiras inteiras.

Sintaxe:

INTEGER nome [,nome]...

Ex: integer soma,cont

integer a(0:10,0:8)

3.2. Tipo REAL

O comando REAL é usado para declarar variáveis reais.

Sintaxe:

REAL nome[,valor]

Ex: real a,b,c (1,10,5)

3.3. Tipo CHARACTHER

O comando character é usado para declarar, um nome de variável, conjunto de


variáveis, do tipo alfa-numérica.

Sintaxe:

4
CHARACTER <VARIÁVEL>[*Numero de caracteres da variável]

Ex: CHARACTER N1*10, N2*20, C*30

3.4. Tipo LOGICAL

O comando LOGICAL é usado para declarar um nome de variável, conjunto de


variáveis, do tipo lógica. Sendo que as variáveis lógicas devem ser TRUE
(verdadeiro) ou FALSE (falso).

Ex: LOGICAL B,C

Os tipos supracitados, são os mais básicos utilizados, que também são comum em
outras linguagens. Mas o Fortran também dispões de alguns tipos mais complexos tais
como: double precision(usado para duplicar o número de algarismos significativos de
uma variável ou de um conjunto), complex(usado para declarar variáveis do tipo
complexo), que ajudam em comandos mais complexos dentro do desenvolvimento.

4. Estruturas de Controle.

A estruturas de controles são estruturas que ajudam no desenvolvimento do prgrama


sejam elas estruturas de decisão ou estruturas repetitivas. Em Fortran as estruturas de
repetição são comuns as outras linguagens, sendo o único diferencial o processmento
das mesmas, pois como alinguagem Fortran é uma linguagem proximo a linguagem de
maquina,a mesma tem seu processamneto mais rápidop que as outras. Segue abaixo
algumas das principais estruturas de controle:

4.1. Comandos IF/ELSE

Os comandos IF modifica o controle do fluxo ou executam outro comando (ou um


bloco de comandos) dependendo do resultado verdadeiro ou falso de uma expressão
lógica contida no particular comando IF. Os três tipos de comandos IF são:

4.1.1 IF lógico: Bem apreceido com os das outras linguagens. Ele executa ou
ignora um comando contido no proprio IF, dependendo da validade da
sentença (true ou false).

5
4.1.2 IF bloco: Permite executar um determinado bloco de comandos,
dependendo do valor da(s) expressão(ões) lógica(s) ou relacional(is)
dentro dele.

Concatenado com o comando IF, temos o comando Else que fornece uma rota
alternativa para a contraposição do IF, pois casoa condição se tone verdadeira o IF é
executado. Caso ela seja falsa ele pula e xecuta a sequencia de comandos dentro do
ELSE.

4.2. Comando DO

Permite com que um bloco de comandos sejam executados repetidamente, sendo


que o numero de repetições vai depender do numero do valor da variável de controle. O
camando possui duas estruturas:

4.2.1 A estrutura DO - END DO (repeat loop) repete um bloco de comandos


condicionado ao valor de uma variável de controle que deve variar de
modo fixo e pré-determinado:

do v=vi,vf,incr

bloco de comandos

end do

4.2.2 A estrutura DO WHILE - END DO (while loop) executa o laço DO


enquanto uma expressão

lógica/relacional for verdadeira:

do while (var.ge.0)

bloco de comandos

end do

6
4.3. Comando SELECT CASE

A estrutura SELECT CASE bem parecido com o comando Case na inguagem C,


que permite a execução de apenas uma entre muitas opções possíveis.

SINTAXE:

SELECT CASE (exp. case)


CASE (lista de seleção 1)
comandos 1
CASE (lista de seleção 2)
comandos 2
...
CASE (lista de seleção n)
comandos n
CASE DEFAULT
comandos d
END SELECT

4.4. Comando EXIT

comando que termina bruscamente um laço DO, direcionando o fluxo do programa


para a primeira linha de comando após o END DO do comando Do interrompido.

Existe alguns outros comando amsi complexos que ajuydam no desenvolvimento do


programa, e que semelhante as outras linguagens possuem suas distinções.

5. Tratamento de Exceções

Devido o tempo de existencia da lingua e o surgimento de novas linguagens amis


avançadas, e apesas do Fortran ter atualizado ao decorrer dos anos, a linguagem possui
um suporte retrito quando se refere à tratamento de exceção, e comparado com outras
linguagens mais atuais como C, JAVA, Phyton... Tendo sua eficiencia basicamente no
gerenciando de operações com pontos flutuantes.

7
6. Funções

Uma função é uma ferramenta que retorna um valor único. Sendo que a mesma não
pode modificar seus argumentos. O valor retornado é conhecido como valor de função,
que é denominado pelo nome da função. O Retorno é sempre um valor e a ela podem
ser passados qualquer número de parâmetros, o tipo de função deve ser declarado no
programa principal como se fosse uma variável comum, uma função pode utilizar outras
funções como parâmetro;

SINTAXE:

function name(arg1, arg2, ....)

[declarations, including those for the arguments]

[executable statements]

end function [name]

7. Escopo e ambiente de referência

Fortran tem um espaço de nomes simples. Um programa criado na linguagem


Fortran cria um único espaço global junto com o escopo local para cada procedimento
ou função. As variáveis globais são agrupadas em um “bloco Common”, cada bloco
common consiste em um nome e uma lista de variáveis. O escopo global mantem os
nomes dos procesimentos e blocos common. Nomes globais tem tempo de vida
correspondem ao tempo de vida do programa. [¹]

O escopo de um procedimento matém nomes de parametros, variáveis locais e


rótulos. Nomes locais obscurecem os nomes globais, se conflitarem. Os nomes no
escopo local tem como padrão, tempo de vida que corrersponodem a uma invocação de
procedimento. O programador pode dar a uma variável local o tempo de vida de uma
variável global, listando-a em uma instrução save.[¹]

A copilação separada torna difícil para os compiladores de Fortran detectar


diferentes declarações para um bloco Common em arquivos distintos. Assim, o
compilador precisa traduzir referencias de bloco common em pares (bloco,
deslocamento) para produzir comportamento correto.[¹]

8
8. Suporte a Orientação à Objeto

A orientação à objetos (O.O) na linguagem Fortran é um termo que os usuários da


linguagem não estão acostumados, pois os compiladores da mesma não possuíam
suporte para programação OO até o recente lançamento da versão 11.1 do compilador
Intel Visual Fortran. Esse compilador suporta a maioria das características de orientação
a objetos do padrão Fortran 2003, permitindo a atualização de práticas de programação.

Na linguagem Fortran pode ser utilizado em um nível de abstração muito maior do


que se imagina utilizando conceitos de programação Oriantação a Objeto. Mas devido a
complexidade em aprender a linguagem es e adaptar a lingauagem , muitos
programadores ou estudantes de computação preferem não estuda-la, fazendo com que a
mesma possua pouca explanação e desenvolvimento e destaque comparando-se com as
outras linguagens.

9. Carta Sintática (Com partes da BNF)

No contexto geral não existe muito a se relatar da lingagem Fortran quando se trata
da “Syntax graph” ou carta sintática da mesma, pois pouco diferente das outras
linguagens, a linguagem de programação Fortran por ser mais antiga e mais voltada a
parte da computação numérica, ao invés de utilizar BNF (Backus Forma Normal ou
Backus Naur Form), que é uma meta-sintaxe usada para expressar um modo formal de
descrever linguagens formais. Fortran utiliza "Os diagramas de sintaxe", também são
conhecidos como "Trilhas Railway" ou "Diagramas de estrada de ferro". O que quer que
eles são chamados, eles não nos permitem escrever qualquer coisa que não pode ser
escrito em BNF, eles apenas fazem a gramática mais fácil de entender.

A declaração é construído a partir de sintaxe de baixo nível. A sintaxe de baixo


nível descreve os elementos básicos da línguagem, que são chamados símbolos lexicais.
Um token lexical é a menor unidade significativa de uma declaração e pode consistir em
1 ou mais caracteres. Tokens são nomes, palavras-chave constantes literais (exceto
constantes literais complexos), etiquetas, símbolos de operadores, vírgula = , => , : , :: ,
;, % , e delimitadores. Um literal de tipo complexo consiste em vários tokens. Exemplos
de símbolos de operadores são + e // .

9
Delimitadores são pares de símbolos que envolvem partes de um
comunicado. Os seguintes pares de símbolos são delimitadores:

Ex:
/ ... /
(...)
(/ ... /)

Nas instruções a seguir, as barras distinguir a lista de valores a partir da lista de


objetos em um DATA declaração, os parênteses são delimitadores que marcam o início
eo fim da lista de argumentos na CHAMADA declaração, e os pares ( / e / ) marcam o
início e no fim de os elementos de um construtor de matriz:

Ex:

DADOS X, Y / 1.0, -10.2 /

CHAMADA PRINT_LIST (LIST, SIZE)

VECTOR = (/ 10, 20, 30, 40 /)

10
10. Conclusão

Embora seja uma linguagem de alto nível e ao mesmo tempo uma linguagem
proximo a nivel de maquina, devido a época sua criação, Fortran é uma linguagem que
ainda é utilizada atualmente em segmentos específicos da computação. Com o
aprimoramento a mesma possui uma gama de outros recursos, que fazem com que em
alguns aspectos se torne única. Em contrapratida Fortran é uma linguagem muito rígida
em seu Layout, perdendo para a simplicidade das outras linguagens tasi com C, e
Pascal. Sua confiabilidade se da confiavelmente apenas voltada a computação numérica,
pois a mesma como citado anteriormente teve sua criação para uso principal na
matemática.

Sendo assim conclui-se que apenas dos tempos a Fortran é uma linguagem que
tende a continuar no mercado durante um bom tempo, porém a mesmas será utilçizado
apenas no escopo matemático, pois não fornece suporte e nemconfiabiulidade para as
demais funcionalidades do mercado. Como também seu desenvolvimento se tornaria de
difícil manutenção e alto custo de treinamento.

11
11. Referências

 Livro: Helder Pereira Cristo Belo Horizonte Junho/2003: Guia básico de


programação em linguagem Fortran 77 e 90.
 Livro: Dias Rudnei C. Programação Científica Em Fortran 95, disponível em:
https://books.google.com/books?id=iXlFBQAAQBAJ&pg=PA24&lpg=PA2
4&dq=artigo+linguagem+fortran&source=bl&ots=fi-
Diks3bB&sig=S2qxN07toWkpuVKV-18s7I6TfL0&hl=pt-
BR&sa=X&ved=0ahUKEwi3lv_ipsrQAhVCLyYKHZ39CAwQ6AEIUjAI#
v=onepage&q=paradigmas&f=false.
Acesso: 24/11/2016.
 [¹] Livro: Por Keith Cooper,Linda Torczon. Contruindo compiladores,
disponponível
em:https://books.google.com.br/books?id=rJKoBQAAQBAJ&pg=PT352&l
pg=PT352&dq=escopod+e+fortran&source=bl&ots=_mB_0Ljqgd&sig=t4U
sQDPdSsSiASZffWtCxzgcJTc&hl=pt-
BR&sa=X&ved=0ahUKEwj9jJvfhM7QAhVi4IMKHSHJC64Q6AEIKzAB#
v=onepage&q=escopod%20e%20fortran&f=false.
Acesso: 24/11/2016.
 Notations for context-free grammars – BNF: Disponível em:
http://www.cs.man.ac.uk/~pjj/bnf/bnf.html
Acesso: 24/11/2016.
 Apostila de Fortran, Universidade Estadual do Ceará, disponível em:
http://www.dma.ufv.br/tutorial/fortran.pdf
Acesso: 27/11/2016.
 Wikipedia sobre Fortran, disponivel em :https://pt.wikipedia.org/wiki/Fortran
Acesso: 25/11/2016
 Apotila Formula Translation:
https://pt.scribd.com/document/6437602/Fortran
Acesso: 26/11/2016
 O que é Fortran, Diponível em: http://www.criarweb.com/artigos/235.php
Acesso: 27/11/2016

12

Você também pode gostar