O Fortran, apesar de ser uma linguagem de programação antiga, é uma linguagem muito utilizada em sistemas legados. Seu uso atual seria em aplicações que envolvam meteorologia e engenharia, pela sua facilidade em trabalhar com cálculos matemáticos.
Contudo, a linguagem pode parecer de difícil compreensão, por ter uma escrita um pouco complexa, se for comparada com os códigos de Python, por exemplo. Além disso, como há versões diferentes da linguagem, muitas pessoas podem ficar perdidas com as atualizações que ela teve e com sua escrita.
Mas, se você deseja trabalhar com uma linguagem de programação que resolve operações matemáticas como equações do segundo grau, matrizes, dentre outras, o Fortran é uma linguagem que será de grande ajuda para você nesse quesito. Quer aprender mais sobre essa linguagem? Venha com a gente, vamos explorar ela a fundo!
- O que é Fortran e para que serve essa linguagem?
- Entenda a história da linguagem Fortran!
- Porque Fortran está ganhando popularidade novamente?
- Os princípios da linguagem Fortran.
- Quais as principais versões do Fortran?
- Porque aprender Fortran? 5 motivos principais!
- Fortran vs C
- Quais as vantagens e desvantagens da Fortran?
O que é Fortran e para que serve essa linguagem?
O Fortran foi criado pela IBM, na década de 1950 e seu significado vem da expressão a seguir: IBM Mathematical FORmula TRANslation System. Essa expressão, ou escrever simplesmente Fortran, são a mesma coisa. O Fortran foi criado por um grupo de pessoas que tinha como líder John Backus.
Essa linguagem é destinada a resolver equações e operações matemáticas dos mais diversos tipos. Antes do surgimento do Fortran, os programas que eram executados nas máquinas eram feitos de sequências numéricas, o que dificultava a localização de erros, caso houvessem, além da lentidão desse estilo de programação.
Mas, como essas operações numéricas eram realizadas? Nesse caso, Backus, além de pensar em uma linguagem que pudesse simplificar os cálculos matemáticos, também precisaria de uma ferramenta que fizesse a tradução dos códigos numéricos para os computadores.
Se fizermos uma analogia com os dias de hoje, essa ferramenta de tradução seria equivalente a um compilador.
No tópico a seguir, será explicada a história dessa linguagem, desde seus primórdios.
Entenda a história da linguagem Fortran!
A linguagem Fortran foi a primeira a ser considerada uma linguagem de alto nível em todo o mundo. Como mencionado anteriormente, ela foi criada por uma equipe liderada por John Backus, na IBM. A primeira versão dela, publicada de forma oficial, foi no ano de 1957.
Com a ideia do compilador sendo feita por Backus, ele fez uma proposta ao seu gerente, no ano de 1953. Depois disso, ele recebeu uma proposta para dar continuidade no lançamento da ferramenta de tradução e, para isso, precisou contratar pessoas que ajudassem ele no desenvolvimento.
No ano de 1957, que foi o ano do lançamento da linguagem, foi publicada uma documentação do Fortran, para, logo em seguida, proporcionar a possibilidade de fazer os primeiros testes no compilador que foi recém-lançado.
Nos primeiros anos, engenheiros e cientistas não precisaram mais ficar meses escrevendo sequências numéricas para suas aplicações. Mais adiante, será explicado de forma detalhada como foi feito o versionamento da linguagem, pois, conforme o passar do tempo, atualizações precisavam ser feitas.
Porque Fortran é considerado um dinossauro das linguagens de programação?
Isso é devido ao fato de ela ter sido a primeira linguagem considerada de alto nível do mundo. Também, devido ao fato de que, como o ano de criação do Fortran é 1954, seu código atualmente ficou obsoleto. Com o surgimento de novas linguagens, como Pascal, C, sua escrita foi ficando desatualizada.
Contudo, nos dias de hoje, ela retornou ao mercado após ficar um bom tempo fora de cena. Mas, porque uma linguagem da década de 1950 estaria retornando aos dias atuais?
Porque Fortran está ganhando popularidade novamente?
Ela ganhou popularidade por ser preciso processar um grande volume de números científicos. O ano de 2021 foi marcado pela pandemia do vírus Covid-19 e, nela, foi necessário realizar o processamento de dados numéricos diariamente, para verificar quem foi vacinado, quantidade de óbitos e infectados, dentre outros.
Além disso, as pessoas responsáveis pela engenharia de construções também precisam trabalhar com uma quantidade muito grande de números e cálculos precisos. A linguagem Fortran auxilia nessa precisão de operações matemáticas, dando aos engenheiros segurança e cálculos exatos para planejar suas construções.
Os princípios da linguagem Fortran?
Estrutura
A estrutura de um programa escrito em Fortran segue cinco princípios, que serão listados a seguir:
- A primeira parte seria o cabeçalho, em que: todo cabeçalho inicia com a instrução PROGRAM, acompanhado do nome do programa dado pela pessoa desenvolvedora, que pode ser qualquer nome, desde que não contenha caracteres especiais, como acentos e espaços;
- A segunda parte seria o conjunto de especificações, que seriam as declarações das variáveis e os valores que cada uma terá no sistema;
- A próxima parte seria o conjunto de instruções de execução, que seria a lógica que o código terá para resolver o problema em questão. Ou seja, seria o passo a passo para a resposta final de uma soma de dois números inteiros, por exemplo;
- A quarta parte seria a de subprogramas, que podem existir ou não para o código a ser feito;
- E, por fim, a última parte seria a instrução final. Nela, precisaríamos inserir a palavra END PROGRAM acompanhado pelo nome do programa que a pessoa deu na primeira linha.
Abaixo, veremos um exemplo simples de um código escrito na linguagem Fortran:
PROGRAM Subtrair
INTEGER :: num
num = 3
WRITE(*,*) " 3-3 = ", 3-num
END PROGRAM Subtrair
Esse código acima realiza a subtração de dois números inteiros.
Variáveis
Antes de explicar os tipos de variáveis em Fortran, será dada uma breve explicação do que são variáveis. Elas são utilizadas para armazenar valores em sua aplicação. Esses valores podem ser textos, decimais, números inteiros, decimais, dentre outros.
Os tipos de variáveis existentes na linguagem Fortran são os seguintes:
- Variáveis lógicas: somente possuem dois valores, sendo eles – T (true – verdadeiro) ou F (False – falso);
- Inteiros: seriam os números que não têm valores decimais. Eles podem ser valores positivos, negativos ou zero;
- Reais: seriam os números que têm a parte decimal e, da mesma forma dos inteiros, podem ser positivos, negativos ou zero;
- Complexos: números que possuem parte real e parte imaginária;
- Caracteres: seriam os valores armazenados em forma de textos.
Um exemplo de declaração de variáveis no Fortran seria o seguinte:
INTEGER :: valor1 = 3
CHARACTER :: texto1 = 'Trybe'
No exemplo acima, nota-se que foi criada uma variável do tipo integer, que seria do tipo inteiro (valor1) e foi criada também uma variável do tipo character, armazenando o texto Trybe nela.
No caso, essas palavras reservadas (integer e character) seriam para especificar os tipos das variáveis que estão sendo criadas. Como você pode notar, na linguagem Fortran, não há necessidade de encerrar a linha de código com o ponto e vírgula (;), diferente de linguagens como o PHP, por exemplo.
As palavras, em Inglês, utilizada para a declaração de variáveis, são: integer, real, complex, character e logical.
Funções Read e Write
Essas funções têm como objetivo ver os resultados de uma determinada operação ou fazer a impressão de uma mensagem no console. Também podem ser utilizadas para coletar informações que o usuário fornecerá. Vamos ver o que cada uma faz, de forma detalhada, a seguir:
- Função LER: Essa função faz com que o programa registre os valores inseridos pela pessoa usuária, utilizando o teclado, para que esses valores digitados sejam armazenados em variáveis disponíveis no sistema.
Vejamos o exemplo a seguir:
integer:: numero1
real:: numero2
read(*,*) numero1
read(*,*) numero2
No exemplo acima, em todas as funções do Fortran, as entradas necessárias para que a função cumpra seu papel serão inseridas dentro de uma lista entre os dois parênteses () e, quando o programa for executado e verificar a instrução READ, ele vai solicitar a você para inserir um valor à variável e pressionar Enter, em seu teclado.
- Função ESCREVER: Ela possui um funcionamento similar a função de leitura. Contudo, essa função apenas exibirá os valores digitados no console:
integer:: numero1
real:: numero2
write(*,*) numero1
write(*,*) numero2
No caso, ele vai imprimir os valores digitados para as variáveis numero1 e numero2.
Operações matemáticas
Para realizar operações matemáticas, os operadores são os mesmos se comparados com a matemática básica:
- Operador + → representa a adição;
- Operador – → representa a subtração;
- Operador * → representa a multiplicação;
- Operador / → representa a divisão;
- Operador ** → representa a potenciação, quando um número é elevado ao outro. Exemplo: 2².
Ou seja, com base no exemplo apresentado na seção anterior, de subtração de números, se o sinal matemático for trocado:
Ele vai realizar as operações da mesma forma, sejam elas de adição, multiplicação ou divisão.
Tomadores de decisão
Para isso, vamos imaginar que você vai a uma festa e, nela só entrará gente com idade acima de 15 anos. Logo, se a pessoa for mais velha que a idade, entrará na festa. Caso contrário, ela não entrará. No caso, vamos ver o código a seguir, para entender melhor o exemplo:
PROGRAM festa
INTEGER :: idade
idade = 19
IF (idade > 15) THEN
ESCREVA (*, *) "A pessoa pode entrar na festa, pois tem mais de 15 anos."
ELSE
ESCREVA (*, *) "A pessoa não pode entrar na festa, pois tem menos de 15 anos."
END IF
END PROGRAM festa
As instruções IF e THEN são palavras utilizadas para tomar decisões lógicas dentro de um programa. No caso, a condição dentro do IF e THEN é usada para fazer algo com base em uma condição atendida.
Já a palavra ELSE seria para, caso a condição anterior não seja verdadeira, por exemplo, você poderá imprimir uma mensagem de erro.
No exemplo acima, como a idade da pessoa fictícia seria 19, ela poderia entrar na festa, sem problemas. A mensagem, que seria exibida, seria: “A pessoa pode entrar na festa, pois tem mais de 15 anos.”
Funções
As funções são utilizadas para diminuir a quantidade de código escrito, além de economizar tempo no desenvolvimento e aumentar a produtividade. Por exemplo, quando você for fazer um cálculo de médias de uma turma e você tem mais de 50 alunos, você não precisará fazer a conta da média de aluno por aluno. Você utilizará uma função para retornar todas as notas de todos os alunos.
Assim, os parâmetros seriam os valores que uma função poderá receber, sejam eles numéricos ou textuais, e a quantidade de parâmetros pode ser qualquer uma.
A escrita de uma função seguirá o seguinte padrão:
function nome_qualquer(parâmetros)
declaração das variáveis
comandos lógicos
return
end
No caso, a palavra return é optativa, pois, ela somente indica que quando a função finalizar o que ela precisa fazer, ela deve retornar ao programa principal.
A chamada da função será algo similar a isso:
nome_qualquer_da_funcao = expressao
Pois, não basta apenas criarmos a função. Também precisamos invocar ela. Vejamos abaixo um exemplo de cálculo de área de um triângulo, utilizando funções:
triangulo = calculoArea(base, altura)
function calculoArea(base,altura)
real base, altura
calculoAreaTriangulo = base * altura / 2
return
end
A invocação da função é realizada nessa linha: triangulo = calculoArea(base, altura).
Formatos
Os formatos seriam um jeito de imprimir ou ler os dados de uma forma visualmente melhor para quem está desenvolvendo. Nesse caso, os formatos têm uma sequência de passos que indicarão como os dados vão ser processados. Esses passos são separados por vírgulas. É um jeito eficiente para o programador evitar erros que possam ocorrer em sua aplicação.
Um exemplo seria a formatação de textos, conforme o exemplo abaixo:
integer :: a = 5
character :: b = ‘LINGUAGEM’
write (*,‘(a<a>)’) b
No caso, o resultado no console seriam apenas as cinco primeiras letras da palavra linguagem, que seriam lingu.
Quais as principais versões do Fortran?
Fortran 77
Quando foi realizado o lançamento dessa versão, no ano de 1978, foram implementados alguns recursos para a linguagem ser aprimorada. Os recursos foram os seguintes:
- Inclusão do character como tipo de dado;
- Adição da estrutura de decisão IF e ELSE, podendo ser criado blocos de código lógico.
Fortran 90
Com o aparecimento de linguagens novas na época, como C e Pascal, o Fortran 77 acabou perdendo essa disputa, o que proporcionou o lançamento da versão 90 do Fortran, em 1990.
A linguagem passou por um processo de revisão pelo fato da alocação de memória ser dinâmica. Isso permitiu que a linguagem fosse amadurecida, para que conseguisse concorrer com C e Pascal.
Fortran 95
Publicada em 1996, essa versão teve como objetivo aproximar o padrão código Fortran com o HPF, High Performance Fortran, que é uma linguagem muito usada para equipamentos que tenham arquitetura avançada. Podemos dizer que o HPF seria uma continuação do Fortran 90.
Porque aprender Fortran? 5 motivos principais!
Abaixo, uma lista de motivos para o aprendizado dessa linguagem:
- Auxilia na lógica de programação e no aperfeiçoamento dos cálculos matemáticos, pois essa linguagem é usada em análises numéricas;
- Manutenção em códigos legados, pois há aplicações que ainda operam com essa linguagem;
- Funções poderosas e ricas no código;
- Suporte para números complexos;
- Suporte para argumentos presentes em sub-rotinas.
Uma curiosidade é que, para aplicativos de engenharia, a linguagem utilizada é, em grande parte dos casos, Fortran. Ou seja, é muito importante que alunos formados em engenharia consigam entender e modificar um código escrito na linguagem Fortran.
Fortran vs. C
A seguir, será exibida uma listagem com algumas diferenças que essas duas linguagens possuem:
- Para pessoas não especialistas, a linguagem Fortran tem um aprendizado mais fácil do que a linguagem C;
- Enquanto Fortran é voltada para resolver problemas de cálculos matemáticos, a linguagem C é mais destinada para a programação de um sistema ou de um jogo como um todo;
- Quando falamos de otimização de código, dependerá muito de como o desenvolvedor ou desenvolvedora o escreveu. Mas, o desempenho da linguagem Fortran tende a ser maior que a linguagem C;
- A quantidade de códigos e bibliotecas sobre a linguagem Fortran é maior que a quantidade que a linguagem C disponibiliza;
- Quando utilizamos os dois compiladores dessas linguagens, o compilador da linguagem Fortran fornece mensagens melhores de se interpretar;
- Por fim, a linguagem Fortran possui mais facilidade em ser utilizada e é mais robusta, se for comparada com a linguagem C.
Quais as vantagens e desvantagens da Fortran?
A vantagem do Fortran seria seu desempenho satisfatório para realizar tarefas de computação numérica complicadas, como a manipulação de números complexos.
Contudo, a desvantagem em sua escrita seria a dificuldade que pessoas podem ter em escrever laços de repetição. Além disso, para cada operação matemática que precisa ser feita, será uma tarefa e, um sistema terá muitas tarefas a serem feitas, separadamente. E, no caso, o resultado poderia ser uma lentidão das grandes em seu sistema.
Essa linguagem é muito bacana, não acha? Pois ela facilita muito o dia a dia dos engenheiros, engenheiras e cientistas que trabalham com números e contas matemáticas a todo instante. É de extrema importância que pessoas que façam essas graduações saibam trabalhar com o Fortran, pois, além de entender o código, poderão também fazer novos recursos utilizando-a.
Do mesmo modo, o Fortran é uma linguagem de fácil aprendizado, mesmo para quem está começando a aprender ela do zero.
Se você se interessou por aprender linguagens relacionadas às operações matemáticas, aprenda agora sobre a Linguagem R!