A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos e Estruturas de Dados

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Estruturas de Dados"— Transcrição da apresentação:

1 Algoritmos e Estruturas de Dados
Universidade Federal Semi-Árido Departamento de Engenharia Ambiental Programação Aplicada a Engenharia Algoritmos e Estruturas de Dados Algoritmos Estruturados Prof. José Patrocínio da Silva

2 A noção de algoritmo é básica em Computação.
CONCEITOS BÁSICOS Algoritmos ALGORITMOS São formas de resolução de um problema, através da especificação passo-a-passo de como resolvê-lo. A noção de algoritmo é básica em Computação.

3 CONCEITOS BÁSICOS Resolução de Problemas por Computador
Dar uma solução para um problema computacional significa elaborar um ALGORITMO em PSEUDO- CÓDIGO (linguagem intermediária entre a linguagem natural e a linguagem de programação) e implementá-lo numa linguagem de programação, gerando um PROGRAMA.

4 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: Deve ser finito (finitness); Os passos devem ser bem definidos, sem ambiguidades (definiteness); Deve ser eficaz (effectiveness); Deve possuir uma entrada (input); Deve produzir uma saída ou resultado (output).

5 Resolução de Problemas por Computador
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 Para qualquer entrada I, o algoritmo deve ser executável em tempo finito e, além disso, gerar uma solução correta de P.

6 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 Seqüências de Comandos; Fim.

7 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.

8 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.

9 Resolução de Problemas por Computador
Algoritmos Declaração de Variáveis e Constantes Alocar espaço de memória do tamanho do tipo-de-dado e dar um nome a este espaço; Ao longo do programa, usa-se o nome dado ao invés do valor. CONST n=50; VAR a, b, c, soma : TIPO;

10 Resolução de Problemas por Computador
Algoritmos Declaração de Variáveis e Constantes Quando definir variáveis ? Quando um elemento da lógica para a resolução do problema sofrer alterações de valor ao longo desta resolução. Quando definir constantes ? Quando uma valor fixo for utilizado várias vezes na lógica para a resolução do problema.

11 Resolução de Problemas por Computador
Algoritmos Tipos de Dados Primitivos INTEIRO REAL LÓGICO CARACTERE STRING Definidos pelo programador DISCIPLINA FILA PILHA

12 Resolução de Problemas por Computador
Algoritmos Expressões Aritméticas Aquelas cujos operadores são aritméticos e cujos operandos são constantes e/ou variáveis do tipo numérico (inteiro e/ou real). Operadores Aritméticos + Adição * Multiplicação / Divisão - Subtração ** Potenciação // Radiciação mod ou % resto da divisão.

13 Resolução de Problemas por Computador
Algoritmos Funções Matemáticas sen (x) - seno de x cos(x) - cosseno de x tg(x) - tangente de x abs (x) - valor absoluto (módulo) de x int (x) - parte inteira de um número real

14 Resolução de Problemas por Computador
Algoritmos Prioridades parênteses mais internos funções matemáticas ** // * / + -

15 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

16 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

17 Resolução de Problemas por Computador
Algoritmos Prioridades entre todos os Operadores parênteses mais internos funções aritméticas operadores aritméticos operadores relacionais operadores lógicos

18 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.

19 Resolução de Problemas por Computador
Algoritmos Atribuição Fornece um valor a uma variável. Ex: a  1; sexo  “FEMININO”; salário  128,00;

20 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.

21 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.’);

22 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.

23 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

24 Resolução de Problemas por Computador
Algoritmos Estruturas de Controle de Fluxo Seqüência início <comando 1>; <comando 2>; <comando N>; fim

25 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

26 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>; <comando 2>; <comando N>; senão fim se fim BLOCO VERDADE BLOCO FALSO

27 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 se <condição 4> então fim

28 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

29 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>; se <x = VALOR3> então <comando 3>; fim se fim

30 Resolução de Problemas por Computador
Algoritmos Repetição Usada em trechos do algoritmo em que há a necessidade de se realizar um bloco de comando um número determinado de vezes.

31 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.

