Você está na página 1de 13

Programação de Computadores

Slide 7
Henrique D. Garcia
hdgarcia@udf.edu.br
Estruturas de repetição
Estruturas de
Estruturas de repetição
Enquanto-faça

 Repete bloco enquanto condição == verdadeira


 Testa primeiro, executa depois. Pode não rodar nenhuma vez.
 Não sabemos quantas vezes o bloco vai rodar.
 Antes de entrar no bloco a condição é avaliada. Caso seja verdadeira, o bloco é executado. No final do
bloco a condição é avaliada novamente. Caso seja verdadeira o bloco é executado novamente.
 Pode causar loops infinitos

        enquanto (condição) 
        {
            // processamento
        }
Exercício

 No Filme Shrek 2, durante a


viagem do pântano a Tão Tão
Distante, enquanto não chegasse
o burro repetia a pergunta se
havia chegado. Escreva um
programa que imite esse
comportamento perguntando
para o usuário se já chegamos. O
usuário deve responder sim ou
não. Repita a operação até que
usuário escreva "sim".
Exercício

 Escreva um programa que pergunte programa  


para o usuário se já chegamos. {
Repita a operação até que usuário     funcao inicio () 
escreva "sim".     { 
        cadeia chegamos = "não"
        enquanto (chegamos != “sim")
        {
            escreva(“Já chegou? (sim para sair): ")
            leia(chegamos)
        }
escreva(“Finalmente!”)
    }
}        
Estruturas de repetição
Faça-enquanto
 Muito parecido com a estrutura enquanto-faca
 Executa bloco enquanto condição == verdadeira
 Executa primeiro, testa depois. Roda pelo menos uma vez o bloco.
 A condição fica no final do bloco.
 O bloco de código é executado pelo menos uma vez antes de verificar a condição de continuação. Se a
condição for verdadeira, o bloco de código é executado novamente. Se a condição for falsa, o loop
termina e a execução continua no próximo bloco de código após o loop.
 Pode causar loop infinito

faca 
{
   // instruções
} enquanto (condicao)
Comparação

 Enquanto-Faça  Faça-enquanto

enquanto (condição)  faca 


{ {
    // processamento    // instruções
} } enquanto (condição)

-------------------------------- --------------------------------

cadeia chegamos = "não" cadeia chegamos


enquanto (chegamos != “sim") faca
{ {
escreva(“Já chegou? : ") escreva(“Já chegou? : ")
  leia(chegamos)   leia(chegamos)
} } enquanto(chegamos != “sim")
escreva(“Finalmente!”) escreva(“Finalmente!”)
Estruturas de repetição
Para
 Controla número de repetições (extremamente útil)
 Possui contador próprio
 Parâmetros:
 Inicialização
 Condição
 Incremento

para (inteiro contador = 0; contador < 10; contador++)


{
    // instrução
}
Exercícios

1. Faça um programa que exiba a tabuada de 7 para todos os inteiros de 0 a 10.


2. Faça um programa que receba do usuário um numero inteiro e calcule o
somatório de todos os números de 0 até o numero informado
3. Elaborar um programa que calcule a fatorial de um número qualquer. Supondo que o
número seja 5, o programa deve apresentar o resultado 5! (fatorial de 5). Desta forma,
temos que 5! = 5 . 4 . 3 . 2 . 1 ou 5! = 1 . 2 . 3 . 4 . 5, equivalente a 120.
4. Construa um algoritmo capaz de realizar a operação de potência. O algoritmo deve
receber uma base e um expoente e exibir o resultado.
5. Construa um programa que receba do usuário uma quantidade arbitrária
de números do usuário até que ele digite 0. Em seguida, exiba a média aritmética de
todos estes números.
6. Escreva um algoritmo que receba do usuário um numero inteiro e então some todos os
números inteiros múltiplos de 3 de 0 até este número.
Exercício 1

// Programa para fazer a tabuada de 7


programa
{
    funcao inicio()
    {
        inteiro tab

        para (inteiro c=1; c<=10; c++)


        {
            tab=c*7
            escreva (“7 x ", c, " = ", tab, "\n")
        }
    }
}
Exercício 2

// Programa somatório
programa
{
    funcao inicio() 
    {
        inteiro soma = 0, numero, contador
        
        escreva("Digite o número até o qual deseja somar: ")
        leia(numero)
        
        para (contador = 0; contador <= numero; contador ++) 
        {
            soma = soma + contador // Soma o valor atual do contador
        }
        escreva("A soma de 1 até ", numero, " é: ", soma, "\n")
    }
}
Exercício

Segundo uma lenda antiga, o jogo de xadrez foi inventado na índia, para agradar a um soberano, como passatempo
que o ajudasse a esquecer os aborrecimentos que tivera com uma desastrada batalha. Encantado com o invento, o
soberano, rei Shirham, quis recompensar seu súdito Sissa Ben Dahir, o inventor do xadrez. Shirham disse a Sissa que
lhe fizesse um pedido, que ele, rei Shirham, o atenderia prontamente. Sissa disse, simplesmente:
— Bondoso rei, dê-me então um grão de trigo pela primeira casa do tabuleiro, dois pela segunda casa, quatro pela
terceira, oito pela quarta, e assim por diante, até a última casa do tabuleiro, isto é, a 64.ª casa.
O rei achou esse pedido demasiado modesto e, sem dissimular seu desgosto, disse a Sissa:
— Meu amigo, tu me pedes tão pouco, apenas um punhado de grãos de trigo. Eu desejava cumular-te de muitas
riquezas - palácios, servos e tesouros de ouro e prata.
Como Sissa insistisse em seu pedido original, o rei ordenou a seus auxiliares e criados que tratassem de satisfazê-lo.
0 administrador do palácio real mandou que um dos servos buscasse um balde de trigo e fizesse logo a contagem. 
Em menos de uma hora de trabalho, puderam esclarecer o rei de que não havia trigo suficiente em seu reino para
atender ao pedido de Sissa. Mais do que isso, em todo o mundo conhecido na época não havia trigo suficiente para
atender àquele pedido!
7. Sabendo que um saco de 5 Kg de trigo contem 110 mil grãos de trigo, faça um programa que calcule quantos
sacos de trigo que Sissa deve receber.
Fim

Você também pode gostar