Estrutura_repeticao

26
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL Introdução à Algoritmos Professora: Fabíola Gonçalves.

description

linguagem c

Transcript of Estrutura_repeticao

  • UNIVERSIDADE FEDERAL DE UBERLNDIAENGENHARIA CIVIL

    Introduo AlgoritmosProfessora: Fabola Gonalves.

  • AGENDAEstruturas de repetio: Introduo;Comando enquanto ... faa;Comando faa ... enquanto;Comando repita;Comando para.

    *

    *

  • ESTRUTURAS DE REPETIO

    Permite que uma sequncia de comandos seja executada repetidamente, enquanto uma determinada condio seja satisfeita.

    Existem 2 tipos:

    Condicional repetio ocorre enquanto a condio for verdadeira;Ex.: ENQUANTO e REPITA.Incondicional tem um nmero pr-determinado de repeties.Ex.: PARA.

  • ESTRUTURAS DE REPETIO - COMANDO ENQUANTOComando enquanto.Linguagem Algortmica:

    enquanto condio faa

    comando-A1;comando-A2;......comando-An;fim-enquanto

  • A condio testada no incio da repetio;Enquanto a condio for Verdadeira, o bloco de comandos executado;O bloco de comandos pode ser executado 0 ou + vezes;Para a execuo quando a condio se tornar Falsa.

    *ESTRUTURAS DE REPETIO - COMANDO ENQUANTO

  • ESTRUTURAS DE REPETIO - COMANDO ENQUANTOExemplo 1:

    ...leia (SENHA);enquanto (SENHA # XYZ) faa escreva (Senha invlida); escreva (Digite a senha novamente); leia (SENHA);fim-enquanto...Como o teste da condio realizado no incio do lao, a sequncia de comandos ser executada zero ou mais vezes, dependendo da avaliao da condio.

  • ESTRUTURAS DE REPETIO - COMANDO ENQUANTOExemplo 2:

    Algoritmo EXEMPLO_DE_ENQUANTO {escrever os nmeros inteiros de 1 a 100}N : inteiroincio N

  • ESTRUTURAS DE REPETIO COMANDO ENQUANTOExemplo 3:

    Algoritmo EXEMPLO_ENQUANTO {calculo do quadrado de um nmero}numero : inteiroinicio numero 1; enquanto numero # 0 faaescreva(o quadrado de, numero, : );escreva(numero^2);leia(numero); fim-enquanto escreva(FIM DO PROGRAMA);fim*

  • ESTRUTURAS DE REPETIO COMANDO ENQUANTOExemplo 4:

    Algoritmo EXEMPLO_ENQUANTO {soma valores}valor, soma: inteiro;iniciosoma

  • ESTRUTURAS DE REPETIOCOMANDO ENQUANTOExerccio:

    Elabore um algoritmo para determinar o menor nmero inteiro fornecido pelo usurio. Considere que o nmero zero indica o fim da entrada de dados.

    Achar o maior e o menor nmero de uma srie de nmeros positivos fornecidos pelo usurio.*

    Resp. pag 27 e 28*

  • ESTRUTURAS DE REPETIOCOMANDO FAA ... ENQUANTOSintaxe:

    faacomando-A1;comando-A2;......comando-An;enquanto ;

    Exemplo:

    numero 1;faaescreva(o quadrado de , numero, : );escreva(numero^2);leia(numero);enquanto numero 0;escreva(FIM DO PROGRAMA);*

  • ESTRUTURAS DE REPETIOCOMANDO REPITAA condio testada no final da repetio;Enquanto a condio for Falsa, o bloco de comandos executado;

    Lembrando que condio uma expresso lgica sempre testada ao final de cada interao!

    O bloco de comandos executado pelo menos 1 vez.Para a execuo quando a condio se tornar Verdadeira.

    *

  • ESTRUTURAS DE REPETIOCOMANDO REPITA-ATESintaxe:

    repitacomando-A1;comando-A2;......comando-An;ate

    A1, A2, A3, ... , A4 sero executados pelo menos uma vez. At que a condio seja testada e se torne ??

    *

  • ESTRUTURAS DE REPETIOCOMANDO REPITA-ATE

    Exemplo:

    numero 1;repitaescreva(o quadrado de , numero, : );escreva(numero^2);leia(numero);ate numero = 0escreva(FIM DO PROGRAMA);

    Neste caso calcularemos o quadrado do nmero enquanto o usurio no entrar com um valor 0.Mas se ele entrar com 0 o que a algoritmo imprimir?

    *

  • ESTRUTURAS DE REPETIOCOMANDO REPITA-ATE

    O comando repita-at equivalente ao comando enquanto-faa, vejam:

    *

  • REPETIO POR VARIVEL DE CONTROLENmero de repeties for previamente conhecido.Uso de contador para controlar o nmero de repeties.Contador: uma varivel do tipo inteiro.

    Sintaxe do Comando:

    para i de valor at l passo p faacomando-C1;comando-C2;......comando-An;fim-paraOBS: Quando o passo p for =1 no necessrio colocar essa esta especificao

  • REPETIO POR VARIVEL DE CONTROLEExemplo:

    Algoritmo LAO_CONTADORNUM,SOMA,CONT : inteiro; incio SOMA

  • REPETIO POR VARIVEL DE CONTROLE

    Tambm conhecido como Controle por Contador o comando para , na verdade, o comando enquanto utilizando uma varivel de controle em uma notao compacta.

    Neste caso sempre existir uma inicializao de varivel de controleUm teste para verificar se a varivel atingiu o limiteE, ainda, um acrscimo na varivel de controle

  • REPETIO POR VARIVEL DE CONTROLECOMANDO PARAExemplos:

    para cont = 1 ate 9 passo 2 faaescreva(O valor de cont , cont);fim-paraPergunta: O que ser impresso??

    /* O que ser impresso?*/para cont = 10 ate 1 passo -1 faaescreva(O valor de cont , cont );fim-para*

    /* escreve na ordem inversa */*

  • REPETIO POR VARIVEL DE CONTROLECOMANDO PARAExerccio:

    -- Construa um algoritmo que calcule e imprima a somatria de N nmeros (sendo N > 0). Considere como dados de entrada a quantidade de nmeros a serem lidos e os valores dos respectivos nmeros.

    --Faa um algoritmo que, sem utilizar o operador de exponenciao, realize a operao X^Y, para qualquer X e Y fornecido pelo usurio.

    Reescreva o algoritmo acima, utilizando as demais estruturas de repetio.*

    *

  • CONTROLE POR ENTRADA (FLAG)

    Quando no conhecemos o nmero de repeties e este for determinado por um valor que ser lido (flag); devemos utilizar um controle de repeties por entrada, tambm conhecido como controle por sentinela.

    Exemplo: este algoritmo l um conjunto de nmeros inteiros e exibe o valor mdio dos mesmos.Obs: a condio de sada do lao ser a leitura do valor 0 (flag).

  • CONTROLE POR ENTRADA (FLAG)Algoritmo LAO_COM_FLAG NUM,CONT,SOMA,MEDIA : inteiro; incio SOMA
  • EXERCCIOS Qual a utilidade da estrutura de repetio? Em que consiste o controle de repeties por contador?Em que consiste o controle de repeties por flag?Faa um algoritmo que mostre todos os nmeros inteiros de 1 a 50.Faa um algoritmo que mostre todos os nmeros inteiros pares de 2 a 100.Faa um algoritmo que gere a seguinte srie: 10, 20, 30, 40, ..., 990, 1000.Escreva um algoritmo que leia trs nmeros e imprima o maior deles.

  • EXERCCIOSFaa o acompanhamento da execuo do algoritmo abaixo e preencha a Tabela de Variveis:

  • EXERCCIOSEscreva um algoritmo que leia 10 nmeros e imprima o maior deles. Escreva um algoritmo que leia trs nmeros e os imprima em ordem crescente. Escreva um algoritmo que leia uma certa quantidade de nmeros e imprima o maior deles e quantas vezes o maior nmero foi lido. A quantidade de nmeros a serem lidos deve ser fornecida pelo usurio. Assuma que o usurio sempre fornecer um nmero positivo.

  • *Resp. pag 27 e 28*/* escreve na ordem inversa */*

    *