Baixe o app para aproveitar ainda mais
Prévia do material em texto
N575 - Algoritmos e Programação de Computadores Estrutura de Controle – Estrutura de Repetição WHILE e DO-WHILE Prof. Raphael Torres Santos Carvalho N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 1 Roteiro Objetivo Estrutura de Repetição WHILE Estrutura de Repetição DO-WHILE N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 2 Objetivo Definir a estrutura de repetição para número indefinido de repetições e teste no inicio (Estrutura WHILE). Definir a estrutura de repetição para numero indefinido de repetições e teste no final. (Estrutura DO-WHILE) N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 3 Estruturas de Repetição Muitas vezes é necessário efetuar a repetição de um trecho de programa um determinado número de vezes. Neste caso, será criado o chamado loop, que tem por finalidade efetuar o processamento de um determinado trecho, tantas vezes quantas forem necessárias. A quantidade de vezes que a repetição ocorre é baseada no valor de uma expressão de controle. Os comandos de repetição da linguagem C. O comando for; O comando while; O comando do - while; N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 4 Estruturas de Repetição Independentemente de qual comando de repetição utilizar, todos têm sempre três componentes que podem devem aparecer implícita ou explicitamente. inicialização; condição de parada; modificação; N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 5 Estrutura de Repetição WHILE Sintaxe: inicialização; while(condição) { comandos; modificação; } Semântica: Podemos ver que a estrutura while testa uma condição. Se esta for verdadeira os comandos são executados e faz-se o teste novamente, e assim por diante. N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 6 Diagrama de fluxo: condição comandos V F inicialização modificação Estrutura de Repetição WHILE Exemplo: #include <stdio.h> int main () { char Ch; Ch='\0'; while (Ch!='q') { scanf("%c", &Ch); } return(0); } N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 7 Estrutura de Repetição DO-WHILE Sintaxe: inicialização; do { comandos; modificação; } while(condição); Semântica: A estrutura do-while executa os comandos, testa a condição e, se esta for verdadeira, volta para os comandos. A grande novidade no comando do-while é que ele, ao contrário do for e do while, garante que a declaração será executada pelo menos uma vez. N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 8 Diagrama de fluxo: condição comandos V F inicialização modificação Estrutura de Repetição DO-WHILE Exemplo: #include <stdio.h> int main () { int i; do { printf ("\n\nEscolha a fruta pelo numero:\n\n"); printf ("\t(1)...Mamao\n"); printf ("\t(2)...Abacaxi\n"); printf ("\t(3)...Laranja\n\n"); scanf("%d", &i); } while ((i<=1)&&(i>=3)); switch (i) { case 1: printf ("\t\tVoce escolheu Mamao.\n"); break; case 2: printf ("\t\tVoce escolheu Abacaxi.\n"); break; case 3: printf ("\t\tVoce escolheu Laranja.\n"); break; } return(0); } N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 9 Comandos auxiliares O comando break A instrução break do C pode ser usada para sair de um laço antes que a condição de parada se torne FALSA. Quando se sai de um laço através do comando break, a execução do programa continua na próxima instrução que vem após o laço. Exemplo: int i = 1, soma = 0; while(i < 10) { soma += i; if(soma > 20) break; i++; } N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 10 Comandos auxiliares O comando continue Como já vimos, um break pára toda a execução do laço. Em contraste, continue faz com que todas as instruções que vêm após ela sejam ignoradas, mas não impede a modificação da variável de controle do laço. Exemplo: int num_sorte = 7, entrada, tentativas = 0, sorte=0; while(!sorte) { printf(“Digite um palpite”); scanf(“%d”,&entrada); tentativas ++; if(entrada == num_sorte ) sorte= 1; else continue; printf(“Numero de tentativas = %d”, tentativas); } N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 11 Dúvidas? N 5 7 5 - A lg o ri tm o s e P ro gr am aç ão d e C o m p u ta d o re s 12
Compartilhar