• Nenhum resultado encontrado

Estruturas de Controle 

N/A
N/A
Protected

Academic year: 2022

Share "Estruturas de Controle "

Copied!
10
0
0

Texto

(1)

C#

Estruturas de Repetição

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

2

(2)

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

3 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;

}

 Embora o que se apresenta a seguir não exista, seria

“algo” equivalente a idéia:

if (condição) {

seqüência_de_comandos;

"Volte para o comando if"

}

(3)

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) fim

ler ANO

escrever (ANO,SEXO)

fim

(4)

Exemplo

using System; 

class Program { 

   static void Main(string[] args) {        char sexo; 

      int ano; 

 

      Console.Write("Informe o sexo (m ou f): "); 

      sexo = Convert.ToChar( Console.ReadLine() ); 

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

      sexo = Convert.ToChar(Console.ReadLine()); 

      } 

      Console.Write("\nInforme o ano: "); 

      ano = Convert.ToInt32( Console.ReadLine() ); 

      Console.WriteLine("\nAno:{0} sexo:{1}", ano, sexo); 

 

      Console.ReadLine(); 

   }  } 

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;

}

for

f v

pré_cmd teste

pós_cmd bloco for

f v

pré_cmd teste

pós_cmd bloco

(5)

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

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

 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ço

 ao término do bloco, executa pós_cmd (incremento)

 reavalia teste

 repete o processo até que teste seja falso

10

(6)

O Comando For

• Exemplo: Escrever a tabuada do 2 na tela

 

using System; 

class Program { 

    static void Main(string[] args) {          int i; 

 

        Console.WriteLine("‐:: Tabuada do 2 ::‐\n\n"); 

 

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

      Console.WriteLine("2 x {0} = {1}", i, 2*i); 

 

        Console.ReadLine(); 

    }  } 

11

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. (aquele mesmo empregado no comando switch).

(7)

Exemplo: Lendo caractere a caractere ...

using System; 

 

class Program { 

    static void Main(string[] args) {          ConsoleKeyInfo tecla; 

        int total = 0; 

        int conta_minusculas = 0; 

        int conta_maiusculas = 0; 

        int conta_digitos = 0; 

        Boolean terminou = false; 

 

        Console.Write("Digite uma palavra ou frase, terminando‐a com o  carater $\n‐> "); 

 

        while (!terminou) { 

      tecla = Console.ReadKey(true); 

      if (('a' <= tecla.KeyChar) && (tecla.KeyChar <= 'z'))         conta_minusculas++; 

13

Exemplo: Lendo caractere a caractere ...

      if (('A' <= tecla.KeyChar) && (tecla.KeyChar <= 'Z'))        conta_maiusculas++; 

      if (('0' <= tecla.KeyChar) && (tecla.KeyChar <= '9'))        conta_digitos++; 

      if (tecla.KeyChar == '$')        terminou = true; 

      Console.Write("{0}", tecla.KeyChar); 

      total++; 

        }   

        Console.WriteLine("\nTotal de caracteres: 

{0}\n\tMinusculas:{1}\n\tMaiusculas:{2}\n\tDígitos:{3}", total,  conta_minusculas, conta_maiusculas, conta_digitos); 

 

        Console.Write("\n\nPressione enter para encerrar ..."); 

        Console.ReadLine(); 

    }  } 

14

(8)

Exemplo: Lendo caractere a caractere ...

 Podemos reescrever a repetição usando for e break.

 

for (total = 0; ; total++) {     tecla = Console.ReadKey(true); 

   if (('a' <= tecla.KeyChar) && (tecla.KeyChar <= 'z'))        conta_minusculas++; 

   if (('A' <= tecla.KeyChar) && (tecla.KeyChar <= 'Z'))        conta_maiusculas++; 

   if (('0' <= tecla.KeyChar) && (tecla.KeyChar <= '9'))        conta_digitos++; 

   if (tecla.KeyChar == '$')        break; 

   Console.Write("{0}", tecla.KeyChar); 

O Comando Do-While

do...while é utilizado sempre que o bloco de

comandos deve ser executado ao menos uma vez

do { 

   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

(9)

O Comando Do-While

using System; 

 

class Program { 

    static void Main(string[] args) {   

        int opcao; 

 

        do { 

      Console.WriteLine("Peça pelo número:"); 

      Console.WriteLine("[1] BigMac"); 

      Console.WriteLine("[2] McChicken"); 

      Console.WriteLine("[3] BigTaste"); 

      Console.Write("Opção: "); 

      opcao = Convert.ToInt32( Console.ReadLine() ); 

        } while ((opcao < 1) || (opcao > 3)); 

17

O Comando Do-While

        switch (opcao) {        case 1: 

      Console.WriteLine("\n\nVc escolheu o BigMac."); 

      break; 

      case 2: 

      Console.WriteLine("\n\nVc escolheu o McChicken"); 

      break; 

      case 3: 

      Console.WriteLine("\n\nVc escolheu o BigTaste"); 

      break; 

        }   

        Console.Write("\n\nPressione enter para encerrar ..."); 

        Console.ReadLine(); 

    }  } 

18

(10)

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:

int soma = 0; 

for(int i = 1; i <= 100; i++) {     soma = soma + i; 

100 99

...

3 2

1     

S

Exercício

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

50 ... 99 4

7 3 5 2 3 1

1     

S

Referências

Documentos relacionados

os c´ alculos te´ oricos, utilize os valores dos resistores comerciais apresentados no apˆ endice B como referˆ encia para obter as resistˆ encias projetadas associe resistores em

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Mettez les écouteurs sans fil hors tension, puis appuyez longuement sur et sur les deux touches de volume simultanément, jusqu'à ce que le voyant d'état clignote en rouge

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Mas, para dezoito professores é a indisciplina dos alunos o que mais afeta os seus trabalhos e onze disseram sentir-se prejudicados com o contexto social da escola Em

2 Ligue um cabo de áudio para ouvir o áudio do televisor através do seu sistema de cinema em casa (consulte 'Ligar áudio do televisor e de outros dispositivos' na página 9).. 3

Este serviço ainda vem sendo utilizado pois é um sistema com poucas falhas e está suprindo de imediato a necessidades das empresas que o utilizam como meio