Linguagem C: Estruturas de Repetição

De Aulas
Revisão de 20h08min de 27 de novembro de 2020 por Admin (discussão | contribs) (→‎Exemplo 1)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

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