estruturas de repetiÇÃo -...

9
ESTRUTURAS DE REPETIÇÃO ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade de São Paulo Universidade de São Paulo – São Carlos São Carlos Instituto de Ciências Matemáticas e de Computação Instituto de Ciências Matemáticas e de Computação

Upload: vudat

Post on 24-Jan-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

ESTRUTURAS DE REPETIÇÃOESTRUTURAS DE REPETIÇÃO

Profa Rosana Braga

1º semestre de 20101

Universidade de São Paulo Universidade de São Paulo –– São Carlos São Carlos Instituto de Ciências Matemáticas e de ComputaçãoInstituto de Ciências Matemáticas e de Computação

Page 2: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

2

O COMANDO WHILE

while (condição) { comandos;

}

1º avalia condição se condição é verdadeira, executa

comandos do bloco ao término do bloco, volta a avaliar

condição

whilevf

Page 3: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

3

O COMANDO WHILE

i = 1;while (i <= 10) {

printf(“O valor de i eh %d”,i);i++;

}

Importante: antes de voltar ao início do laço, deve haver algum comando que garanta que a condição mude, por exemplo para

convergir para um valor que permita sair do laçoCASO CONTRÁRIO: LOOP INFINITO INDESEJÁVEL!!!

Page 4: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

4

O COMANDO FOR

for (pré_cmd; teste; pós_cmd) {comandos;

} em termos de while, equivale a:

pré_cmd;while (teste) {comandos;pós_cmd;

}

for

vf

pré_cmd

teste

pós_cmd

bloco

Page 5: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

5

O COMANDO FOR

for (i=1; i<=10; i++) {printf(“O valor de i eh %d”,i);;

}

Os pós-comandos fazem o papel de garantir que a condição mude, por exemplo para convergir para um valor que permita sair do laço

Page 6: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

6

do-while é utilizado sempre que o bloco de comandos deve ser executado ao menos uma vez

do {comandos;} while (condição);

do

v

f

teste

bloco

O COMANDO DO-WHILE

Page 7: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

7

i=1;do {

printf(“O valor de i eh %d”,i); i++;

} while (i<=10);

O COMANDO DO-WHILE

Só é feito o teste ao final do laço !!!O que acontece se o primeiro comando for: i = 11 ???

Page 8: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

8

EXERCÍCIOS1. Reescreva o programa que calcula o preço total de um produto, feito na aula passada,

tendo como entrada o preço unitário e a quantidade vendida. Na nova versão, o programa deve permitir ao usuário processar vários cálculos, perguntando sempre ao final de um cálculo se ele deseja continuar ou não (S ou N).

Algoritmo calculoInicio.

Var real: preco, qtde, total;char continuar=‘S’;Enquanto continuar==‘S’

escreva(“entre com o preco do produto:”);leia(preco);escreva(“entre com a quantidade vendida:”);leia(qtde);total = preco * qtde;escreva(“o preco total do produto e:”, total);escreva (“Deseja realizar mais calculos (S/N)?”);leia(continuar);

Fim-enquantoFim.

Page 9: ESTRUTURAS DE REPETIÇÃO - wiki.icmc.usp.brwiki.icmc.usp.br/images/8/8b/Aula3-T2-EstruturasRepeticao.pdf · ESTRUTURAS DE REPETIÇÃO Profa Rosana Braga 1º semestre de 2010 1 Universidade

9

EXERCÍCIOS

2. Escreva um programa em C que leia um número n e calcule a soma dos n primeiros números naturais.

3. Faça um programa em C para gerar os 30 primeiros termos da seqüência:

2 11 28 53 86 127 …Onde s(i)=4*i2-3*i+1

4. Escreva um programa em C que leia a nota de diversos alunos, até que seja digitada uma nota negativa. Nesse momento, ele mostra a média aritmética de todas as notas lidas e quantas notas foram lidas.

Foram lidas 14 notas. A média aritmética é 6.75!