32 Resolução de Problemas por Computador
Algoritmos Repetição com teste no FINAL (REPITA-ATÉ) repita <comando1>; <comando2>; <comandoN>; até (<condição1>) O bloco de comandos é executado pelo menos uma vez, independente da validade da <condição1>. Isto ocorre porque a inspeção da <condição1> é feita após a execução do bloco.

33 Resolução de Problemas por Computador
Algoritmos Repetição com variável de controle (PARA) para (V = vi; V <= vf; passo p) faça <comando1>; <comando2>; <comandoN>; fim para onde: V é a variável de controle; vi é o valor inicial de V; vf é o valor final de V, ou seja, o valor até o qual ela pode chegar e; p é o valor do incremento dado a V.

34 Resolução de Problemas por Computador
Algoritmos Comparação entre as estruturas de Repetição Toda estrutura ENQUANTO pode ser convertida para REPITA e vice-e-versa; Toda estrutura PARA pode ser convertida em ENQUANTO, mas nem toda estrutura ENQUANTO pode ser convertida em PARA. Estrutura Condição Qtde de execuções Cond. de existência Enquanto início ? condição verdadeira Repita fim mínimo 1 condição falsa Para implícita início (vf - vi) div p vi  vf

35 ALGUNS PROBLEMAS

36 PROBLEMA DE ACHAR O MENOR
Encontrar o menor dentre um conjunto de números.

37 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) SE num < menor FIM-SE; qtde-num  qtde-num +1; FIM-ENQUANTO; ESCREVER (menor); FIM.

38 PROBLEMA DE ACHAR O MENOR E O MAIOR
Encontrar o menor e o maior dentre um conjunto de números.

39 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) SE num < menor SENAO SE num > maior FIM-SE; qtde-num  qtde-num +1; FIM-ENQUANTO; ESCREVER (menor, maior); FIM.

40 Descrição de Algoritmos
A descrição de um algoritmo de forma clara e fácil de ser seguida ajuda no seu desenvolvimento, depuração (correção de erros) e a subsequente transformação do mesmo num programa. 1- Descrição Narrativa: Especificação verbal dos passos em linguagem natural. Desvantagens: a linguagem natural é imprecisa e freqüentemente pouco confiável como um veículo de transferir informação. Sua utilização pode ser adotada, entretanto, para a apresentação de comentários sobre o algoritmo (ou parte dele), esclarecendo ou realçando pontos específicos.

41 Descrição de Algoritmos
2 - Fluxograma Uso de ilustrações gráficas para transmitir informações (Ex. Gerais: mapas, diagramas explicativo para montagem de aparelhos, etc.). Um fluxograma mostra, de forma gráfica, a lógica de um algoritmo, enfatizando passos individuais e o fluxo de execução. Desvantagens: utilização questionável de fluxogramas detalhados, pois obscurecem a estrutura do programa.

42 Simbologia utilizada em fluxogramas

43 Exemplo

44 Fazer um programa que escreva os 100 primeiros múltiplos de 13.
PROBLEMA DO AZARÃO Fazer um programa que escreva os 100 primeiros múltiplos de 13.

45 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.

46 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.

47 PROBLEMA DO VÍCIO Calcule e mostre a despesa diária, semanal e mensal de uma pessoa com cigarros, dados o número de cigarros que ela fuma por dia e o preço do maço de cigarros que ela fuma.

48 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.

49 PROBLEMA DA CORRIDA DE AUTOMÓVEL
Em uma corrida de automóveis com n voltas, foram anotados os tempos, em ordem, de um piloto em cada volta. Fazer um programa que dê o melhor e o pior tempo e em que volta aconteceram.

50 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:’); SE tempo-volta > pior-tempo pior-tempo tempo-volta; pior-volta cont-volta; SENAO SE tempo-volta < melhor-tempo melhor-tempo tempo-volta; melhor-volta cont-volta; ESCREVA (‘Melhor volta = ‘, melhor-volta, ‘ com tempo = ‘,melhor-tempo); ESCREVA (‘Pior volta = ‘, pior-volta, ‘ com tempo = ‘,pior-tempo); FIM.

