




























































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Este documento fornece informações sobre programação fortran para engenharia, incluindo um fluxograma para gerar 100 pontos para construir um gráfico da velocidade superficial em função do diâmetro de partícula, compiladores fortran como intel fortran, compaq fortran, gcc e profortran, tipos de variáveis no fortran, como integer, real e real*8, e como chamar funções no fortran. Além disso, é fornecida uma amostra de código fortran para leitura de dados e cálculo da média e do desvio padrão.
Tipologia: Notas de estudo
1 / 68
Esta página não é visível na pré-visualização
Não perca as partes importantes!
i
1 a^ Edição 2003
1
O Fortran tem sido usado por cientistas e engenheiros por muitos anos, sendo uma das principais linguagens de programação científica especialmente devido a sua capacidade em fazer cálculos. Taxada de linguagem obsoleta pelas pessoas que desconhecem as novas atualizações na sua estrutura de programação, o Fortran hoje possui todos os elementos de linguagem que tornaram o C++ famoso. O Fortran, abreviação de FORmula TRANslation (ou originalmente IBM Mathematical FORmula Translation System), é a mais velha das linguagens de alto nível e foi desenvolvida pelo grupo IBM no final da década de 1950. A linguagem ganhou popularidade na década de 1960 e ganhou sua primeira versão padronizada: Fortran 66. Em meados da década de 1970, todo grande computador vinha com a linguagem Fortran embutida e era a linguagem mais robusta da época e tinha um processamento muito eficiente. Além disso o código podia ser compilado (transformado em um programa executável) em qualquer tipo de sistema de computador e portanto se tornou a linguagem mais usada no meio científico. O domínio do Fortran levou a uma nova atualização que ganhou o nome de Fortran 77 (pelo qual o Fortran é conhecido até hoje). Infelizmente a revisão para o Fortran 77 foi muito conservadora mantendo uma estrutura de programação antiga. Com a popularização dos computadores pessoais, os jovens programadores da década de 1980 preferiam aprender Basic, Pascal e no final dos anos 80, o C; que eram linguagens que tinham uma estrutura de programação mais bem estruturada e moderna. Essa preferência dos jovens programadores levou no início da década de 1990 a uma mobilização para implantar o C++ como linguagem de programação preferencial no meio científico, aliando capacidade de cálculo com uma estrutura moderna de programação. A migração para o C++ só não foi maior porque muitas rotinas de métodos numéricos estavam em Fortran e daria muito trabalho e levaria muito tempo para traduzi-las para o C++. Na mesma época (1991) o Fortran recebeu sua maior atualização, com a introdução do Fortran 90 que permitia o uso de muitos comandos e estrutura das linguagens mais modernas.
2
Este curso, irá apresentar os principais comandos do Fortran 90 usados para fazer projetos de engenharia. Os exemplos e exercícios focam em problemas tradicionais e de utilização prática. Ao final do curso, alguns métodos numéricos mais utilizados são abordados, mostrando como criar programas usando bibliotecas numéricas.
3
Programar em Fortran, assim como em qualquer outra linguagem de programação é simples, o complicado é organizar o pensamento lógico e estruturar a resolução do problema para se atingir o objetivo que se deseja. É um erro comum e grave para o iniciante em programação, escrever um programa sem ao menos esquematizar as ações que devem ser executadas pelo programa (algoritmo) de modo a solucionar o problema. Nos primeiros programas, o algoritmo ajuda a organizar o pensamento lógico, principalmente quando decisões devem ser tomadas ou operações com vetores e matrizes são necessários. Após algum tempo de experiência, o processo de organização da estrutura do programa passa de a ser lógico e fácil, não sendo necessário fazer um algoritmo muito detalhado. Porém se o programa for utilizado por mais de uma pessoa, o algoritmo ainda é necessário para facilitar o entendimento do programa por outras pessoas, uma vez que ler um algoritmo é bem mais fácil do que ler o código de um programa.
Um algoritmo é uma sequência finita de passos que levam a execução de uma tarefa, ou seja, é a receita que deve ser seguida para se chegar a uma meta específica. O programa por sua vez, é nada mais do que um algoritmo escrito numa linguagem de computador.
Regras Básicas para Construção de um Algoritmo
Para escrever um algoritmo deve-se descrever a sequência de instruções de maneira simples e objetiva, podendo-se utilizar algumas técnicas básicas:
v usar somente um verbo por frase v usar frases curtas e simples v ser objetivo v usar palavras que não tenham sentido dúbio
4
Fases de um Algoritmo
O algoritmo deve conter as três fases fundamentais da resolução de um problema. Estas fases são a leitura de dados, cálculos (ou processo) e impressão dos resultados.
Entrada de Dados
Impressão dos Processo Resultados
Um algoritmo para calcular a média de três números tomaria a forma:
O fluxograma é uma forma padronizada e eficaz para representar os passos lógicos de um determinado processo. Sua principal função é a de facilitar a visualização dos passos de um processo. O fluxograma é constituído por diversos símbolos que representam estes elementos de programação (Tabela 2.1). No interior dos símbolos sempre existirá algo escrito denotando a ação a ser executada.
Tabela 2.1. Elementos do fluxograma início e fim leitura de dados impressão de dados ação decisão conexão
7
EQ2 : 0 ,^14
0 , 33 0 , 33 Pr
0 , 33
para NRe > 2100
d diâmetro do tubo L comprimento do tubo NNu número de Nusselt NPr número de Prandtl NRe número de Reynolds φ razão de viscosidade do fluido no centro e na parede do tubo
O fluxograma do programa para cálculo do coeficiente de transferência de calor será:
Início
NRe, NPr, d, L,
NRe < 2100 Calcula NNu pelaequação EQ
Não
Sim
φ
Calcula NNu pela equação EQ
Fim
Imprime NNu
Figura 2.4. Fluxograma para cálculo do coeficiente de transferência de calor.
No fluxograma acima, após a leitura das variáveis necessárias, o programa deve decidir qual das duas equações será usada para o cálculo do número de Nusselt,. Esta decisão é feita comparando o número de Reynolds lido com o limite superior para a aplicação da equação EQ1. Dependendo do valor do número de Reynolds, o número de Nusselt será calculado pela EQ1 ou pela EQ2.
8
EXEMPLO 4 É muito comum em engenharia, termos que gerar dados para montar um gráfico de uma determinada função. A velocidade terminal de uma partícula é função do tamanho da partícula e das propriedades do fluido e do sólido e pode ser calculada pela equação:
( )
t
Se quisermos gerar 100 pontos para construir um gráfico da velocidade superficial em função do diâmetro de partícula, para partículas variando de 50 a 1000 μm poderemos usar o seguinte fluxograma:
Início
s, f, μ
DeltaDP = (1000 - 50)/
I = 1
DP = 50 + (I-1)*DeltaDP
Calcula Ut
Dp, Ut
I = I +
I <= 100
Fim
Sim
Não
ρ ρ
Figura 2.5. Fluxograma para cálculo do coeficiente de transferência de calor.
9
No fluxograma acima, um contador ( I ) é utilizado para fazer a iteração de 1 até 100 que é o número de pontos desejado para o gráfico. Um valor de incremento é definido para o diâmetro das partículas ( DeltaDP ) e este é usado no cálculo do diâmetro da partícula ( DP ). Após a velocidade terminal ( UT ) ser calculada, os valores de DP e UT são impressos. O contador é incrementado em uma unidade e o processo continua até que 100 pontos sejam impressos.
A tecnologia Pinch, usada para otimizar a troca de energia entre as diversas correntes de um processo, requer a organização das temperatura das diversas correntes em ordem decrescente, em uma de suas etapas. As temperaturas das correntes são armazenadas em um vetor que deve ser organizado do maior valor para o menor valor. Se a temperatura de 10 correntes tiverem de ser organizadas, o fluxograma a ser seguido será dado por:
Início
Ler Vetor A contendo as Temperaturas das Correntes
I = 0
I = I + 1
J = I
A(I) < A(J) B = A(I) A(I) = A(J) A(J) = B
J < 10
I = 9
Fim
J = J + 1
Não
Sim
Não
Não
Sim
Sim
Figura 2.6. Fluxograma para organização de um vetor em ordem decrescente.
10
Neste fluxograma usamos o conceito de contadores (variáveis I e J ), que servem para contar o número de iterações realizadas, ou simplesmente para marcar uma posição. Neste caso os contadores servem para indicar qual a posição no vetor A que contém as temperaturas. Para organizar o vetor é necessário procurar pelo maior valor e colocá-lo na primeira posição do vetor, buscar pelo segundo maior valor e colocá-lo na segunda posição do vetor e assim por diante. Se inicialmente o vetor estiver totalmente desorganizado o maior valor pode estar em qualquer posição no interior do vetor, como por exemplo:
1 2 3 4 5 6 7 8 9 10 12 9 25 11 2212 15 3 7 18
Posição Valor
Para achar o maior valor e colocá-lo na primeira posição do vetor, podemos usar o contador I e dar a ele o valor 1 referente à primeira posição no vetor A. Portanto a variável A(I) conterá o valor do primeiro valor do vetor, ou seja, A(1). Para colocar o maior valor do vetor nesta posição, devemos comparar o valor desta posição com os valores contidos nas outras posições do vetor, ou seja com as posições 2 até 10. Para controlar qual a posição que será comparada com a posição I , podemos usar o controlador J , fazendo este variar de 2 até 10. Se o valor de A(J)^ for maior que o valor de A(I) , então trocamos estes valores de posição de forma que o maior valor fique na primeira posição:
1 2 3 4 5 6 7 8 9 10 12 9 25 11 2212 15 3 7 18
Posição Valor
Uma vez que a primeira posição do vetor foi preenchida corretamente com o maior valor do vetor, podemos repetir a mesma operação para achar o segundo maior valor e colocá-lo na segunda posição do vetor. Para tanto, o contador I é incrementado recebendo o valor 2 referente à segunda posição no vetor A. Para colocar o segundo maior valor do vetor nesta posição, devemos comparar o valor desta posição com os valores contidos nas posições restantes do vetor, ou seja com as posições, 3 até 10. Novamente, se o valor de A(J) for maior que o valor de A(I) , então trocamos estes valores de posição de forma que o maior valor fique na segunda posição:
1 2 3 4 5 6 7 8 9 10 25 9 12 11 2212 15 3 7 18
Posição Valor
13
Compilador é o nome que se dá ao programa que irá transformar o seu código Fortran em um programa executável. Existem vários compiladores Fortran, como o Intel Fortran, Compaq Fortran, GCC, ProFortran, entre outros. Atualmente os compiladores mais usados são:
v INTEL e COMPAQ FORTRAN Devido a facilidade de sua interface, modernidade do código que compila, capacidade de gerar aplicativos com interface gráfica em Windows (QuickWin) e grande variedade de métodos já codificados em sua biblioteca numérica.
v GNU FORTRAN (GCC) Devido a ser um programa livre (grátis). É um compilador para Fortran 77 mas contém a maioria dos comandos do Fortran 90 além da possibilidade de formatação livre do código. Não cria aplicativos com interface gráfica e não contém módulo de bibliotecas numéricas.
Os programas a serem feitos neste curso poderão ser executados em qualquer compilador Fortran com capacidade de compilar Fortran 90. Somente alguns exemplos de capítulo 12 sobre métodos matemáticos irão requerer a biblioteca numérica IMSL. As seções seguintes irão apresentar como iniciar um projeto no COMPAQ Fortran, que é a versão atual do antigo mas ainda popular MS Fortran PowerStation. O INTEL Fortran é a nova denominação do agora antigo COMPAQ Fortran (a diferença é a possibilidade de integração com a plataforma .NET da Microsoft)
No COMPAQ Fortran, todo programa em Fortran está ligado a um projeto que irá conter o código fonte do programa que está sendo escrito. Para criar um projeto no Fortran, selecione File no menu principal e depois selecione New (Figura 3.1).
14
Figura 3.1. Abertura de um novo projeto no Fortran
Este compilador é capaz de criar vários tipos de programas (programa executável, subrotina DLL, programas com interface Windows, etc.). Neste curso abordaremos os programas executáveis, portanto escolha a opção Fortran Console Application (Figura 3.2).
Figura 3.2. Abertura de um novo projeto no Fortran
15
Dê um nome para o projeto que estará sendo criado. Um novo diretório será criado com o nome deste projeto. Será neste diretório que os arquivos com o código do programa em Fortran deverão ser gravados (Figura 3.2). Escolha para criar um projeto vazio (Figura 3.3). Finalize a abertura do projeto pressionando o botão Finish.
Figura 3.3. Abertura de um novo projeto no Fortran
Após criado o projeto, o arquivo que conterá o código em Fortran deverá ser criado. Este arquivo é um arquivo texto comum que posteriormente será gravado com a extenção .f90. Para criar o arquivo do código, pressione o botão New Text File (Figura 3.4).
Figura 3.4. Abertura de um novo arquivo de código.
16
Este arquivo texto poderá ser editado e o código do programa poderá ser digitado nele. Após editado, este arquivo deve ser gravado com a extensão .f. Para salvar o arquivo selecione File no menu principal e depois selecione a opção Save , ou simplesmente pressione o botão Save (Figura 3.5). O nome deste arquivo poderá ser igual ao nome do projeto (recomendável para não causar muita confusão).
Figura 3.5. Gravação de um novo arquivo de código.
Não esqueça de gravar o arquivo com a extensão .f90 (Figura 3.6).
Figura 3.6. Gravação de um novo arquivo de código.
19
O programa começa com o comando PROGRAM e termina com o comando END.
PROGRAM
onde
O comando PROGRAM é na verdade opcional, mas pode vir a ser importante para diferenciar o programa principal dos outros módulos, subrotinas e funções (veremos estas estruturas no Capítulo 11). É possível inserir comentários ao longo do programa de forma a identificar as diversas partes do programa e descrever o que está sendo realizado em cada parte. O comentário começa com o caracter!
PROGRAMA EXEMPLO ! PROGRAMA PARA CALCULO DE 2 + 2 A = 2 + 2! EQUAÇÃO END
Muitas vezes as equações são muito longa para caberem na tela, de forma que a linha do programa sairia do campo visual. Neste caso o caracter & pode ser usado para indicar que esta linha de código continua na linha seguinte. O & deve vir no final da linha.
PROGRAMA EXEMPLO ! CALCULO DE UM BALANÇO POPULACIONAL A = (TAU + BETA)(TAU + BETA/2.0(TAU + BETA)(R – 1.0))R/ & (1.0 + TAU + BETA)**R END
O Fortran 77 é a versão antiga da linguagem Fortran. Ainda hoje ela é bastante popular pois alguns programadores aprenderam a programar em Fortran 77 e escolheram não se atualizar para o usar o Fortran 90. Portanto é muito comum ver programas novos sendo escritos em Fortran 77. As desvantagens do Fortran 77 em relação ao Fortran 90 são: não poder usar alguns comandos novos que foram criados com o Fortran 90; maior
20
dificuldade em fazer alguns tipos de operações com vetores e matrizes; impossibilidade de criar DLLs; e ter que conviver com regras mais rígidas para escrever o programa. O Fortran 77 tem várias regras de escrita do código, sendo que as linhas de código são divididas por seções:
colunas 1 5 6 7 72 A B C
Zona A – contém comentários e números de linha de código (linhas 1 a 5). Zona B – contém o caracter que indica a continuação da linha anterior (linha 6). Zona C – código do programa (linhas 7 a 72).
Um programa em Fortran 77 teria a forma:
1 5 6 7 72 PROGRAM
A inserção de comentários deve ser feita colocando a letra C na primeira coluna da linha:
1 5 6 7 72
C
PROGRAM EXEMPLO PROGRAMA PARA CÁLCULO DE 2 + 2 A = 2 + 2 END
Qualquer linha de código deve ser escrito até a coluna 72. Após a coluna 72, nenhum código é lido pelo compilador. Se o texto do código chegar até a coluna 72, o restante da linha de código deverá continuar na coluna 7 da linha de baixo. Um caracter qualquer deve ser colocado na coluna 6 para identificar que aquela linha se trata da continuação da linha anterior.
1 5 6 7 72
C
PROGRAM EXEMPLO CALCULO DE BALANÇO POPULACIONAL A = (TAU + BETA)(TAU + BETA/2.0(TAU + BETA)(R – 1.0)R /(1.0 + TAU + BETA)**R END
21
As variáveis podem ser basicamente de quatro tipos: numéricas, caracteres ou lógicas. Os tipos de variáveis do Fortran são:
v INTEGER números inteiros
v REAL número real suporta valores entre 1.0 x 10-45^ até 1.0 x 10^45
v REAL* número real em dupla precisão suporta valores entre 1.0 x 10-300^ até 1.0 x 10^300 este tipo de variável é o tipo mais usado em engenharia e seu uso deve ser preferido dentre as duas formas de número reais programas mais antigos usavam a declaração: DOUBLE PRECISION para este tipo de variável
v CHARACTERi* sequência alfanumérica com um máximo de i caracteres não pode ser utilizada em operações matemáticas
v COMPLEX número complexo
v LOGICAL variável lógica possui dois valores: .FALSE. (falso) e .TRUE. (verdadeiro) este tipo de variável tem sido gradativamente substituído por número inteiros onde 0 se refere a falso e 1 a verdadeiro.
As variáveis podem ser declaradas em grupo ou individualmente. Esta declaração deve vir logo no início do programa.
22
Individualmente, as variáveis são declaradas listando seus nomes após o tipo da variável, como por exemplo:
INTEGER A, B, C REAL D, E REAL8 F, G, H CHARACTER10 I COMPLEX J
É importante dar nomes representativos para as variáveis, de forma que se possa identificar facilmente sua função no programa.
REAL*8 DENS, VISC para densidade e viscosidade INTEGER IDX para índice
É comum esquecermos de declarar variáveis no início do programa quando usamos a declaração individual das variáveis. Para evitar este problema, podemos usar a função IMPLICIT para declarar um grupo de variáveis baseados em sua letra inicial:
IMPLICIT REAL*8 (A-H,O-Z)
esta declaração irá fazer com que todas as variáveis iniciadas em A até H e em O até Z sejam número reais em dupla precisão. Como consequência, as variáveis iniciadas em I até N serão número inteiros. Em geral, as letras I a N são utilizadas para denotar números inteiros e as demais são usadas para números reais (convenção estabelecida), porém isto não impede que se use as letras I a N para números reais e as outras para inteiros. Utilizar o comando IMPLICIT não impede a declaração individual de outras variáveis, sendo que declarações individuais se sobrepõe à declaração feita pelo comando IMPLICIT.
EXEMPLO IMPLICIT REAL8 (A-H,O-Z) REAL8 NSA INTEGER P CHARACTER*20 ARQUIVO
25
As operações básicas de adição, subtração, multiplicação, divisão e exponenciação são feitas usando os símbolos da Tabela 5.1.
Tabela 5.1. Símbolos usados para as operações matemáticas Símbolo Operação
/ **
adição subtração multiplicação divisão exponenciação
Uma hierarquia é imposta a estas operações:
As equações: A = B + C ⋅ D
seriam programadas como: A = B + C*D
A = B**D + E
A = (BC + D*E)/F
26
Deve-se sempre ter o cuidado com a hierarquia entre as diferentes operações matemáticas, para se evitar erros de calculo.
A equação:
( ) E G
deve ser programada como: Z = (((B-C)E + AB)/F)*G
Se esta mesma equação fosse programada como: Z = (B-C)E + AB/F*G
a equação que estaria sendo calculada seria:
G
E
que por sua vez resultaria num valor muito diferente do que o valor desejado inicialmente.
O Fortran possui um conjunto de funções matemáticas para cálculo de logaritmo, seno, tangente, e muitas outras. As principais funções estão listadas abaixo.
ABS (A) calcula o número absoluto de A A pode ser um inteiro, real ou complexo
ACOS (A) calcula o arco coseno de A (resultado em radianos) A pode ser somente real
ACOSD (A) calcula o arco coseno de A (resultado em graus) A pode ser somente real
ASIN (A) calcula o arco seno de A (resultado em radianos) A pode ser somente real
27
ASIND (A) calcula o arco seno de A (resultado em graus) A pode ser somente real Alguns compiladores podem não aceitar este comando
ATAN (A) calcula o arco tangente de A (resultado em radianos) A pode ser somente real
ATAND (A) calcula o arco tangente de A (resultado em graus) A pode ser somente real Alguns compiladores podem não aceitar este comando
CEILING (A) retorna o menor número inteiro maior ou igual à A A pode ser somente real CEILING(4.8) retorna 5. CEILING(-2.5) retorna –2.
COS (A) calcula o coseno de A ( A em radianos) A pode ser somente real
COSD (A) calcula o coseno de A ( A em graus) A pode ser somente real Alguns compiladores podem não aceitar este comando
COSH (A) calcula o coseno hiperbólico de A A pode ser somente real
COTAN (A) calcula a cotangente de A (resultado em radianos) A pode ser somente real
COTAND (A) calcula a cotangente de A (resultado em graus) A pode ser somente real Alguns compiladores podem não aceitar este comando
EXP (A) calcula a exponencial de A A pode ser somente real
INT (A) converte o valor de A em um número inteiro A pode ser real ou complexo INT(7.8) retorna o valor 7
LEN (S) retorna o número de caracteres de um texto S pode ser somente um campo alfanumérico
28
LOG (A) calcula o logaritmo natural de A A pode ser real ou complexo
LOG10 (A) calcula o logaritmo de A A pode ser real ou complexo
SIN (A) calcula o seno de A ( A em radianos) A pode ser real ou complexo
SIND (A) calcula o seno de A ( A em graus) A pode ser real ou complexo Alguns compiladores podem não aceitar este comando
SINH (A) calcula o seno hiperbólico de A A pode ser somente real
TAN (A) calcula a tangente de A ( A em radianos) A pode ser real ou complexo
TAND (A) calcula a tangente de A ( A em graus) A pode ser real ou complexo Alguns compiladores podem não aceitar este comando
TANH (A) calcula a tangente hiperbólica de A A pode ser somente real
Quando o resultado desejado é um numero real em dupla precisão (REAL*8), as funções acima devem ser precedidas por um D, ou seja, a função tangente será DTAN (A), a exponencial será DEXP (A) e assim por diante.
A distribuição granulométrica pode ser representada pela equação:
N
A programação desta equação é dada por:
X = 1.0D0 – DEXP(-(D/DSTAR)**N)
31
F5.2 número real com 2 casas decimais e 2 algarismos antes da virgula F10.4 número real com 4 casas decimais e 5 algarismos antes da virgula F5.5 forma não válida, pois não há espaço para as 5 casas decimais mais a virgula
Ex.y número real escrito em notação científica com x caracteres, sendo y algarismos reservados para as casas decimais. A parte exponencial terá a forma E±00, ocupando 4 caracteres x deve ser pelo menos igual à y+5 , uma vez que o ponto decimal e a parte exponencial também contam como um caracteres E9.2 número real escrito na forma: aa.bbE±cc E10.1 número real escrito na forma: aaaa.bE±cc
Ax campo alfanumérico com x caracteres A5 campo alfanumérico com 5 caracteres
yX y espaços
Forma de Uso
Incorporado ao comando WRITE :
WRITE(*,’(I2,3X,F5.2,3X,F5.2)’) N, A, B
neste exemplo, o formato 3X,F5.2 ocorre duas vezes na sequência, e portanto um parênteses pode ser usado para suprimir a repetição do texto:
WRITE(*,’(I2,2(3X,F5.2))’) N, A, B
Usando o comando FORMAT :
WRITE(*,100) N, A, B 100 FORMAT(I2,3X,F5.2,3X,F5.2)
EXEMPLO Sendo: I = 100 N = 5 A = 1030. B = 5. C = 12. S = ‘MEDIA’
32
WRITE(*,’(I3,2X,F5.2,2X,E8.2)’) I,C,A Imprimiria: 100__12.56__1.03E+03 (onde _ se refere a um espaço)
WRITE(*,’(A8,F10.3,F10.1)’) S,A,B Imprimiria: MEDIA_____1030.560_______5.
WRITE(*,’(I2,3F5.2)’) N,A,B,C Imprimiria: _5XXXXX_5.5612.56 (a variável A não será impressa pois o tamanho de sua parte inteira é maior do que o reservado para ela)
No controle de qualidade, alguns gráficos de controle se baseiam na média de três valores. Escreva um programa para ler três valores números reais, calcular sua média e imprimir o resultado com duas casas decimais.
EXERCÍCIO 2 Escreva um programa para ler dois números reais, calcular o logaritmo do primeiro número, o coseno do segundo e imprimir o resultado destas duas operações e o produto dos dois resultados.
33
Toda decisão no Fortran depende de uma comparação entre dois valores ou de um conjunto de comparações. Os operadores que podem ser usados para comparar duas variáveis são mostradas na Tabela 7.1.
Tabela 7.1. Operadores Relacionais Símbolo Operador ==
= < <= /=
igual maior que maior ou igual que menor que menor ou igual que diferente
Estes operadores servem para decidir o que será feito dependendo do resultado da comparação. O comando mais utilizado para o processo decisório é o IF..THEN e o IF..THEN..ELSE.
O comando IF..THEN tem a seguinte estrutura lógica:
Início
comparação PROCESSO
Falso
Verdadeiro
Fim
Figura 7.1. Fluxograma lógico do comando IF..THEN
34
No comando IF..THEN uma comparação é feita entre dois valores. Se a comparação for verdadeira, um determinado processo é executado, caso contrário o processo não é executado. Em termos de programação, a estrutura é:
IF (<comparação>) THEN : PROCESSO : END IF
onde <comparação> é a expressão usada para testar a condição a ser verificada.
Caso o PROCESSO consista somente de uma linha de comando, o comando IF..THEN pode ser escrito como:
IF (<comparação>) PROCESSO
O coeficiente de arraste (CD) de partículas sólidas pode ser calculado pela equação:
Para valores maiores do número de Reynolds (Re), a equação para cálculo do coeficiente de arraste é dado pela equação:
( 1 0 , 14 Re^0 ,^7 )
CD coeficiente de arraste Re número de Reynolds
O fluxograma de deve ser seguido para este processo é: