INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia em Sistemas para Internet 17/07/2013
SUMÁRIO Estruturas de seleção if e switch Estruturas de repetição while, for e do-while 2
ESTRUTURAS DE SELEÇÃO
ESTRUTURA DE SELEÇÃO IF Et Estruturas t de seleção if (condição) comando Exemplo if ( a < 0) a = -a; if (condição) comando1 else comando2 Exemplo if ( (a % 2) == 0 ) std::cout t << par ; else std::cout << ímpar ; 4
ESTRUTURA DE SELEÇÃO IF Estruturas de seleção if (condição){ } Exemplo if ( a < 0){ a = -a; b = a; } if (condição){ comando1 }else{ comando2 } Exemplo if ( (a % 2) == 0 ){ std::cout << par ; b = a; }else{ std::cout << ímpar ; b = a 1; 5 }
ESTRUTURA DE SELEÇÃO IF Estruturas de Seleção Aninhadas if (condição1){ if (condição11){ } }else{ if (condição2){ }else{ comandos } } Outra forma de escrever uma estrutura condicional if (condição1){ }else if (condição2){ }else if (condição3){ } 6
EXERCÍCIOS 7
ESTRUTURA DE SELEÇÃO SWITCH Utilizada para escolher uma dentre múltiplas alternativas A seleção se baseia no valor de uma expressão O valor dessa expressão pode ser do tipo int ou char O valor de cada caso deve ser compatível com o tipo utilizado na expressão de seleção 8
ESTRUTURA DE SELEÇÃO SWITCH Para seleção com base em uma variável simples do tipo inteiro ou char Estrutura switch( expressao){ case expressao1 : break; case expressao2 : break;... case expressaon : break; default: // a utilização de default é opcional } 9
EXEMPLOS 10
EXEMPLOS 11
EXERCÍCIO Faça um programa que peça ao usuário uma data no formato dia/mês/ano (12/05/2012) e converta para: dia de mês por extenso ano (12 de maio de 2012) Exercício para casa Faça um programa que peça ao usuário uma data no formato dia/mês/ano (12/05/2012) e converta para dia por extenso de mês por extenso ano (doze de maio de 2012) 12
EXERCÍCIOS 13
EXPRESSÕES CONDICIONAIS COM O OPERADOR (? :) Equivalente a uma estrutura condicional se (if) Sintaxe (condicao? expressao1 : expressao2 ) Exemplo int n; std::cin >> n; bool ehpar = ((n % 2) == 0? true : false); 14
ESTRUTURA DE REPETIÇÃO
ESTRUTURA DE REPETIÇÃO Estruturas while for do - while 16
ESTRUTURA WHILE Itens a se observar Inicialização Citéi Critério de parada Atualização Estrutura while ( condicao ) { } 17
EXEMPLO int contador = 0; //inicializaçãoi i while(contador < n){//condição de parada std::cout << n; contador ++; //atualização } Atenção para laços infinitos Laços controlados por Contador: Quando sabe-se exatamente a quantidade de repetições que um bloco deve executar Sentinela: Quando não se sabe exatamente a quantidade de repetições que um bloco deve executar ecuta 18
EXEMPLO Laço controlado por sentinela 19
SENTENÇAS BREAK E CONTINUE A análise da condição de parada não é a única forma de interromper a execução de um laço. Também podemos utilizar as instruções break ou continue break: interrompe a execução de uma estrutura de repetição continue: termina a interação atual do corpo do laço, e segue para a próxima repetição 20
EXEMPLO 21
EXERCÍCIOS 1. Faça um programa que peça 10 números e exiba o maior entre eles 2. Faça um programa que peça 10 números e calcule a média aritmética. 3. Faça um programa que some uma série de números até que seja informado um número negativo 4. Faça um programa que leia 15 números e no final exiba quantos são pares e quantos ímpares 22
ESTRUTURA FOR Mais adequado d para laços com contador (quando sabe-se o número de interações que o programa irá realizar) a Itens a se observar Inicialização Critério de parada Atualização Estrutura for( inicializacao; criterio_parada; incremento){ } 23
EXEMPLOS Exemplo estrutura for com incremento for(int i = 1; i<= 10; i++){ cout << i << \t << i * i << endl; } Exemplo estrutura for com decremento for(int i = 10; i>0 10; i--){ cout << i << \t << i * i << endl; } 24
EXERCÍCIOS 1. Faça um programa que peça 10 números e exiba o maior entre eles 2. Faça um programa que peça 10 números e calcule a média aritmética. 3. Faça um programa que leia 15 números e no final exiba quantos são pares e quantos ímpares 25
ESTRUTURA DO - WHILE Itens a se observar Inicialização Citéi Critério de parada Atualização Estrutura do{ }while( condicao ); 26
EXEMPLOS int contador = 0; //inicialização do{ //condição de parada std::cout << n; contador ++; //atualização }while(contador < n); 27
EXERCÍCIOS 1. Faça um programa que peça 10 números e exiba o maior entre eles 2. Faça um programa que peça 10 números e calcule a média aritmética. 3. Faça um programa que some uma série de números até que seja informado um número negativo 4. Faça um programa que leia 15 números e no final exiba quantos são pares e quantos ímpares 28
COMPARAÇÃO ENTRE OS LAÇOS while for Pode ser utilizado quando sabe-se ou não do número de interações anteriormente a execução do programa; o teste de condição precede cada repetição quando o número de interações é conhecido antes da execução do programa; o teste de condição precede cada repetição do while Adequado d quando deseja-se que o laço seja executado pelo menos uma vez 29
ANINHAMENTO DE LAÇOS Também é possível aninhar laços for(int i = 1; i<= 10; i++){ } for(int j = 1; j<= 10; j++){ } // 30
EXEMPLO Escreva um programa que dado d um valor n ímpar, faca um desenho como se segue: Para n igual a 3 imprima * *** * Para n igual a 5 * *** ***** *** * 31
DÚVIDAS e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Endereço eletrônico da disciplina: http://docente.ifrn.edu.br/ebertonmarinho 32