A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem C Estruturas de Controle de Fluxos Disciplina: AAM Profa. Ana Watanabe 1/2013 vol.4.

Apresentações semelhantes


Apresentação em tema: "Linguagem C Estruturas de Controle de Fluxos Disciplina: AAM Profa. Ana Watanabe 1/2013 vol.4."— Transcrição da apresentação:

1 Linguagem C Estruturas de Controle de Fluxos Disciplina: AAM Profa. Ana Watanabe 1/2013 vol.4

2 regozijai-vos sempre. I Tessalonicenses 5:16

3 Linguagem C Objetivo da aula: ESTRUTURAS DE CONTROLE DE FLUXO Exercício de Fixação

4 Linguagem C ESTRUTURAS DE CONTROLE DE FLUXO Os comandos de controle de fluxo são a base de qualquer linguagem. C tem um conjunto muito rico e poderoso de comandos de controle de fluxo. Eles se dividem em comandos de teste de condições e comandos de controle de loop.

5 Linguagem C Comandos de testes de condições Estes comandos avaliam uma condição e executam um bloco de código de acordo com o resultado. São eles: if switch

6 Linguagem C Comandos de testes de condições if Forma geral do comando if é: if (condição) comando; else comando; Obs.: A parte else é opcional

7 Linguagem C Exemplos if (x) if (x) { if (y) if (y) printf(1); printf(1); } else printf(2); printf(2); Neste caso, o else Neste caso, o else pertence ao pertence ao primeiro segundo if.

8 Linguagem C escada if-else-if: É muito comum encontrar programas da seguinte forma: if (condição) comando; else if (condição) comando; else comando;

9 Linguagem C O computador avalia as expressões condicionais de cima para baixo. Assim que encontra uma condição verdadeira, ele executa o comando associado a ela e passa por cima do resto da escada. Se nenhuma condição for verdadeira, o computador executará o else final.

10 Linguagem C Comandos de testes de condições: Switch É um comando de vários desvios No switch, o computador testa uma variável sucessivamente contra uma lista de constantes inteiras ou de caracteres e executa um comando ou bloco de comandos quando encontrar uma coincidência.

11 Linguagem C Forma geral do switch switch (variável) { case constante1: seqüência de comandos break; case constante2: seqüência de comandos break; default: seqüência de comandos }

12 Linguagem C Dicas importantes: De modo geral, a sequência de comandos do case não precisam estar entre chaves. Porém, se o primeiro comando dentro de um case for a declaração ao de uma variável, será necessário colocar todos os comandos desse case dentro de um par de chaves.

13 Linguagem C default O comando default será executado se não for encontrada nenhuma coincidência na lista de constantes. Caso não seja colocado um comando default e não haja coincidência, nenhum comando será executado.

14 Linguagem C break Quando o computador encontra alguma coincidência, ele executa os comandos associados àquele case até encontrar break ou o fim do comando switch. É um erro comum programadores esquecerem de colocar o break após os comandos.

15 Linguagem C importante: O switch difere do if, já que o primeiro só pode testar igualdade e a expressão condicional if pode ser de qualquer tipo. Não pode haver duas constantes case com valores iguais no mesmo switch. Podem ser colocados comandos switch dentro de comandos switch. Pode ser deixado um case vazio quando mais de uma condição usa o mesmo código.

16 Linguagem C Comandos de controle de loops Os comandos de controle de loops permitem que o computador repita um conjunto de instruções até que alcance uma certa condição. Em C temos os seguintes comandos de controle de loop: for while do while

17 Linguagem C for O loop for em C é muito mais forte e mais flexível que o da maioria das outras linguagens. Sua forma geral é: for (inicialização; condição; incremento) comando; Observe que as três partes do loop for são separadas por ponto e vírgula. Nenhuma destas partes precisa existir. Ao omitir a condição ao do comando for, criamos um laço infinito.

18 Linguagem C Inicialização Na forma mais simples, inicialização é um comando de atribuição que o compilador usa para estabelecer a variável de controle de loop. A inicialização pode conter qualquer comando válido em C.

19 Linguagem C Condição A condição é uma expressão de relação que testa se a condição final desejada pelo loop for ocorreu. Aqui também pode ser colocado qualquer comando válido em C.

20 Linguagem C Incremento O incremento define a maneira como a variável de controle do loop será alterada cada vez que o computador repetir o loop. Também aqui, podemos colocar qualquer comando válido em C.

21 Linguagem C Exemplo 1 /* conta de 1 a 100 – pode ser usado pra retardo de tempo */ main() { int x; for (x = 1; x <= 100; x ++) ; }

22 Linguagem C Exemplo 2 /* conta de 100 a 1 */ main() { int x; for (x = 100; x > 0; x --) ; }

