Você está na página 1de 12

Aula 3: Algoritmos

Parte 2

Estrutura seqencial

Em um algoritmo:

H uma ordem para execuo de comandos Do primeiro ao ltimo De cima para baixo

Paradigma da programao estruturada H outros:


Programao orientada a objetos Programao orientada a variveis Etc.

Algoritmo d1 d2 d3 . . . dm c1 c2 c3 . . . cn fim algoritmo

Exemplo
Algoritmo declare A, B, C numrico leia A, B C (A + B) B escreva A, B, C fim algoritmo

possvel fazer desvios nesse percurso? possvel controlar o fluxo de execuo do algoritmo? Estruturas de controle de fluxo!

Estrutura condicional

Estrutura condicional simples Sintaxe PORTUGOL:


se condio ento seqncia de comandos fim se

Testa-se uma condio

Execuo de comandos da estrutura: apenas se a condio for verdadeira Algoritmo declare A, B, C numrico leia A, B, C se A + B < C ento escreva MENSAGEM fim se fim algoritmo

Exemplo:

Estrutura condicional

Estrutura condicional composta Sintaxe PORTUGOL:


se condio ento seqncia A de comandos seno seqncia B de comandos fim se

Testa-se uma condio


Executa-se seqncia A caso a condio seja verdadeira Executa-se seqncia B caso a condio seja falsa

Exemplo
Algoritmo declare A, B, X, Y numrico leia A, B se A = B ento X 1,5 Y 2,5 seno X -1,5 Y 2,5 fim se escreva X, Y fim algoritmo

Estrutura de repetio
Seqncia de comandos executada at que uma condio seja verdadeira Condio uma expresso lgica Lao repita / interrompa

Interrupo

em diversos pontos

Interrupo no incio
EXEMPLO Soma nmeros pares de 100 a 200 SINTAXE PORTUGOL repita se condio ento interrompa fim se seqncia B de comandos fim repita Algoritmo declare PAR, SOMA numrico SOMA 0 PAR 100 repita se PAR > 200 ento interrompa fim se SOMA SOMA + PAR PAR PAR + 2 fim repita escreva SOMA fim algoritmo

Interrupo no interior
EXEMPLO Soma nmeros pares de 100 a 200 SINTAXE PORTUGOL repita seqncia A de comandos se condio ento interrompa fim se seqncia B de comandos fim repita Algoritmo declare PAR, SOMA numrico SOMA 0 PAR 98 repita PAR PAR + 2 se PAR > 200 ento interrompa fim se SOMA SOMA + PAR fim repita escreva SOMA fim algoritmo

Interrupo no fim
EXEMPLO Soma nmeros pares de 100 a 200 SINTAXE PORTUGOL repita seqncia A de comandos se condio ento interrompa fim se fim repita Algoritmo declare PAR, SOMA numrico SOMA 0 PAR 100 repita SOMA SOMA + PAR PAR PAR + 2 se PAR > 200 ento interrompa fim se fim repita escreva SOMA fim algoritmo

Lao repita-at
Seqncia de comandos executada at que uma condio seja verdadeira Equivalente ao repita com interrupo no fim Estrutura condicional pode ser omitida

Lao repita-at
EXEMPLO Soma nmeros pares de 100 a 200 SINTAXE PORTUGOL repita seqncia de comandos at condio Algoritmo declare PAR, SOMA numrico SOMA 0 PAR 100 repita SOMA SOMA + PAR PAR PAR + 2 at PAR > 200 escreva SOMA fim algoritmo

Lao enquanto-faa
Seqncia de comandos executada enquanto uma condio / permanece verdadeira Semelhante ao repita com interrupo no incio Estrutura condicional pode ser omitida

Lao enquanto-faa
EXEMPLO Soma nmeros pares de 100 a 200 SINTAXE PORTUGOL enquanto condio faa seqncia de comandos fim enquanto Algoritmo declare PAR, SOMA numrico SOMA 0 PAR 100 enquanto PAR <= 200 faa SOMA SOMA + PAR PAR PAR + 2 fim enquanto escreva SOMA fim algoritmo

Variantes lao enquanto-faa


CONTROLADO POR CONTADOR Quando se sabe o nmero de vezes que o lao ser repetido CONTROLADO POR SENTINELA Informao especial que identifica o fim do lao

Declarado e iniciado fora do lao Incrementado dentro do lao

Identificador de fim deve ser exclusivo

Lao para-faa

Lao executado um nmero fixo de vezes A quantidade controlado por uma varivel contadora Semelhante ao lao enquanto-faa variante controlado por contador Declarao, inicializao e incremento do contador so omitidos

Lao para-faa
EXEMPLO Calcula o fatorial de N SINTAXE PORTUGOL para contador = valor1 at valor2 seqncia de comandos fim para Algoritmo declare FATORIAL, N, I numrico FATORIAL 1 leia N para I = 1 at N faa FATORIAL FATORIAL I fim para escreva FATORIAL fim algoritmo

Exemplos

Leia trs valores inteiros, determine e imprima o menor deles (pg 46) Leia trs valores, determine se formam um tringulo e qual o seu tipo Escreva, a partir da leitura dos dados de 90 bois, o nmero e o peso do mais gordo e o mais magro Calcule o fatorial de N usando o lao enquantofaa

Resumo PORTUGOL

10

11

12