Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while...

15
Estruturas de repetição 1

Transcript of Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while...

Page 1: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

Estruturas de repetição

1

Page 2: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 3: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

• 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

Page 4: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 5: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 6: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer
Page 7: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

9+8+7+9+8+7+9+8+7+10=82

media=8 (truncamento)

Page 8: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 9: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 10: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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)

Page 11: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer
Page 12: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 13: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 14: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

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

Page 15: Estruturas de repetição - joinville.ifsc.edu.brrafael.berti...A estrutura de repetição while •Programador especifica uma ação a ser repetida enquanto uma condição permanecer

Operadores de incremento e decremento