Algoritmos e
Estruturas de Dados
Algoritmos Estruturados
Algoritmos
ALGORITMOS
– São formas de resolução de um problema,
através da especificação passo-a-passo de
como resolvê-lo.
Programação de Computadores
CONCEITOS BÁSICOS
Resolução de Problemas por Computador
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
■Segundo Knuth, um algoritmo é uma seqüência de
passos bem definida que resolve determinado problema,
através da transformação de dados iniciais na resposta
desejada, tendo cinco importantes características:
Algoritmos
■Resumindo, um algoritmo A resolve um problema P se, ao
receber qualquer instância I de P, sempre produzir uma
solução S para I.
– A – algoritmo.
– I – entrada (instância).
– S – saída (resultado).
I S
■Paraqualquer entrada I, o algoritmo deve ser executável em
tempo finito e, além disso, gerar uma solução correta de P.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
» Algoritmo (Nome-do-Algoritmo);
» Declaração de constantes, tipos e variáveis;
» Início
– Seqüências de Comandos;
» Fim.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
ESTRUTURA GERAL DE UM ALGORITMO
» Algoritmo (Nome-do-Algoritmo);
» Declaração de constantes, tipos e variáveis;
» Início
– Atribuições
– Comandos de E/S
– Estruturas de controle
– Seleção
– Repetição
» Fim.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Constantes
Informação que não sofre variação no decorrer do tempo.
Ex: 5, “Não Fume”, 2548, -0,62, “R$10,00”, Falso.
Variáveis
Informação que tem a possibilidade de ser alterada em algum
instante no decorrer do tempo.
Ex: Cotação do dólar, peso de uma pessoa, salário.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Declaração de Variáveis e Constantes
CONST n=50;
VAR a, b, c, soma : TIPO;
Programação de Computadores
Exemplo de Um Programa em C
#include <stdio.h>
#include<stdlib.h>
/* Soma dois números*/
main()
{
float a; /* primeiro número*/
float b; /* segundo numero */
float soma; /* resultado */
printf(" digite o valor de a e de b: \n");
scanf("%f %f",&a,&b); /* Ler a entrada de
dados*/
soma = a+b;
printf("o valor da soma e: %f \n",soma);
system("PAUSE");
return(0);
}
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Tipos de Dados
Primitivos
INTEIRO
REAL
LÓGICO
CARACTERE
STRING
Definidos pelo programador
DISCIPLINA
FILA
PILHA
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Expressões Aritméticas
Operadores Aritméticos
– + Adição * Multiplicação / Divisão
– - Subtração ** Potenciação // Radiciação
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Funções Matemáticas
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Prioridades
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Expressões Relacionais
– Comparação entre dois valores de um mesmo tipo primitivo.
Estes valores podem ser constantes, variáveis ou expressões
aritméticas.
– O resultado obtido de uma relação é sempre um valor lógico.
Operadores Relacionais
= igual a <> diferente de
> maior que >= maior igual a
< menor que <= menor igual a
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Expressões Lógicas
– Aquelas cujos operadores são lógicos e/ou relacionais e cujos
operandos são relações e/ou variáveis e/ou constantes do tipo
lógico.
Operadores Lógicos
e - Conjunção
ou - Disjunção (não-exclusiva)
xou - Disjunção (exclusiva)
não - negação
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Prioridades entre todos os Operadores
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
ESTRUTURA GERAL DE UM ALGORITMO
» Algoritmo (Nome-do-Algoritmo);
» Declaração de constantes, tipos e variáveis;
» Início
– Atribuições
– Comandos de E/S
– Estruturas de controle
– Seleção
– Repetição
» Fim.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Atribuição
Ex: a ← 1;
sexo ← “FEMININO”;
salário ← 128,00;
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
ESTRUTURA GERAL DE UM ALGORITMO
» Algoritmo (Nome-do-Algoritmo);
» Declaração de constantes, tipos e variáveis;
» Início
– Atribuições
– Comandos de E/S
– Estruturas de controle
– Seleção
– Repetição
» Fim.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Comandos de Entrada e Saída
Exemplos do comando de entrada leia:
leia (x);
leia (a, nota, faltas);
Exemplos do comando de saída escreva:
escreva (x);
escreva (a, nota, faltas);
escreva (‘Bom Dia ‘, nome);
escreva (‘Você pesa ‘, x * 2, ‘quilos.’);
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
ESTRUTURA GERAL DE UM ALGORITMO
» Algoritmo (Nome-do-Algoritmo);
» Declaração de constantes, tipos e variáveis;
» Início
– Atribuições
– Comandos de E/S
– Estruturas de controle
– Seleção
– Repetição
» Fim.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Estruturas de Controle de Fluxo
– Seqüência
– Seleção
» simples
» composta
» encadeada
» múltipla escolha
– Repetição
» Teste condicional no início
• Número de repetições conhecido
• Número de repetições desconhecido
» Teste condicional no fim
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Estruturas de Controle de Fluxo
– Seqüência
» início
» <comando 1>;
» <comando 2>;
» …
» <comando N>;
» fim
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Estruturas de Controle de Fluxo
– Seleção simples
início
…
se <condição 1> então
<comando 1>;
<comando 2>;
…
<comando N>;
fim se
…
fim
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Estruturas de Controle de Fluxo
– Seleção composta
início
se <condição 1> então
<comando 1>; BLOCO
<comando 2>;
… VERDADE
<comando N>;
senão
<comando 1>;
<comando 2>; BLOCO FALSO
…
<comando N>;
fim se
fim Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
– Seleção composta
início
se <condição 1> então
se <condição 2> então
<comando 1>;
…
<comando N>;
fim se
senão
se <condição 3> então
<comando 1>;
…
<comando N>;
senão
se <condição 4> então
<comando 1>;
…
<comando N>;
senão
<comando 1>;
fim se
<comando 1>;
fim se
fim se
fim
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
– Seleção de múltipla escolha
início
…
escolha (x)
caso VALOR1 : <comando 1>;
caso VALOR2 : <comando 2>;
caso VALOR3 : <comando N>;
fim escolha
…
fim
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
– Seleção de múltipla escolha
início
…
se <x = VALOR1> então
<comando 1>;
senão
se <x = VALOR2> então
<comando 2>;
senão
se <x = VALOR3> então
<comando 3>;
fim se
fim se
fim se
…
fim Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
– Repetição
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Repetição com teste no início (ENQUANTO-FAÇA)
Permite executar diversas vezes um trecho do algoritmo, porém, sempre
verificando antes de cada execução se é “permitido” executar algum trecho.
enquanto (<condição1>) faça
<comando1>;
<comando2>;
…
<comandoN>;
fim enquanto
– Quando o resultado da <condição1> for falso, o comando é abandonado.
– Se já da primeira vez o resultado for falso, os comandos não são executados nem
uma vez.
Programação de Computadores
Resolução de Problemas por Computador
Algoritmos
Repetição com teste no FINAL (REPITA-ATÉ)
repita
<comando1>;
<comando2>;
…
<comandoN>;
até (<condição1>)
Algoritmos
Repetição com variável de controle (PARA)
Algoritmos
Comparação entre as estruturas de Repetição
Programação de Computadores
PROBLEMA DE ACHAR O MENOR
Programação de Computadores
PROBLEMA DE ACHAR O MENOR
ALGORITMO EncontraMenor;
VAR n, qtde-num, num, menor: INTEIRO;
INICIO
LER (n);
LER (num);
menor ← num;
qtde-num ← 1;
ENQUANTO (qtde-num < n)
LER (num);
SE num < menor
menor ← num;
FIM-SE;
qtde-num ← qtde-num +1;
FIM-ENQUANTO;
ESCREVER (menor);
Programação de Computadores
FIM.
PROBLEMA DE ACHAR O MENOR
EM C
■ #include <stdio.h>
■ #include<stdlib.h>
■ /* Acha o menor número de uma lista*/
■ main()
■ {
■ int num, n[num];
■ int cont, menor; /* declarações */
■ printf("\n digite o numero de elementos da sequencia: ");
■ scanf("%d",&num);
■ for (cont=0;cont<num;cont++){
■ printf("\n digite o elemento %d: ", cont+1);
■ scanf("%d", & n[cont]);
■ }
■ cont=1;
■ menor=n[0];
■ while(cont<num){
■ printf("sequencia e: %d \n",n[cont]);
■ if(n[cont]<menor){
■ menor=n[cont];
■ }
■ cont++;
■ }
■ printf("O menor e: %d \n",menor);
■ system("PAUSE");
■ return(0);
■ } Programação de Computadores
PROBLEMA DE ACHAR O MENOR E O
MAIOR
Programação de Computadores
PROBLEMA DE ACHAR O MENOR E O
MAIOR
ALGORITMO EncontraMenorMaior;
VAR n, qtde-num, num, menor, maior: INTEIRO;
INICIO
LER (n);
LER (num);
menor ← num;
maior ← num;
qtde-num ← 1;
ENQUANTO (qtde-num < n)
LER (num);
SE num < menor
menor ← num;
SENAO SE num > maior
maior ← num;
FIM-SE;
qtde-num ← qtde-num +1;
FIM-ENQUANTO;
ESCREVER (menor, maior); Programação de Computadores
FIM.
PROBLEMA DE ACHAR O MENOR E MAIOR EM C
#include <stdio.h>
#include<stdlib.h>
/* Acha o menor e o maior número de uma lista*/
main()
{
int num, n[num];
int cont, menor, maior; /* declarações */
printf("\n digite o numero de elementos da sequencia: ");
scanf("%d",&num);
for (cont=0;cont<num;cont++){
printf("\n digite o elemento %d: ", cont+1);
scanf("%d", & n[cont]);
}
cont=1;
menor=n[0];
maior=n[0];
while(cont<num){
printf("sequencia e: %d \n",n[cont]);
if(n[cont]<menor){
menor=n[cont];
}
else if (n[cont]>maior){
maior=n[cont];
}
cont++;
}
printf("O menor e: %d \n",menor);
printf("O maior e: %d \n",maior);
system("PAUSE");
return(0);
} Programação de Computadores
Descrição de Algoritmos
Programação de Computadores
Descrição Narrativa
Descrição Narrativa:
Programação de Computadores
Descrição por Fluxograma
Programação de Computadores
Simbologia utilizada em fluxogramas
Programação de Computadores
Fluxogramas
Estrutura de
Estrutura de Controle Condicional
Controle Seqüencial Programação de Computadores
Fluxogramas
Programação de Computadores
Pseudolinguagem
É uma notação que se assemelha a uma linguagem de programação, mas
também possibilita ao programador concentrar-se no problema a ser
modelado sem “se prender” a uma linguagem programação específica.
Esta forma de representação tem a vantagem de fazer com que o
algoritmo seja escrito de uma forma que está próxima de uma linguagem
de programação.
Programação de Computadores
Exemplos
FIM-ENQUANTO; FIM
FIM.
Programação de Computadores
PROBLEMA DO AZARÃO
Programação de Computadores
Datas importantes
■ Primeira avaliação (teórica) - 10 de Setembro de
2007;
■ Segunda Avaliação (Teórica + Prática) – 08 de
Outubro de 2007;
■ Terceira Avaliação (Teórica + Prática) – 26 de
Novembro de 2007;
■ Quarta Avaliação (Teórica + Prática) – 03 de
Dezembro de 2007.
■ A prova de reposição será feita 72 horas após a aplicação da
terceira avaliação.
Programação de Computadores
PROBLEMA DO AZARÃO
ALGORITMO Azarao;
CONST n = 100;
VAR num, cont: INTEIRO;
INICIO
num ← 13;
cont ← 1;
ENQUANTO cont < 100
ESCREVA (num);
num ← num +13;
cont ← cont +1;
FIM-ENQUANTO;
FIM.
Programação de Computadores
PROBLEMA DO AZARÃO EM C
#include <stdio.h>
#include<stdlib.h>
/* Achar o 100 primeiros múltplos de 13*/
main()
{
int num,n,cont; /*declarações*/
n=100;
cont=1;
num=13;
while(cont<n){
printf("sequencia e: %d \n",num);
num=num+13;
cont++;
}
system("PAUSE");
return(0);
}
Programação de Computadores
PROBLEMA DO AZARÃO
ALGORITMO Azarao;
CONST n = 100;
VAR num, cont: INTEIRO;
INICIO
num ← 13;
cont ← 1;
REPITA
ESCREVA (num);
num ← num +13;
cont ← cont +1;
ATE cont > 100;
FIM.
Programação de Computadores
PROBLEMA DO VÍCIO
Programação de Computadores
PROBLEMA DO VÍCIO
ALGORITMO Vicio;
VAR num-c-dia : INTEIRO;
preco-m, preco-c,
despesa-d, despesa-s, despesa-m: REAL;
INICIO
ESCREVA (‘Quantos cigarros vc fuma por dia?’);
LER (num-c-dia);
ESCREVA (‘Quanto custa o maco de cigarros que vc fuma?’);
LER (preco-m);
preco-c ← preco-m/20;
despesa-d ← preco-c * num-c-dia;
despesa-s ← despesa-d * 7;
despesa-m ← despesa-d * 30;
ESCREVA (‘Sua despesa com cigarros diária, semanal e mensal eh: ‘
despesa-d, despesa-s, despesa-m);
FIM. Programação de Computadores
PROBLEMA DO VÍCIO EM C
#include <stdio.h>
#include<stdlib.h>
/* Acha o menor e o maior número de uma lista*/
main()
{
float precom,precoc,despd,desps,despm; /*declarações reais*/
int numcdia; /* declarações inteiras*/
printf("\n digite o numero de cigaros que voce fuma por dia: ");
scanf("%d",&numcdia);/*ler numero de cigarros por dia*/
printf("\n digite o preco do maco de cigarros que voce fuma: ");
scanf("%f",&precom); /*ler o preco do maço*/
precoc=precom/20.0; /*calcula preço unitário do cigarro*/
despd=precoc*numcdia;/*Calcula despesa diária*/
desps=despd*7.0; /*calcula despesa semanal*/
despm=despd*30.0; /*calcula despesa mensal*/
printf("sua despesa diaria e: %f \n",despd);
printf("sua despesa semanal e: %f \n",desps);
printf("sua despesa mensal e: %f \n",despm);
system("PAUSE");
return(0);
}
Programação de Computadores
PROBLEMA DA CORRIDA DE
AUTOMÓVEL
Programação de Computadores
PROBLEMA DA CORRIDA DE
AUTOMÓVEL
ALGORITMO CorridaAutomovel;
VAR num-voltas, cont-voltas, melhor-volta, pior-volta : INTEIRO;
tempo-volta, melhor-tempo, pior-tempo: REAL;
INICIO
ESCREVA (‘Entre com o numero total de voltas da corrida:’);
LER (num-voltas);
ESCREVA (‘Entre com o valor do primeiro tempo anotado:’);
LER (tempo-volta);
melhor-tempo ← tempo-volta;
pior-tempo ← tempo-volta;
melhor-volta ← pior-volta ← 1;
PARA cont-volta ← 2 a n
ESCREVA (‘Entre com o valor do tempo da próxima volta:’);
LER (tempo-volta);
SE tempo-volta > pior-tempo
pior-tempo tempo-volta; pior-volta cont-volta;
Programação de Computadores
SENAO SE tempo-volta < melhor-tempo
melhor-tempo tempo-volta; melhor-volta cont-volta;
PROBLEMA DA CORRIDA DE
AUTOMÓVEL
ALGORITMO CorridaAutomovel;
VAR num-voltas, cont-voltas, melhor-volta, pior-volta : INTEIRO;
tempo-volta, melhor-tempo, pior-tempo: REAL;
INICIO
ESCREVA (‘Entre com o numero total de voltas da corrida:’);
LER (num-voltas);
ESCREVA (‘Entre com o valor do primeiro tempo anotado:’);
LER (tempo-volta);
melhor-tempo ← tempo-volta; pior-tempo ← tempo-volta;
melhor-volta ← pior-volta ← 1;
PARA cont-volta ← 2 a n
ESCREVA (‘Entre com o valor do tempo da próxima volta:’);
LER (tempo-volta);
SE tempo-volta > pior-tempo
pior-tempo tempo-volta; pior-volta cont-volta;
SENAO SE tempo-volta < melhor-tempo
melhor-tempo tempo-volta; melhor-voltaProgramação
cont-volta;de Computadores
FIM-SE;
PROBLEMA DA CORRIDA DE
AUTOMÓVEL
ALGORITMO CorridaAutomovel;
VAR num-voltas, cont-voltas, melhor-volta, pior-volta : INTEIRO;
tempo-volta, melhor-tempo, pior-tempo: REAL;
INICIO
...
Programação de Computadores
PROBLEMA DO FATORIAL DE UM
NÚMERO
Calcule o fatorial de 5.
E para um n qualquer ?
Programação de Computadores
PROBLEMA DO FATORIAL DE UM
NÚMERO
Programação de Computadores
PROBLEMA DO FATORIAL DE UM
NÚMERO
ALGORITMO Fatorial;
VAR fat, i : INTEIROS;
INICIO
fat = 1;
PARA i := 2 a n FAÇA
fat := fat * i;
END;
MOSTRE fat;
FIM.
Programação de Computadores
PROBLEMA SOBRE A SÉRIE DE
FIBONACCI
Programação de Computadores
PROBLEMA SOBRE A SÉRIE DE
FIBONACCI
Programação de Computadores
PROBLEMA SOBRE A SÉRIE DE
FIBONACCI
ALGORITMO Fibonacci;
VAR i, fib,fib1,fib2,n : INTEIRO;
INICIO
SE n = 1 RETURN 0;
SENAO SE n = 2 RETURN 1;
fib1 := 1;
fib2 := 0;
PARA i := 3 a N FAÇA
fib := fib1 + fib2;
fib2 := fib1;
fib1 := fib;
FIM-PARA;
MOSTRE fib;
FIM.
Programação de Computadores
PROBLEMA SOBRE A SÉRIE DE
FIBONACCI
ALGORITMO Fibonacci-v2;
VAR i, fib,fib1,fib2,n : INTEIRO;
INICIO
SE n <= 2 RETURN n;
fib1 := 1;
fib2 := 0;
PARA i := 3 a N FAÇA
fib := fib1 + fib2;
fib2 := fib1;
fib1 := fib;
FIM-PARA;
MOSTRE fib;
FIM.
Programação de Computadores
PROBLEMA DOS APROVADOS
Programação de Computadores
Solução
Programação de Computadores
PROBLEMA DA AVALIAÇÃO
Programação de Computadores
PROBLEMA IV
Programação de Computadores
PROBLEMA IV
Programação de Computadores
PROBLEMA IV
ALGORITMO Medir2Litros;
CONST LimA=4;
LimB=3;
VAR A, B : INTEIROS;
INICIO
LIMPAR A e B;
ENCHER B;
DESPEJAR_B_EM_A;
ENCHER B;
DESPEJAR_B_EM_A;
MOSTRAR B;
FIM.
Programação de Computadores
PROBLEMA IV
ENCHER B
DESPEJAR_B_EM_A
Programação de Computadores
PROBLEMA IV
ENCHER B
DESPEJAR_B_EM_A
ENQUANTO (A < LimA) E (B > 0) FAÇA
B = B - 1;
A = A + 1;
FIM-ENQUANTO;
Programação de Computadores
PROBLEMA IV
LIMPAR A e B
A = 0;
B = 0;
MOSTRAR B
ESCREVER (B);
Programação de Computadores
PROBLEMA IV
ALGORITMO Medir2Litros;
CONST LimA=4;
LimB=3;
VAR A, B : INTEIROS;
INICIO
LIMPAR A e B;
ENCHER B (B);
DESPEJAR_B_EM_A (B,A);
ENCHER_B(B);
DESPEJAR_B_EM_A (B,A);
MOSTRAR B;
FIM.
Programação de Computadores
Histórico
Programação de Computadores
Conceitos da Linguagem
■ Basicamente há duas formas de se escrever um
programa em FORTRAN:
– com formulário fixo (‘fixed form’) ou
– com formulário livre (‘free form’).
■ O segundo (free form) disponível apenas para a
programação em FORTRAN 90.
■ Novos compiladores aceitam os formatos e os
comando anteriores.
Programação de Computadores
Conceitos da Linguagem
Formatação
■ Formatação no Formulário Fixo
Programação de Computadores
Conceitos da Linguagem
Formatação
■ FORTRAN 90 – Formato Livre
– O programa pode ser escrito em qualquer posição
– as linhas de continuação são indicadas pelo símbolo ‘&’
no fim da sentença
– e a próxima linha abaixo que não seja um comentário será
tomada como continuação
– Deixe sempre um espaço entre os comandos e o símbolo
de continuação
– É permitida a inserção de comentários após o ‘&
– Os rótulos devem ser os primeiros caracteres da linha, e
podem estar em qualquer coluna.
Programação de Computadores
Conceitos Básicos
Comentários
■ Não são interpretados pelo compilador
■ Um bom programa tem muitos comentários
■ O comando ‘! ’ indica que o que vem após ele é
comentário, ele pode vir em qualquer posição,
inclusive após os comandos.
■ Alguns compiladores aceitam qualquer caractere
diferente de números para iniciar a linha de
comentário
Programação de Computadores
Conceitos Básicos
Constantes
■ Constante é uma quantidade fixa, invariável; um valor
que não muda no decorrer dos cálculos relativos ao
programa.
■ Classes:
– Numéricas – tratam números
– Lógicas – tratam valores lógicos (verdadeiro x falso)
– Cadeia de Caracteres – tratam seq. de caracteres
Programação de Computadores
Conceitos Básicos
Variáveis e Nomes de Blocos
■ Variável é uma entidade que armazena constantes e é
conhecida no programa por um nome.
■ É um nome representando uma área de memória, que pode
conter de 1 a 6 caracteres alfanuméricos, começando
necessariamente por uma letra.
■ Caracteres adicionais são permitidos, mas ignorados.
■ Recomendações para nomes de variáveis!
Programação de Computadores
Conceitos Básicos
Tipos de Variáveis
■ Inteiras (INTEGER)
– Podem assumir os seguintes valores:
Programação de Computadores
Conceitos Básicos
Tipos de Variáveis
■ Reais (REAL)
– Precisão simples, 6 casas decimais (padrão):
– REAL*4 ou REAL `3.402823E+38
Programação de Computadores
Conceitos Básicos
Tipos de Variáveis
■ Complexas (COMPLEX)
– Precisão simples, 6 casas decimais:
» COMPLEX*8 ou COMPLEX
Programação de Computadores
Conceitos Básicos
Tipos de Variáveis
■ Alfanuméricas (CHARACTER)
– CHARACTER NOME*w
Programação de Computadores
Conceitos Básicos
Tipos de Variáveis
■ Lógicas (LOGICAL)
■ LOGICAL NOME
Programação de Computadores
Operadores
Atribuição
– Identificador = Expressão
■ Exemplos:
– ano = 1999
– nome = ‘Joao’
– Temp = 25.4
■ Em Fortran 90, pode ser utilizado ;
– ano = 1999; nome = ‘Joao’;Temp = 25.4
Programação de Computadores
Operadores
Literais
■ Exemplo:
– A = ‘tele’
– B = ‘visao’
– C = A//B
Programação de Computadores
Operadores
Aritméticos
■ Executam operações aritméticas comuns
soma
+ +
Subtração
- -
Multiplicação
*
Divisão
/
ap Potenciação
**
Programação de Computadores
Operadores
Relacionais
■ Comparam variáveis, constantes ou expressões e retornam
– ‘.TRUE.’,
.TRUE. ‘T’ ou ‘1’ se a comparação for verdadeira,
– ‘.FALSE.’,
.FALSE. ‘F’ ou ‘0’ se a comparação for falsa.
.EQ. == = IGUAL A
. NE. /= DIFERENTE DE
=
GT.
. > > MAIOR QUE
Programação de Computadores
Operadores
Lógicos
■ São usados quando são necessárias mais de uma condição
relacional ou quando é preciso inverter seu resultado.
FORTRAN Significado
Junção – verdadeiro se os dois operadores
.AND. forem verdadeiros
Disjunção – verdadeiro se um dos dois
.OR. operadores forem verdadeiro
.NOT. Negação – verdadeiro se o operador for falso
Programação de Computadores
Prioridades em FORTRAN
Operador Prioridade
** 1ª
* 2ª
/ 2ª
+ 3ª
- 3ª O uso de parênteses
.EQ. 4ª pode ser feito para trocar
.NE. 4ª a ordem de prioridade.
.GT. 4ª
.GE. 4ª
.LT. 4ª
.LE. 4ª
.NOT. 5ª
.AND. 6ª
.OR. 7ª
Programação de Computadores