Você está na página 1de 11

8/15/2023

Linguagem de Programação
Estruturas de Repetição
Prof. Alan Marcel
alan.marcel@ifpa.edu.br

2023

Anteriormente nesta disciplina:


1) Variáveis
2) Operações matemáticas e lógicas (processamento)
3) Comando de entrada de dados
4) Comando de saída de dados
5) Operações relacionais e tabelas verdade
6) Estrutura de seleção if; if-else, switch-case

1
8/15/2023

Roteiro desta aula:


1) Comandos de repetição
1.1) while
1.2) do-while
1.3) for
1.4) Comando de interrupção (break)

Programação
Problema inicial:
Construir um programa em C para gerar a tabuada (de 1 a 10) de um
número inteiro informado pelo usuário.
Exemplo se informar o número 5 na entrada:
1x5=5 6 x 5 = 30
2 x 5 = 10 7 x 5 = 35
3 x 5 = 15 8 x 5 = 40
4 x 5 = 20 9 x 5 = 45
5 x 5 = 25 10 x 5 = 50

2
8/15/2023

Programação
• Algoritmo para tabuada (sem comando de repetição):
#include <stdio.h> printf("6 x %d = %d \n", n, (n*6));
printf("7 x %d = %d \n", n, (n*7));
int main() printf("8 x %d = %d \n", n, (n*8));
{ // início do programa printf("9 x %d = %d \n", n, (n*9));
int n; printf("10 x %d = %d \n", n, (n*10));

printf("Entre com o número da tabuada: "); return 0;


scanf("%d", &n); } // fim do programa

printf("1 x %d = %d \n", n, (n*1));


printf("2 x %d = %d \n", n, (n*2));
printf("3 x %d = %d \n", n, (n*3));
printf("4 x %d = %d \n", n, (n*4));
printf("5 x %d = %d \n", n, (n*5));

Analisando o programa anterior,


percebe-se que há muito código
semelhante (os printf’s da tabuada).
Será que existe estruturas que permitem
repetir esses comandos de forma
automática?
R: Sim, as estruturas de repetição!

3
8/15/2023

Programação
Modelo do Comando while:
Usado quando o
while (<expressão-lógica>) { programador NÃO sabe
quantas vezes o
programa vai se repetir.
<comandos-que-vão-se-repetir>

Programação
Modelo do Comando do-while:
Usado quando o
do { programador NÃO sabe
quantas vezes o
programa vai se repetir.
<comandos-que-vão-se-repetir>

} while (<expressão-lógica>);
Vai entrar sempre uma vez
no laço de repetição e vai
continuar até que esta
condição seja verdadeira.

4
8/15/2023

Programação
Modelo do Comando Para ... faça:
Usado quando o
for (int i = 0; i < 5; i++) { programador JÁ sabe
quantas vezes o
programa vai se repetir.
<comandos-que-vão-se-repetir>

Programação
Modelo do Comando interrompa (break):

while (<expressão-lógica>) {

<comandos-que-vão-se-repetir>
break;
Assim que executado, finaliza a
repetição!
} O break é geralmente usado dentro de
uma estrutura condicional (if)

5
8/15/2023

Dúvidas?

Programação
• Programa para tabuada (usando while):
#include <stdio.h>
int main()
{
int n, i = 1;
printf("Entre com o número da tabuada: ");
scanf("%d", &n);
while (i <= 10) {
printf("%d x %d = %d \n", i, n, (i*n));
i++;
}
return 0;
}

6
8/15/2023

Programação
• Programa para tabuada (usando do-while):
#include <stdio.h>
int main()
{
int n, i = 1;
printf("Entre com o número da tabuada: ");
scanf("%d", &n);
do {
printf("%d x %d = %d \n", i, n, (i*n));
i++;
} while (i <= 10);
return 0;
}

Programação
• Programa para tabuada (usando for):
#include <stdio.h>
int main() {
int n;

printf("Entre com o número da tabuada: ");


scanf("%d", &n);

for(int i = 1; i <= 10; i++) {


printf("%d x %d = %d \n", i, n, (i*n));
}

return 0;
}

7
8/15/2023

Programação
• Programa para tabuada (usando while com break):
#include <stdio.h>
int main()
{
int n, i = 1;
printf("Entre com o número da tabuada: ");
scanf("%d", &n);
while (1==1) {
printf("%d x %d = %d \n", i, n, (i*n));
i++;
if (i == 11) {
break;
}
}
return 0;
}

Dúvidas?

8
8/15/2023

Programação
• Diferença entre “for” e “while”:
• “for”: é usado quando se sabe a quantidade de repetições previamente.
• Ex: desenvolva um algoritmo que peça 10 números inteiros quaisquer
para o usuário e informe a quantidade de números pares e de números
ímpares.
• “while”: é usado quando NÃO se sabe a quantidade de repetições
previamente.
• Ex: crie um algoritmo capaz de pedir números inteiros para o usuário e
somá-los até que um número negativo seja informado. No final, mostre
a quantidade de números informados, o valor da soma e da média.

Programação
• Contador:
• inicialize o contador antes da estrutura de repetição:
• int cont = 0;
• dentro da estrutura de repetição, fazer:
• cont = cont + 1; ou cont++;
• Somatório (acumulador) Σ:
• inicialize o somador antes da estrutura de repetição:
• int soma = 0;
• dentro da estrutura de repetição, fazer:
• soma = soma + n;
• Produtório Π:
• inicialize o somador antes da estrutura de repetição:
• int produto = 1;
• dentro da estrutura de repetição, fazer:
• produto = produto * n;

9
8/15/2023

Programação
Exercícios:
1) Desenvolva um programa que peça 10 números inteiros quaisquer
para o usuário e informe a quantidade de número pares e de
números ímpares.
2) Crie um programa capaz de pedir números inteiros para o usuário e
somá-los até que um número negativo seja informado. No final,
mostre a quantidade de números informados, o valor da soma e da
média dos números.
3) Faça um programa que imprima na tela os números de 1 a 20, um
abaixo do outro. Depois modifique o programa para que ele mostre
os números um ao lado do outro.
(Fonte: https://wiki.python.org.br/EstruturaDeRepeticao)

Programação
Exercícios:
4) Faça um programa que leia 5 números e informe o maior número
(usando estrutura de repetição).
5) Desenvolva um programa que peça dois números, base e expoente,
calcule e mostre o primeiro número elevado ao segundo número.
Não utilize a função de potência do C.
6) Faça um programa que calcule o fatorial de um número inteiro
fornecido pelo usuário. Ex.: 5! = 5 x 4 x 3 x 2 x 1 = 120
7) A série de Fibonacci é formada pela sequência 1, 1, 2, 3, 5, 8, 13,
21, 34, 55, ... Faça um programa capaz de gerar a série até o n-
ésimo termo, informado pelo usuário.
(Fonte: https://wiki.python.org.br/EstruturaDeRepeticao)

10
8/15/2023

Pratique!!!

11

Você também pode gostar