Aula prática 4 Laços Monitoria de Introdução à Programação Roteiro Laços – – – – – For While Do – while Laços aninhados Observações Dúvidas Exercícios Laços Laços são comandos usados quando queremos realizar uma tarefa várias vezes, até uma condição ser cumprida. Em C, temos 3 tipos de laços: – For – While – Do – while Os 3 são equivalentes: A mesma coisa pode ser feita usando os 3 tipos. Laços - For Funciona Em C: na forma: Antes for( isso do; laço, isto; incremento) faça isso; Enquanto { isto for verdade, { Faça aquilo; faça } aquilo; incremente o contador; Exemplo } For(int i = 0; i< 10;i++) { printf(“%d”, i); } Se só for executado um comando dentro do bloco, as chaves são facultativas, mas é preferível sempre usar chaves. Podem ser declaradas variáveis dentro do laço, que tem como seu escopo o bloco de comandos. Quando elas saírem do escopo, são destruídas. Isso também vale para os outros dois tipos de laço. Os laços “for” são indicados quando se sabe exatamente o numero de vezes que o código será iterado. Laços - While Funciona na forma: Em C: Enquanto While(isso)isso for verdade, { Faça aquilo; Aquilo; } Exemplo: while( a >= b ) { a -= b; } Usado quando queremos repetir uma ação até que uma condição não seja mais verdade. Na condição, não se pode usar variáveis declaradas no bloco, pois a expressão é avaliada fora do bloco. Se a condição for falsa desde o começo, o laço não é executado. Laços - While Funciona Em C: na forma: Faça do Usado quando queremos executar o bloco pelo menos uma vez, pois a { condição é testada ao fim de cada isso; iteração. } enquanto while(aquilo); aquilo for verdade. do { Exemplo: andar(); }while(energia > 0); Na condição, não se pode usar variáveis declaradas no bloco, pois a expressão é avaliada fora do bloco. Obs: o “ponto-e-virgula” depois do while(condição) é necessário. Laços – Laços aninhados. Laços, por serem comandos, podem ser colocados dentro de outros laços. Assim, podemos “aninhar” laços dentro de laços dentro de laços dentro de laços... Exemplo: For(sala = 1; sala <= 10 ; sala++) { for(mesa = 1; mesa <= 60; mesa++) { Limpar(sala,mesa); } } Laços – Observações Nos 3 tipos de laço, devemos tomar cuidado com a condição: Se ela nunca for falsa, o código entrará num laço infinito, efetivamente “travando” seu programa. No laço “for”, tomar cuidado para não incrementar uma variável no bloco de comandos e no incremento próprio do laço. Novamente: É sempre aconselhável usar um bloco de código ao usar laços, mesmo quando só um comando será repetido. Isso facilita a leitura do código, e elimina possíveis ambiguidades com laços aninhados. Dúvidas? Exercício 1 Faça um programa que simule uma calculadora que realiza apenas operações de multiplicação e divisão. No entanto, para realizar tais operações, você tem que utilizar apenas adição e subtração (não pode fazer x*y ou x/y diretamente). Dado dois inteiros, retorne o resultado da operação desejada entre eles. Exercício 2 Faça um programa que recebe números do usuário e os soma até que o usuário digite 0 e no final imprima a soma de todos os valores. Obs: O usuário irá digitar um número por vez. Ex: Entrada: 2 10 7 6 0 Saida: 25 Exercício 3 Faça uma programa que dado um inteiro positivo N, imprima os elementos do Triângulo de Pascal até a N-ésima linha. Nota: O elemento de índice i,k (linha i, coluna k) do triângulo de pascal é dado pela combinação de i, k a k.