23 Linguagem C Exemplo 3 /* conta de 0 a 100, 5 em 5 */ main() { int x; for (x = 0; x <= 100; x = x + 5) ; }

24 Linguagem C Loop infinito Podemos fazer um comando for executar para sempre simplesmente não especificando sua parte condicional. Veja: for (;;) { }

25 Linguagem C Saindo de um loop Podemos usar o comando break para encerrar um for a qualquer momento. main() /* O loop será executado 10 vezes */ { int a; for (a = 1; a < 100; a++) if (a == 10) break; }

26 Linguagem C While O while executa um comando (ou bloco de comandos) enquanto uma condição for verdadeira. A forma geral do while é: while (condição) comando;

27 Linguagem C While Exemplo 1 pausa() { char tecla = \0; printf(Tecle ESPAÇO para continuar...); while (tecla != ) tecla = getche(); }

28 Linguagem C Exemplo 1 pausa() { char tecla = \0; printf(Tecle ESPAÇO para continuar...); while (tecla != ) tecla = getche(); }

29 Linguagem C do while Ao contrário do loop for e do loop while, que testam a condição no começo do loop, o loop do while verifica a condição somente no final. Desta forma, o loop será executado pelo menos uma vez.

30 Linguagem C do while A forma geral do loop do while é: do { comando; } while (condição);

31 Linguagem C Um dos usos da estrutura do-while é em menus, nos quais você quer garantir que o valor digitado pelo usuário seja válido, conforme apresentado a seguir:

32 Linguagem C int main () { int i; do { printf ("\n\nEscolha a fruta pelo numero:\n\n"); printf ("\t(1)...Mamao\n"); printf ("\t(2)...Abacaxi\n"); scanf("%d", &i); } while ((i 2)); switch (i) { case 1: printf ("\t\tVoce escolheu Mamao.\n"); break; case 2: printf ("\t\tVoce escolheu Abacaxi.\n"); break; }

33 Linguagem C Interrupção de loops Quando precisamos encerrar um loop sem que sua condição de encerramento esteja satisfeita, podemos utilizar o comando break. O break faz com que a execução do programa continue na primeira linha seguinte ao loop ou bloco que está sendo interrompido..

34 Linguagem C O que faz esta rotina? for(t=0; t<100; ++t) { count=1; for(;;) { printf("%d", count); count++; if(count==10) break; }

35 Linguagem C O que faz esta rotina? for(t=0; t<100; ++t) { count=1; for(;;) /* imprimirá os números de 1 a 10 cem vezes na tela.*/ { printf("%d", count); count++; if(count==10) break; }

36 Linguagem C Comando continue O comando continue funciona de maneira parecida com o comando break. Porém, em vez de forçar o encerramento, continue força a próxima iteração do loop e pula o código que estiver no meio.

37 Linguagem C Exemplo: O que faz o programa? main() { int x; for (x = 0; x < 100; x ++) { if (x % 2) continue; printf(%d, x); }

38 Linguagem C /* programa para imprimir os números pares entre 0 e 98 */ main() { int x; for (x = 0; x < 100; x ++) { if (x % 2) continue; printf(%d, x); }

39 Linguagem C O Comando goto O goto é o último comando de controle de fluxo. Ele pertence a uma classe à parte: a dos comandos de salto incondicional. O goto realiza um salto para um local especificado. Este local é determinado por um rótulo. Um rótulo, na linguagem C, é uma marca no programa. Você dá o nome que quiser a esta marca.

40 Linguagem C O Comando goto A forma geral é: nome_do_rótulo:.... goto nome_do_rótulo;....

41 Linguagem C O comando goto deve ser utilizado com parcimônia, pois o abuso no seu uso tende a tornar o código confuso. O goto não é um comando necessário, podendo sempre ser substituído por outras estruturas de controle. Recomendamos que o goto nunca seja usado.

42 Linguagem C Existem algumas situações muito específicas onde o comando goto pode tornar um código mais fácil de se entender se ele for bem empregado. Um caso em que ele pode ser útil é quando temos vários loops e ifs aninhados e se queira, por algum motivo, sair destes loops e ifs todos de uma vez. Neste caso um goto resolve o problema mais elegantemente que vários breaks, sem contar que os breaks exigiriam muito mais testes. Ou seja, neste caso o goto é mais elegante e mais rápido.

43 Exercício de Fixação: PRÁTICA: Escrever um programa que conforme as chaves muda a lógica dos 8 leds. LINGUAGEM C


Carregar ppt "Linguagem C Estruturas de Controle de Fluxos Disciplina: AAM Profa. Ana Watanabe 1/2013 vol.4."

Apresentações semelhantes


Anúncios Google