Linguagem C: Estruturas de Repetição
Links relacionados: Programação em C
Repetição / Laços
As estruturas de repetição, ou laços, são blocos de comandos que são repetidos até que, ou enquanto uma certa condição seja satisfeita. Temos dois tipos básicos de repetição, o for (Para) e o while (Enquanto).
For
A estrutura do laço for é definida da seguinte forma:
for (inicialização da variável de iteração; condição para continuar o laço; alteração da variável de iteração)
Exemplo 1
1#include <stdio.h>
2
3int main() {
4 for (int i = 0; i < 5; i++) {
5 printf("interacao %d dentro do for.\n", i);
6 }
7}
Exemplo 2
1#include <stdio.h>
2
3int main() {
4 int i, qtde;
5 float valor;
6 float valor_total = 0.0;
7 printf("Quantidade de valores: ");
8 scanf("%d", &qtde);
9 for (i = 0; i < qtde; i++) {
10 printf("%dº valor: ", i + 1);
11 scanf("%f", &valor);
12 valor_total += valor;
13 }
14 printf("A média dos %d valores passados é %.2f.\n", qtde, valor_total / qtde);
15}
While
A estrutura de repetição while funciona tal como o for. Contudo ela não utiliza uma variável de iteração, mas apenas uma condição que deve ser satisfeita para que o laço continue sendo executado.
while (condição)
Exemplo 1
1#include <stdio.h>
2
3int main() {
4 int i = 0;
5 while (i < 3) {
6 printf("interacao %d dentro do while.\n", i);
7 i++; // equivalente a i = i + 1
8 }
9}
Exemplo 2
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char entrada[30] = "";
6 // Enquanto a entrada for diferente de sair
7 while (strcmp(entrada, "sair") != 0) {
8 printf("> ");
9 scanf("%s", entrada);
10 printf("[%s]\n", entrada);
11 }
12}
Exercícios
1) Desenvolver um programa que efetue a soma de todos os números ímpares que são múltiplos de três e que se encontram no conjunto dos números de 1 até 500.
2) Desenvolver um programa que leia a altura de 15 pessoas. Este programa deverá calcular e mostrar :
- A menor altura do grupo
- A maior altura do grupo
3) Desenvolver um programa que leia um número não determinado de valores e calcule e escreva a média aritmética dos valores lidos, a quantidade de valores positivos, a quantidade de valores negativos e o percentual de valores negativos e positivos.
4) Escrever um programa que leia uma quantidade desconhecida de números e conte quantos deles estão nos seguintes intervalos: [0-25], [26-50], [51-75] e [76-100]. A entrada de dados deve terminar quando for lido um número negativo.
5) Faça um programa estruturado que leia uma quantidade não determinada de números positivos. Calcule a quantidade de números pares e ímpares, a média de valores pares e a média geral dos números lidos. O número que encerrará a leitura será zero.
6) Escrever um programa que gera e escreve os números ímpares entre 100 e 200.
7) Escrever um programa que leia um valor para uma variável N de 1 a 10 e calcule a tabuada de
N. Mostre a tabuada na forma: 0 x N = 0, 1 x N = 1N, 2 x N = 2N, ..., 10 x N = 10N.
8) Escreva um programa que leia um valor inicial A e uma razão R e imprima uma seqüência em P.A. contendo 10 valores.
9) Escreva um programa que leia um valor inicial A e uma razão R e imprima uma seqüência em P.G. contendo 10 valores.
10) Escreva um programa que leia um valor inicial A e imprima a seqüência de valores do cálculo de A! e o seu resultado. Ex: 5! = 5 X 4 X 3 X 2 X 1 = 120