Buscar

Aula 5 Laço de Repetição While 2018

Prévia do material em texto

1
Linguagem e Técnicas de 
Programação
Análise e Desenvolvimento de Sistemas
Prof. MSc. Douglas Rodrigues
E-mail: dogrodrigues@gmail.com
Laços de Repetição
Laços de Repetição
 Quando utilizar uma estrutura de repetição?
 Quando uma ação (ou conjunto de ações) deve ser executada um número 
determinado de vezes
 Existem 3 estruturas possíveis:
3
• Quando o 
número de 
repetições é 
conhecido 
• Quando o teste 
da condição deve 
ser feito antes de 
ser executado 
qualquer 
comando
• Quando o teste 
da condição deve 
ser feito após a 
execução dos 
comandos
Laços de Repetição
 Comando while
 Uso: quando é necessário testar uma condição antes de executar uma 
sequência de comandos
 Forma geral: 
while (condição) 
declaração;
 Modo de pensar e entender o comando while
if (condição){
declaração;
volte para o comando if;
}
4
Laços de Repetição
 Comando while
 Nesse caso, o comando será executado enquanto a condição for verdadeira
 Como o teste é feito antes da execução, pode ocorrer zero repetições
(quando a condição for falsa)
 Ou podem ocorrer infinitas repetições (quando a condição verdadeira não se 
alterar)
5
Laços de Repetição
 Exemplo 1: ler dez caracteres do teclado
#include <stdio.h>
void main(){
char c;
int contador = 1;
while (contador <= 10){
printf("\nDigite o caractere numero %d: ", contador);
getche(c);
contador++;
}
}
6
2
Laços de Repetição
 Exemplo 2: cálculo do fatorial de um número (teste se o número é negativo 
ou igual a zero)
#include <stdio.h>
void main(){
int cont = 1, n, fat;
printf("Digite um numero: ");
scanf("%d", &n);
if (n < 0)
printf("Erro!");
else if (n == 0)
printf("Fatorial = 1");
7
else{
fat = 1;
while (cont <= n){
fat = cont * fat;
cont++;
}
printf("Fatorial = %d", fat);
}
}
Laços de Repetição
 Exemplo 3: testar se um número positivo digitado é par (sem utilizar o resto 
da divisão por 2)
#include <stdio.h>
void main(){
int n;
printf("Digite um numero positivo: ");
scanf("%d", &n);
while (n > 0)
n = n - 2;
if (n == 0)
printf("O numero eh par");
else printf("O numero eh impar");
}
8
Laços de Repetição
 Exemplo 4: testar se um número digitado é primo
#include <stdio.h>
void main(){
int n, divisor, primo;
printf("Digite um numero (>1): ");
scanf("%d", &n);
primo = 1; //booleano V = 1 e F = 0
divisor = 2;
9
while (divisor < n && primo == 1){
if (n % divisor == 0)
primo = 0; //falso
else divisor++;
}
if (primo == 1) // verdadeiro
printf("Primo");
else printf("Nao eh primo");
}
Laços de Repetição
 Exemplo 5: testar se um número digitado é perfeito (clique aqui para 
entender o que é um número perfeito)
#include <stdio.h>
void main(){
int soma, n, divisor;
printf("Digite um numero (>1): ");
scanf("%d", &n);
soma = 1; 
divisor = 2;
10
while (divisor < n){
if (n % divisor == 0)
soma = soma + divisor;
divisor++;
}
if (soma == n)
printf("O numero eh perfeito");
else printf("O numero nao eh perfeito");
}
Exercícios
11
Exercícios
Faça programas em linguagem C para:
1) Ler um caractere N vezes (N é informado pelo usuário).
2) Calcular o perímetro de um polígono qualquer (o usuário informa o número de 
lados).
3) Calcular o resultado do somatório
4) Escrever a soma dos números inteiros entre 0 e 100 (usando o comando 
while).
12
෍
𝑎=1
7
3𝑎2 + 𝑎 − 2

Continue navegando