Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação em C: Aprendendo a programar computadores Inserir título Controle de Fluxo Estrutura de controle de fluxo: Comando if Comando if else Comando while Comando do while Comando for Comando switch case Agenda Inserir título Controle de Fluxo Compreender diversos tipos de controle de fluxo disponíveis na linguagem C. Aprender a implementar algoritmos em C com tomadas de decisões. Objetivos Inserir título Controle de Fluxo Necessidade de tomada de decisões baseado em fatos passados; Repetição de certos trechos de código; Proporciona inteligência ao programa; Utilidade Inserir título Controle de Fluxo Os comandos de controle de fluxo podem ser divididas nas categorias: Instruções Condicionais; if else; switch; Estruturas de Repetição; while; for; do while; Inserir título Controle de Fluxo A linguagem C interpreta falso como 0 e verdadeiro como 1. Operador Condição > maior que >= maior ou igual < menor que <= menor ou igual == igual != diferente Expressões Condicionais Inserir título Controle de Fluxo Podemos também combinar condições com o auxílio dos operadores abaixo: Operador Significado || ou && e ! não Expressões Condicionais Inserir título Controle de Fluxo Podemos também combinar condições com o auxílio dos operadores abaixo: (x == y) && (y == z) (a+1 > 2*b) || (2*c == 6) Expressões Condicionais Inserir título Controle de Fluxo Comando if Sintaxe: if (condição) { bloco de comandos } Instruções Condicionais Inserir título Controle de Fluxo Comando if Primeiramente, a expressão da condição é avaliada. Caso o resultado seja verdadeiro (diferente de zero), o bloco de comandos entre { } é executado. Caso a expressão resulte em falso (igual a zero), o bloco de comandos não será executado. Instruções Condicionais Inserir título Controle de Fluxo Comando if Veja o exemplo: #include <stdio.h> void main (void){ int num; int resultado; printf ("Entre com um numero : "); scanf ("%d", &num); if ((num % 2) == 0){ printf ("Numero Par\n"); }} Instruções Condicionais Inserir título Controle de Fluxo Comando if else Sintaxe: if (condição) { bloco de comandos 1 } else { bloco de comandos 2 } Instruções Condicionais Inserir título Controle de Fluxo Comando if else Este comando inicialmente testa a condição. Caso seja verdadeiro, o bloco de comando será executado. Caso a condição resulte em valor falso, será executado o bloco de comandos 2. Instruções Condicionais Inserir título Controle de Fluxo Comando if else Veja o exemplo: #include <stdio.h> void main (void){ int num; int resultado; printf ("Entre com um numero : "); scanf ("%d", &num); if ((num % 2) == 0) printf ("Numero Par\n"); else printf ("Numero Impar\n"); } Inserir título Controle de Fluxo Operador ? : Sintaxe: (cond? bloco_verd : bloco_falso) O operador ? : é uma maneira simplificada de escrever um if else. Apesar de possuir a mesma funcionalidade, não se deve usar este operador quando os comandos envolvidos são complexos. Instruções Condicionais Inserir título Controle de Fluxo Operador ? : Primeiramente a condição é avaliada. Dependendo do resultado o bloco respectivo será executado. Veja o exemplo: #include <stdio.h> void main (void){ int num; printf ("Entre com um numero : "); scanf ("%d", &num); printf ((num%2 == 0? "Numero Par\n" : "Numero Impar\n")); Inserir título Controle de Fluxo Comando while Sintaxe: while (condição) { bloco de comandos } Instruções Condicionais Inserir título Controle de Fluxo Comando while Deve ser usado quando não se pode determinar com certeza quantas vezes um bloco de comandos será executado. Inicialmente a condição é testada. Caso seja falso, o programa não executará o bloco de comando indicado e continuará no comando após o comando while. Instruções Condicionais Inserir título Controle de Fluxo Comando while Caso a condição seja verdadeira, o bloco de comando é executado. Ao final da execução do bloco, volta-se a testar a condição. O bloco de comandos, portanto, será executado até que se alcance uma condição falsa. De uma outra maneira, comando será executado enquanto a condição for verdadeira. Instruções Condicionais Inserir título Controle de Fluxo Veja o exemplo: #include <stdio.h> void main (void){ int num, i; printf ("Contar ate : "); scanf ("%d", &num); i =1; while (i <= num){ printf ("%d\n", i); i++; } Instruções Condicionais Inserir título Controle de Fluxo Comando do while Sintaxe: do { bloco de comandos } while (condição); Instruções Condicionais Inserir título Controle de Fluxo Comando do while O comando do while diferencia-se do comando while em somente um detalhe. O bloco de comando indicado é sempre executado pelo menos uma vez. Após a execução do bloco, a condição é testada. Caso seja verdadeira, o bloco continua a ser executado. A execução passará para o próximo comando somente quando a condição retornar falso. Instruções Condicionais Inserir título Controle de Fluxo Veja o exemplo: #include <stdio.h> void main (void){ int num; do{ printf ("Entre com um numero diferente de zeros: "); scanf ("%d", &num); } while (num == 0); printf ("Valor digitado: %d\n", num); } Instruções Condicionais Inserir título Controle de Fluxo Comando for Sintaxe for(inicialização; condição de fim; incremento) { bloco de comandos } Instruções Condicionais Inserir título Controle de Fluxo Comando for Quando se quer executar um bloco de comando um número determinado de vezes, deve-se utilizar o comando for. Na sua declaração, o comando for determina três áreas distintas. Na primeira área são os comandos que serão executados inicialmente. Deve-se colocar nesta área comandos de inicialização de variáveis. Instruções Condicionais Inserir título Controle de Fluxo Comando for A segunda área é a de teste. A cada interação, as condições colocadas aí são testadas e, caso sejam verdadeiras, segue-se com a execução do bloco de comandos. A última área possui comandos que serão executados ao final da interação. Geralmente são colocados nesta área os comandos de incrementos de variáveis. Instruções Condicionais Inserir título Controle de Fluxo Comando for Pode-se omitir os comandos da área de inicialização e de incremento, bastando-se colocar o ponto e vírgula. Veja o exemplo: #include <stdio.h> void main (void){ int num, i; printf ("Contar ate : "); scanf ("%d", &num); for (i=1; i <= num; i++) printf ("%d\n", i); } Instruções Condicionais Inserir título Controle de Fluxo Instruções Condicionais Inserir título Controle de Fluxo Instruções Condicionais #include <stdio.h> main (void) { Int i; for(i=0; i<1000; i++); Printf(“Eu não devo desrespeitar o professor”); } Inserir título Controle de Fluxo Comando switch case Sintaxe: switch (expressão) { case const1:{ bloco_1...;break;} case const2:{ bloco_2...;break;} .......default : { bloco_n... } } Instruções Condicionais Inserir título Controle de Fluxo Comando switch case Caso seja necessário realizar operações baseadas em um valor de uma expressão ou variável, em vez de se construir para isto uma cadeia de if...else...if...else..if...else, pode-se utilizar o comando de seleção múltipla switch...case. Instruções Condicionais Inserir título Controle de Fluxo Comando switch case Inicialmente valor da expressão é avaliado. Depois é feita uma comparação com cada valor colocado na seção case. Caso o valor seja coincidente, o bloco ligado ao case será executado. Para interromper a execução deve-se utilizar um break, indicando que deve ser interrompida a execução e passar a executar os comandos após o switch. Instruções Condicionais Inserir título Controle de Fluxo Comando switch case Existe a possibilidade de colocar uma condição para que, se nenhumcase foi selecionado, um bloco seja executado. A palavra default indicará este bloco padrão a ser executado. Instruções Condicionais Inserir título Controle de Fluxo Veja o exemplo: #include <stdio.h> void main (void){ int vlr1; printf ("Entre com um numero : "); scanf ("%d", &vlr1); switch (vlr1){ case 1 : { printf ("Um\n"); break;} Instruções Condicionais Inserir título Controle de Fluxo case 2 : { printf ("Dois\n"); break;} case 3 : { printf ("Tres\n"); break;} default : printf ("Valor nao associado\n"); break; } } Instruções Condicionais http://www.inf.pucrs.br/~pinho/LaproI/IntroC/IntroC.htm http://www2.dcc.ufmg.br/disciplinas/pc/source/introducao_c_renatocm_deeufmg.pdf http://www.ferrari.pro.br/home/documents/FFerrari-CCechinel-Introducao-a-algoritmos.pdf http://www.ead.cpdee.ufmg.br/cursos/C/c.html Linguagem C Luis Damas_10ª Edição Programação em C no GNU/Linux (Lucas Correia Villa Real) Programando em C para Linux, Unix e Windows (Marcos Aurélio Pchek Laureano) Imagens: http://umblogprogramado.blogspot.com.br/ https://www.facebook.com/vidadeprogramador.com.br https://www.google.com.br/imghp?hl=pt-BR&tab=ii&biw=1366&bih=667
Compartilhar