• Nenhum resultado encontrado

O Comando While

N/A
N/A
Protected

Academic year: 2022

Share "O Comando While"

Copied!
5
0
0

Texto

(1)

Estruturas de Controle

Linguagem de Programação Estruturada Prof. Leandro Carlos Fernandes

2º semestre 2015

Estruturas de Controle

ESTRUTURA SEQUENCIAL

ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional Composta

Seleção entre duas ou mais Seqüências de Comandos

ESTRUTURA DE REPETIÇÃO Repetição com Teste no Início Repetição com Teste no Final Repetição Contada

1

O Comando While

while (condição) { comandos;

}

1º avalia condição

se condição é verdadeira, executa comandos do bloco

ao término do bloco, volta a avaliar condição

repete o processo até que condição seja falsa

while f v while

f v

O Comando While

O comando while que tem a seguinte forma geral:

while (condição) {

seqüência_de_comandos;

}

seria equivalente a:

if (condição) {

seqüência_de_comandos;

"Volte para o comando if"

}

(2)

While - Exemplo

voidpula_brancos () {

intch;

while((ch = getchar()) == ' '|| /* brancos */

ch == '\n'|| /* newline */

ch == '\t') /* tabs */

; /* não faz nda */

}

4 f u n ç ã o q u e p u l a

b r a n c o s \n

Exemplo de utilização

Desenvolver algoritmo para o problema:

Ler a variável SEXO.

Enquanto o valor fornecido não for correto (M,m,F,f) exibir mensagem de erro e solicitar novamente a leitura.

Quando o valor fornecido estiver correto, ler a variável ANO.

Escrever ANO e SEXO

Algoritmo

programa TESTE1 declare as variáveis inicio

ler (SEXO)

enquanto SEXO (f, F, m, M) faça início

escrever “ERRO”

ler (SEXO) fimler ANO

escrever (ANO,SEXO) fim

Exemplo

#include <stdio.h>

#include <conio.h>

intmain () { charsexo; intano;

printf("Informe o sexo (m ou f): ");

sexo = getche();

while(sexo != 'f'&& sexo !=‘F' && sexo != ‘m'&& sexo !=‘M') { printf("\nValor inválido, informe novamente: ");

sexo = getche();

}printf("\nInforme o ano: "); scanf("%d",&ano);

printf("\nAno:%d sexo:%c",ano,sexo);

return0;

(3)

O Comando For

for(pré_cmd; teste; pós_cmd) { comandos;

}

em termos de while, equivale a:

pré_cmd;

while(teste) { comandos;

pós_cmd;

}

8 for

f v

pré_cmd teste

pós_cmd bloco for

f v

pré_cmd teste

pós_cmd bloco

O Comando For

O loop for é usado para repetir um comando, ou bloco de comandos, diversas vezes, de maneira que se possa ter um bom controle sobre o loop.

for(inicialização; condição; incremento) { seqüência_de_comandos;

}

9

O Comando For

1º executa pré_cmd(inicialização), que permite iniciar variáveis

2º avalia teste(condição): se verdadeiro, executa comandos do bloco, senão encerra

laçoao término do bloco, executa pós_cmd (incremento)

reavalia teste

repete o processo até que teste seja falso

O Comando For

Exemplo: Escreve a tabuada do 2 na tela

#include <stdio.h>

intmain( ) { inti;

for( i=1; i <=10; i++)

printf("2 x %d = %d\n", i, 2*i);

return0;

}

(4)

O Comando For

Podemos omitir qualquer um dos elementos (inicialização, condição ou incremento) do for.

Por exemplo:

for (inicialização; ;incremento) { seqüência de comandos;

Este é um loop infinito porque será executado para sempre } (não existindo a condição, ela será sempre considerada verdadeira), a não ser que ele seja interrompido.

Para interromper um loop como este usamos o comando break.

12

O Comando For

#include <stdio.h>

#include <conio.h>

intmain () { intcount;

charch;

for(count = 1; ; count++) { ch = getch();

if(ch == 'X') break;

printf("\nLetra: %c", ch);

} return0;

}

13

A ausência do 2º termo do laço é interpretada como verdadeiro,

então o controle do término do processo iterativo deve ser realizado de outra forma. Neste

caso, pelo comando break

O Comando Do-While

do...whileé utilizado sempre que o bloco de comandos deve ser executado ao menos uma vezdo {

comandos;

} while(condição);

1º executa comandos

2º avalia condição:

se verdadeiro, executa novamente os comandos do bloco; senão encerra laço

do

v f

teste bloco do

v f

teste bloco

O Comando Do-While

#include <stdio.h>

intmain( ) { int i;

do{

printf("Escolha a fruta pelo numero:\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 ) {

case1: printf ("\t\tVoce escolheu Mamao.\n");

break;

case2: printf ("\t\t Voce escolheu Abacaxi.\n");

break;

case3: printf ("\t\t Voce escolheu Laranja.\n");

break;

}return0;

}

(5)

Acumuladores

É a utilização de um elemento (variável) com o propósito de armazenar os resultados parciais de operação iterativa.

O efeito é dado pela característica repetitiva do conjunto.

O arranjo é dado na forma:

acumulador = acumulador operação termo

Exemplo

Faça um programa para calcular o valor da seguinte série:

5099 4 ...

3 7 2 5 1 3

1    

 S

Exemplo

#include <stdio.h>

intmain () { floatsoma; inti;

soma = 1/1;

for(i = 2; i<=50; i++) {

soma = soma + (float) (2*i-1)/i;

printf("O resultado da soma eh: %f", soma);

return0;

}

Referências

Documentos relacionados

«conceptualizar e a formular» as suas regras e princípios, vão ser capazes de construir as suas próprias teorias que orientam a prática docente como rampa de lançamento para

se mais de um comando deve ser executado quando a condição for verdadeira ou quando a condição for falsa, esses comandos devem ser transformados em.. EXEMPLO (condicional

Lembre-se disto, se os justos são salvos somente com grande dificuldade, eles nunca seriam salvos se não olhassem imediatamente de si mesmos para o Senhor Jesus Cristo..

En France, PSA 2 veut aussi donner plus d’autonomie aux véhicules pour plus de sécurité et plus de confort, notamment dans les bouchons.. Les travaux du constructeur

The multiple impacts of soybean expansion on biodiversity and other development considerations ha ve several implications for policy: (1) protected areas need to

Diabetes is a chronic progressive metabolic disease characterized by hyperglycemia due mainly to absolute insulin insufficiency (type 1 diabetes) or relative

A classificação para preenchimento das vagas no curso será feita pela ordem vertical decrescente sobre o total dos pontos obtidos pelos candidatos até preencher o número de

Nesta etapa, vamos extrapolar as consequências de uma selecção incorrecta dos actores para os três filmes propostos, para um cenário real de vendas menos &#34;hollywoodesco&#34;.