Estruturas de repetição
1
A estrutura de repetição while
• Programador especifica uma ação a ser repetida enquanto uma condição permanecer verdadeira
• Pseudocódigo – Compras de supermercado:Enquanto existirem itens na minha lista de compras
Comprar o próximo item e riscá-lo da minha lista
• Loop while é repetido até que a condição se torne falsa
• Exemplo: Encontrar a primeira potência de 3 maior que 100
int produto = 3;
while (produto <= 100)
produto = 3 * produto;
produto <= 100 produto = 3 * produto
V
F
A estrutura de repetição while
9, 27, 81, 243
Algoritmos de repetição controlados por contador
Repetição controlada por contador
• variável contador – controla número de vezes que um comando será executado
• Utilizada quando o número de repetições é conhecido de antemão (repetição definida)
• Loop repetido até que o contador atinja um determinado valor
Algoritmos de repetição controlados por contador
Exemplo: Uma turma de dez alunos realizou uma avaliação. Você tem acesso às notas (inteiros, entre 0 a 100). Determinar a média da turma na avaliação.
• Receber cada uma das notas, calcular a média e imprimir o resultado• Repetição definida: 10 alunos• Variável total: acumulador (registra a soma de uma série de valores)
• PseudocódigoDefinir total como 0
Definir contador como 1Enquanto contador for menor ou igual a 10
Digitar a próxima notaAdicionar a nota ao totalAdicionar 1 ao contador
Definir a média da turma como o total dividido por dezImprimir a média da turma
9+8+7+9+8+7+9+8+7+10=82
media=8 (truncamento)
Erros
• Erro de sintaxe (ou erro de compilação)• Violações da linguagem
• Compilador não reconhece uma instrução
• Detectado pelo compilador (erro em tempo de compilação)
8
Erros
• Erro lógico• Efeito durante a execução (erro em tempo de execução – runtime error)
• Não detectados pelo compilador
• Erro lógico fatal: Erro que causa término imediato do programa (aborto)
• Erro lógico não-fatal: Executa até o final, produzindo resultados incorretos
Algoritmos de repetição controlados por sentinela
• Exemplo: Desenvolver um programa que calcule a média da turma, processando um número arbitrário de notas cada vez que o programa é executado.• Número de alunos desconhecido
• Repetição indefinida
• Como o programa sabe que deve terminar?
• Uso da sentinela • Também chamado de sinalizador, valor fictício ou flag
• Indica o fim da etapa de entrada de dados
• Loop termina quando o usuário digita o valor da sentinela
• Sentinela escolhida de forma a não ser confundida com uma entrada típica (como -1)
Números em ponto flutuante
• Tipo int representa números inteiros {...,-2,-1,0,1,2}
• %d → Especificador de conversão
• Divisões, médias → Números reais (parte inteira e parte fracionária)
• Ex: 1,25; 55,575; etc.
• Computação → Números de ponto flutuante → tipo float
• %.2f → Especificador de conversão
• .2 → precisão (dois dígitos à direita do ponto decimal)
• %f → precisão default (seis dígitos à direita do ponto decimal)
• Arredondamento para a precisão especificada
12
Operadores de Atribuição
• Instruções de atribuição do tipoc = c + 3;
podem ser abreviadas como c += 3;
• Instruções na formavariável = variável operador expressão;
podem ser reescritas comovariável operador = expressão;
• Exemplos:d = d – 4 → d -= 4
e = e * 5 → e *= 5
f = f / 3 → f /= 3
g = g % 9 → g %= 9
Operadores de incremento e decremento
• operador de incremento (++)• Pode ser usado no lugar de c = c + 1
• operador de decremento (--)• Pode ser usado em vez de c = c - 1
• Pré-incremento• Operador usado antes da variável (++c ou --c)
• Variável é alterada e novo valor é usado na avaliação da expressão
• Pós-incremento• Operador usado depois da variável (c++ ou c--)
• Primeiro avalia a expressão e depois altera valor da variável
33
Operadores de incremento e decremento
Top Related