51 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:’); SE tempo-volta > pior-tempo pior-tempo tempo-volta; pior-volta cont-volta; SENAO SE tempo-volta < melhor-tempo melhor-tempo tempo-volta; melhor-volta cont-volta; FIM-SE; FIM-PARA;

52 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 (‘Melhor volta = ‘, melhor-volta, ‘ com tempo = ‘,melhor-tempo); ESCREVA (‘Pior volta = ‘, pior-volta, ‘ com tempo = ‘,pior-tempo); FIM.

53 PROBLEMA DO FATORIAL DE UM NÚMERO
Calcule o fatorial de 5. E para um n qualquer ?

54 PROBLEMA DO FATORIAL DE UM NÚMERO
ENUNCIADO DO PROBLEMA: Calcular o fatorial de 5. PARÂMETROS: n RESTRIÇÕES: n  Z+ SOLUÇÃO: result = n.(n-1).(n-2) INSTÂNCIA: n=5 SOLUÇÃO_DA_INSTÂNCIA: result= =120

55 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.

56 PROBLEMA SOBRE A SÉRIE DE FIBONACCI
Calcule o n-ésimo termos da série de Fibonacci.

57 PROBLEMA SOBRE A SÉRIE DE FIBONACCI
ENUNCIADO DO PROBLEMA: Mostrar o n-ésimo termo da Série de Fibonacci. PARÂMETROS: n RESTRIÇÕES: n  Z+ SOLUÇÃO: result = n-ésimo termo INSTÂNCIA: n=5 SOLUÇÃO_DA_INSTÂNCIA: result=3

58 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.

59 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.

60 PROBLEMA DOS APROVADOS
Dado um conjunto de n notas de alunos, contar o número de alunos que foram aprovados. Considera-se aprovado o aluno que obteve nota igual ou maior que 5.0.

61 Solução

62 PROBLEMA DA AVALIAÇÃO Fornecer a média aritmética simples das n notas de um aluno, indicando também sua situação final (média>=9 excelente, média>=7 bom, média>=5 regular, média<5 insuficiente).

63 PROBLEMA IV Como medir exatamente 2 litros utilizando apenas mangueira, um balde de 4 litros e outro de 3 litros?

64 PROBLEMA IV ENUNCIADO DO PROBLEMA: Como medir exatamente 2 litros utilizando apenas mangueira, um balde de 4 litros e outro de 3 litros. PARÂMETROS: vasilhames A e B. RESTRIÇÕES: capacidades máximas A=4l, B=3l: 0A  4 e 0  B  3 SOLUÇÃO: (A=2) ou (B=2) INSTÂNCIA: A=0 e B=0 SOLUÇÃO_DA_INSTÂNCIA: (A=2) ou (B=2)

65 PROBLEMA IV ALGORITMO Medir2Litros; CONST LimA=4; LimB=3;
VAR A, B : INTEIROS; INICIO LIMPAR A e B; ENCHER B; DESPEJAR_B_EM_A; MOSTRAR B; FIM.

66 PROBLEMA IV DESPEJAR_B_EM_A ENCHER B ENQUANTO (NÃO_CHEIO(B)) FAÇA
B = B+1; FIM-ENQUANTO; DESPEJAR_B_EM_A ENQUANTO (NÃO_CHEIO(A)) OU (NÃO_VAZIO(B)) FAÇA B = B - 1; A = A + 1;

67 PROBLEMA IV DESPEJAR_B_EM_A ENCHER B ENQUANTO (B < LimB) FAÇA
B = B+1; FIM-ENQUANTO; DESPEJAR_B_EM_A ENQUANTO (A < LimA) E (B > 0) FAÇA B = B - 1; A = A + 1;

68 PROBLEMA IV LIMPAR A e B A = 0; B = 0; MOSTRAR B ESCREVER (B);

69 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); MOSTRAR B; FIM.

