Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/10/2014 Estruturas de repetição - C# e Orientação a Objetos https://www.caelum.com.br/apostila-csharp-orientacao-objetos/estruturas-de-repeticao/#5-1-repetindo-um-bloco-de-codigo 1/6 CAPÍTULO 5 Estruturas de repetição 5.1 - REPETINDO UM BLOCO DE CÓDIGO De volta ao exemplo da aula anterior, suponha agora que o cliente desse mesmo banco queira saber quanto ele ganhará, ao final de 1 ano, caso ele invista um valor. O investimento paga 1% do valor investido ao mês. Por exemplo, se o cliente investir R$ 1000,00, ao final de 12 meses, terá por volta de R$ 1126,82: no primeiro mês, R$ 1000,00 + R$1000,00 * 1% = R$ 1010,00; no segundo mês, R$ 1010,00 + R$1010,00 * 1% = R$ 1020,10; e assim por diante. Ou seja, para calcular o quanto ele terá ao final de um ano, podemos multiplicar o valor investido 12 vezes por 1%. Para resolvermos esse problema, precisamos fazer uso de uma estrutura de controle que repete um determinado bloco de código até que uma condição seja satisfeita. Essa estrutura recebe o nome de loop. Para fazer um loop no C#, utilizaremos, inicialmente, a instrução for. O for é uma instrução que possui três partes: A primeira parte é a inicialização, na qual podemos declarar e inicializar uma variável que será utilizada no for; A segunda parte é a condição do loop. Enquanto a condição do loop for verdadeira, o loop continuará executando; A terceira parte é a atualização, na qual podemos atualizar as variáveis que são utilizadas pelo for. Cada uma das partes do for é separada por um ;. for (inicialização; condição; atualização) { APOSTILA C# E ORIENTAÇÃO A OBJETOS https://www.caelum.com.br/apostila-csharp-orientacao-objetos/ http://www.caelum.com.br/?utm_source=Apostila_HTML&utm_campaign=FN-13&utm_medium=referral http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.caelum.com.br%2Fapostila-csharp-orientacao-objetos%2F 24/10/2014 Estruturas de repetição - C# e Orientação a Objetos https://www.caelum.com.br/apostila-csharp-orientacao-objetos/estruturas-de-repeticao/#5-1-repetindo-um-bloco-de-codigo 2/6 Veja o código a seguir, por exemplo, em que usamos um for que repetirá o cálculo 12 vezes: Veja que nosso for começa inicializando a variável i com 1 e repete o código de dentro dele enquanto o valor de i for menor ou igual a 12, ou seja, ele só para no momento em que i for maior do que 12. E veja que, a cada iteração desse loop, o valor de i cresce (i += 1). No fim, o código de dentro do for será repetido 12 vezes, como precisávamos. O mesmo programa poderia ser escrito utilizando-se um while, em vez de um for: 5.2 - PARA SABER MAIS DO WHILE No C# quando utilizamos o while, a condição do loop é checada antes de todas as voltas (iterações) do laço, mas e se quiséssemos garantir que o corpo do laço seja executado pelo menos uma vez? Nesse caso, podemos utilizar um outro tipo de laço do V# que é o do while: Com o do while a condição do loop só é checada no fim da volta, ou seja, o corpo do loop é executado e depois a condição é checada, então o corpo do do...while sempre é executado pelo menos uma vez. // Esse código será executado enquanto a condição for verdadeira } double valorInvestido = 1000.0; for (int i = 1; i <= 12; i += 1) { valorInvestido = valorInvestido * 1.01; } MessageBox.Show("Valor investido agora é " + valorInvestido); double valorInvestido = 1000.0; int i = 1; while (i <= 12) { valorInvestido = valorInvestido * 1.01; i += 1; } MessageBox.Show("Valor investido agora é " + valorInvestido); do { // corpo do loop } while(condição); 24/10/2014 Estruturas de repetição - C# e Orientação a Objetos https://www.caelum.com.br/apostila-csharp-orientacao-objetos/estruturas-de-repeticao/#5-1-repetindo-um-bloco-de-codigo 3/6 Agora é a melhor hora de aprender algo novo Se você gosta de estudar essa apostila aberta da Caelum, certamente vai gostar dos novos cursos online que lançamos na plataforma Alura. Você estuda a qualquer momento com a qualidade Caelum. Conheça a Alura. 5.3 - PARA SABER MAIS INCREMENTO E DECREMENTO Quando queremos incrementar o valor de uma variável inteira em uma unidade, vimos que temos 2 opções: Porém, como incrementar o valor de uma variável é uma atividade comum na programação, o C# nos oferece o operador ++ para realizar esse trabalho: Temos ainda o operador -- que realiza o decremento de uma variável. 5.4 - EXERCÍCIOS 1. Qual é o valor exibido no seguinte código: 256 64 128 int valor = 1; valor = valor + 1; // ou valor += 1; int valor = 1; valor++; int total = 2; for (int i = 0; i < 5; i += 1) { total = total * 2; } MessageBox.Show("O total é: " + total); http://www.alura.com.br/ 24/10/2014 Estruturas de repetição - C# e Orientação a Objetos https://www.caelum.com.br/apostila-csharp-orientacao-objetos/estruturas-de-repeticao/#5-1-repetindo-um-bloco-de-codigo 4/6 512 2. Faça um programa em C# que imprima a soma dos números de 1 até 1000. 3. Faça um programa em C# que imprima todos os múltiplos de 3, entre 1 e 100. Para saber se um número é múltiplo de 3, você pode fazer if(numero % 3 == 0). 4. (Opcional) Escreva um programa em C# que some todos os números de 1 a 100, pulando os múltiplos de 3. O programa deve imprimir o resultado final em um MessageBox. Qual o resultado? 5. (Opcional) Escreva um programa em C# que imprime todos os números que são divisíveis por 3 ou por 4 entre 0 e 30. 6. (Opcional) Faça um programa em C# que imprima os fatoriais de 1 a 10. O fatorial de um número n é n * n-1 * n-2 ... até n = 1. O fatorial de 0 é 1 O fatorial de 1 é (0!) * 1 = 1 O fatorial de 2 é (1!) * 2 = 2 O fatorial de 3 é (2!) * 3 = 6 O fatorial de 4 é (3!) * 4 = 24 Faça um for que inicie uma variável n (número) como 1 e fatorial (resultado) como 1 e varia n de 1 até 10: 7. (Opcional) Faça um programa em C# que imprima os primeiros números da série de Fibonacci até passar de 100. A série de Fibonacci é a seguinte: 0, 1, 1, 2, 3, 5, 8, 13, 21 etc... Para calculá-la, o primeiro elemento vale 0, o segundo vale 1, daí por diante, o n-ésimo elemento vale o (n-1)-ésimo elemento somado ao (n-2)- ésimo elemento (ex: 8 = 5 + 3). int fatorial = 1; for (int n = 1; n <= 10; n++) { } 24/10/2014 Estruturas de repetição - C# e Orientação a Objetos https://www.caelum.com.br/apostila-csharp-orientacao-objetos/estruturas-de-repeticao/#5-1-repetindo-um-bloco-de-codigo 5/6 CAPÍTULO ANTERIOR: Estruturas de controle PRÓXIMO CAPÍTULO: Classes e objetos 8. (Opcional) Faça um programa que imprima a seguinte tabela, usando fors encadeados: Você encontra a Caelum também em: 1 2 4 3 6 9 4 8 12 16 n n*2 n*3 .... n*n Blog Caelum Cursos Online Facebook https://www.caelum.com.br/apostila-csharp-orientacao-objetos/estruturas-de-controle/ https://www.caelum.com.br/apostila-csharp-orientacao-objetos/classes-e-objetos/ http://blog.caelum.com.br/?utm_source=Apostila_HTML&utm_campaign=FN-13&utm_medium=referral http://www.alura.com.br/ http://facebook.com/caelumbr 24/10/2014 Estruturas de repetição - C# e Orientação a Objetos https://www.caelum.com.br/apostila-csharp-orientacao-objetos/estruturas-de-repeticao/#5-1-repetindo-um-bloco-de-codigo 6/6 Newsletter Casa do Código Twitter http://www.caelum.com.br/newsletter/?utm_source=Apostila_HTML&utm_campaign=FN-13&utm_medium=referral http://casadocodigo.com.br/?utm_source=Apostila_HTML&utm_campaign=FN-13&utm_medium=referral http://twitter.com/caelum
Compartilhar