70 Histórico Linguagem de programação estruturada
1º linguagem de programação de alto nível e foi proposta em 1956 Surgiu visando a resolução de problemas da área científica, com o uso de computadores O nome é a composição de: FORmula TRANslation Sua versão mais recente é o FORTRAN 90.

71 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.

72 Conceitos da Linguagem Formatação
Formatação no Formulário Fixo Coluna 1, C ou * indicam comentário – comentários são ignorados pelo compilador Os números dos comandos podem ser quaisquer(int >= 0) constituindo em 1 a 5 dígitos, colocados no campo das colunas 1 a 5. Para indicar continuação de um comando utiliza-se um caracter qquer diferente de espaço ( b) e zeros na coluna 6; podendo haver no MAX. 19 linhas de contunuação. As colunas 73 a 80 são utilizadas pelo compilador, portanto não se deve escrever nestas colunas.

73 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.

74 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

75 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

76 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!

77 Conceitos Básicos Tipos de Variáveis
Inteiras (INTEGER) Podem assumir os seguintes valores: INTEGER*4 pode ser representado somente por: INTEGER INTEGER*1 –128 a 127 INTEGER*2 –32,768 a 32,767 INTEGER*4 –2,147,483,648 a 2,147,483,647

78 Conceitos Básicos Tipos de Variáveis
Reais (REAL) Precisão simples, 6 casas decimais (padrão): REAL*4 ou REAL ` E+38 Precisão dupla, 15 casas decimais (padrão): REAL*8 ou DOBLE PRECISION` D+308 A parte exponencial deve ser separada por um ‘d’ ou ’D’ no lugar do ‘e’ ou ‘E’ para real do tipo *8.

79 Conceitos Básicos Tipos de Variáveis
Complexas (COMPLEX) Precisão simples, 6 casas decimais: COMPLEX*8 ou COMPLEX Precisão dupla, 15 casas decimais: COMPLEX*16 Os valores que um complexo pode assumir são os mesmos que os reais.

80 Conceitos Básicos Tipos de Variáveis
Alfanuméricas (CHARACTER) CHARACTER NOME*w Onde w representa o número máximo de caracteres que a variável pode conter dentro do programa.

81 Conceitos Básicos Tipos de Variáveis
Lógicas (LOGICAL) LOGICAL NOME Podem assumir os valores .TRUE. (VERDADEIRO) ou .FALSE. (FALSO) Ou somente T e F ou ainda 1 e 0 ou diferente de zero e 0.

82 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

83 Operadores Literais Uma função útil para variáveis literais é a concatenação (junção de palavras) Exemplo: A = ‘tele’ B = ‘visao’ C = A//B

84 Operadores Aritméticos
Executam operações aritméticas comuns FORTRAN Matemática Tradicional Significado + soma - Subtração * Multiplicação / Divisão ** ap Potenciação

85 Operadores Relacionais
Comparam variáveis, constantes ou expressões e retornam ‘.TRUE.’, ‘T’ ou ‘1’ se a comparação for verdadeira, ‘.FALSE.’, ‘F’ ou ‘0’ se a comparação for falsa. FORTRAN F90 Matemática Tradicional Significado .LT. < MENOR QUE .LE. <= <       MENOR OU IGUAL QUE .EQ. == = IGUAL A .NE. /= DIFERENTE DE .GT. > MAIOR QUE .GE. >= MAIOR OU IGUAL QUE

86 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 .AND. Junção – verdadeiro se os dois operadores forem verdadeiros .OR. Disjunção – verdadeiro se um dos dois operadores forem verdadeiro .NOT. Negação – verdadeiro se o operador for falso .NEQV. ou .XOR. Desigualdade Lógica – verdadeiro se somente um dos operadores for verdadeiro .EQV. Igualdade Lógica – verdadeiro se os dois operadores forem falsos ou verdadeiros

87 Prioridades em FORTRAN
Operador Prioridade ** * / + - .EQ. .NE. .GT. .GE. .LT. .LE. .NOT. .AND. .OR. O uso de parênteses pode ser feito para trocar a ordem de prioridade.


Carregar ppt "Algoritmos e Estruturas de Dados"

Apresentações semelhantes


Anúncios Google