Buscar

Aula10_Estruturas de controle_enquanto

Prévia do material em texto

Universidade Federal da Grande Dourados
Faculdade de Ciências Exatas e de Tecnologias
Curso de Bacharelado em Sistemas de Informação
Algoritmos
Estruturas de controle: repetição com comando enquanto
Profª Janne Oeiras Lachi
1
Plano de aula
` Repetição com o comando enquanto
` Estrutura de repetição para número indefinido de repetições.
` Veremos dois comandos:
` enquanto...fim_enquanto
` continua...enquanto_for
Comando enquanto 
` Estrutura de repetição para número indefinido de 
repetições
` Utilizada quando NÃO se sabe o número de vezes que um 
trecho do algoritmo deve ser repetido.
` Embora também possa ser utilizada quando se conhece esse 
número.
` O comando para ... fim_para deve ser usado quando sabemos a 
quantidade de repetições.
` Não é possível usar o comando para quando não sabemos a 
quantidade de repetição. Em termos de programação a linguagem 
escolhida pode permitir, mas o comando precisa que explicitemos 
o intervalo de repetição ( para i de a até b passo x faça )
Comando enquanto 
` Estrutura com teste no início
` Baseia-se na análise de uma condição, ou seja, a repetição será feita 
enquanto a condição for verdadeira.
` Quando o teste condicional da estrutura de repetição, que fica no 
início, resultar em valor falso, os comandos dentro do bloco de 
repetição não serão executados.
` Em Português estruturado usa os comandos:
enquanto, faça e fim_enquanto
` Sintaxe do comando:
enquanto (<condição>) faça
comando 1
comando 2
...
comando n
fim_enquanto
Comando enquanto: teste no início 
` Sintaxe do comando:
enquanto (<condição>) faça
comando 1
comando 2
...
comando n
fim_enquanto
Teste no início porque está
ANTES dos comandos a 
serem executados.
Exemplo: comando enquanto
` Escreva um algoritmo que leia dois números inteiros. 
Enquanto o primeiro número for menor que o segundo, 
incremente o primeiro com 2 unidades e o segundo 
número com 1 unidade. Ao término do algoritmo, 
imprima os novos valores dos números.
` Note que temos que fazer adições aos números lidos 
REPETIDAMENTE
` Porém não sabemos QUANTAS repetições vamos ter 
que fazer...
Exemplo 1: pensando na solução...
` Escreva um algoritmo que leia dois números inteiros. Enquanto o primeiro 
número for menor que o segundo, incremente o primeiro com 2 unidades 
e o segundo número com 1 unidade. Ao término do algoritmo, imprima os 
novos valores dos números.
programa novo_valor
var
x, y: inteiro
início
fim
Defina o corpo mínimo do algoritmo e declaração de variáveis
Exemplo 1: pensando na solução...
` Escreva um algoritmo que leia dois números inteiros. Enquanto o primeiro 
número for menor que o segundo, incremente o primeiro com 2 unidades 
e o segundo número com 1 unidade. Ao término do algoritmo, imprima os 
novos valores dos números.
programa novo_valor
var
x, y: inteiro
início
escreva “Informe dois numeros inteiros: ”
leia x, y
fim
Receba os dados de entrada
Exemplo 1: pensando na solução...
` Escreva um algoritmo que leia dois números inteiros. Enquanto o primeiro 
número for menor que o segundo, incremente o primeiro com 2 unidades 
e o segundo número com 1 unidade. Ao término do algoritmo, imprima os 
novos valores dos números.
programa novo_valor
var
x, y: inteiro
início
escreva “Informe dois numeros inteiros: ”
leia x, y
x Å x + 2
y Å y + 1
fim
Aqui fazemos a operação solicitada no problema (incremento), 
mas apenas 1 vez.
Exemplo 1: pensando na solução...
` Escreva um algoritmo que leia dois números inteiros. Enquanto o primeiro 
número for menor que o segundo, incremente o primeiro com 2 unidades 
e o segundo número com 1 unidade. Ao término do algoritmo, imprima os 
novos valores dos números.
programa novo_valor
var
x, y: inteiro
início
escreva “Informe dois numeros inteiros: ”
leia x, y
x Å x + 2
y Å y + 1
escreva “O novo valor de x eh: ”, x 
escreva “O novo valor de y eh: ”, y
fim
Produzimos a saída do problema (impressão dos novos valores de x e y)
Exemplo 1: onde entra a repetição?
` Escreva um algoritmo que leia dois números inteiros. Enquanto o primeiro 
número for menor que o segundo, incremente o primeiro com 2 unidades 
e o segundo número com 1 unidade. Ao término do algoritmo, imprima os 
novos valores dos números.
programa novo_valor
var
x, y: inteiro
início
escreva “Informe dois numeros inteiros: ”
leia x, y
x Å x + 2
y Å y + 1
escreva “O novo valor de x eh: ”, x 
escreva “O novo valor de y eh: ”, y
fim
O trecho destacado em azul é o trecho que precisa ser repetido por 
um número INDEFINIDO de vezes. Isso deve ocorrer ENQUANTO 
o valor de x for menor que o de y.
Exemplo 1: onde entra a repetição?
` Escreva um algoritmo que leia dois números inteiros. Enquanto o primeiro número for 
menor que o segundo, incremente o primeiro com 2 unidades e o segundo número com 1 
unidade. Ao término do algoritmo, imprima os novos valores dos números.
programa novo_valor
var
x, y: inteiro
início
escreva “Informe dois numeros inteiros: ”
leia x, y
enquanto (x < y) faça
x Å x + 2
y Å y + 1
fim_enquanto
escreva “O novo valor de x eh: ”, x 
escreva “O novo valor de y eh: ”, y
fim
Note a inclusão do comando ENQUANTO.
Observe a condição (x<y) no comando.
Exemplo 1: indentação
` Escreva um algoritmo que leia dois números inteiros. Enquanto o primeiro número for 
menor que o segundo, incremente o primeiro com 2 unidades e o segundo número com 1 
unidade. Ao término do algoritmo, imprima os novos valores dos números.
programa novo_valor
var
x, y: inteiro
início
escreva “Informe dois numeros inteiros: ”
leia x, y
enquanto (x < y) faça
x Å x + 2
y Å y + 1
fim_enquanto
escreva “O novo valor de x eh: ”, x 
escreva “O novo valor de y eh: ”, y
fim
Observe a indentação (recuo) das duas linhas de incremento.
Esses dois comandos fazem parte do bloco do enquanto, então 
precisam ser indentados.
Exemplo 1: execução da repetição com o 
comando enquanto
Simulação:Exemplo:
x ← 1
y ← 5
enquanto (x < y) faça
x ← x + 2
y ← y + 1
fim_enquanto
x y condição
.v.
.v.
.v.
.v.
1 5
3 6
5 7
7 8
9 9 .f.
Valores iniciais
Valores 
obtidos 
dentro do 
enquanto
Valores informados pelo 
usuário
A saída do algoritmo neste caso vai ser:
O novo valor de x eh: 9
O novo valor de y eh: 9
Exemplo 1: execução da repetição com o 
comando enquanto
Simulação:Exemplo:
x ← 6
y ← 2
enquanto (x < y) faça
x ← x + 2
y ← y + 1
fim_enquanto
x y condição
.f.6 2Valores iniciais
A condição é
falsa e 
portanto não 
faz nada, não 
entra no laço 
de repetição
Valores informados pelo 
usuário
A saída do algoritmo neste caso vai ser:
O novo valor de x eh: 6
O novo valor de y eh: 2
Exemplo 1: execução da repetição com o 
comando enquanto
Simulação:Exemplo:
x ← 3
y ← 3
enquanto (x < y) faça
x ← x + 2
y ← y + 1
fim_enquanto
x y condição
.f.3 3Valores iniciais
A condição é
falsa e 
portanto não 
faz mais nada
Valores informados pelo 
usuário
A saída do algoritmo neste caso vai ser:
O novo valor de x eh: 3
O novo valor de y eh: 3
enquanto X para
Comando enquanto:
leia num
i ← 1
enquanto (i <=10) faça
escreva i*num
i ← i + 1
fim_enquanto
Comando para:
leia num
para i de 1 até 10 passo 1 faça
escreva i*num
fim_para
Note que neste caso é necessário:
- Atribuir o valor inicial de i (1)
- Fazer o incremento de i explicitamente 
Exemplo 2
` Elaborar um algoritmo que receba como entrada um 
número inteiro qualquer, em seguida multiplique o valor 
de entrada por 3 e apresente o resultado. Realizar a 
execução dos passos anteriores cinco vezes.
` Neste caso, qual o tipo de repetição você usaria?
` Comando para ... fim_para` Comando enquanto ... fim_enquanto
Exemplo 2
` Elaborar um algoritmo que receba como entrada um 
número inteiro qualquer, em seguida multiplique o valor 
de entrada por 3 e apresente o resultado. Realizar a 
execução dos passos anteriores cinco vezes.
` Note que neste caso, a quantidade de repetição está definida 
claramente no problema, então devemos usar o comando 
para ... fim_para
Exemplo 2: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro 
qualquer, em seguida multiplique o valor de entrada por 3 e apresente o 
resultado. Realizar a execução dos passos anteriores cinco vezes.
programa MULT_3
var
N, R, I: inteiro
início
fim
Corpo mínimo do algoritmo e declaração de variáveis:
•N vai armazenar o número lido;
•R vai armazenar o resultado;
•I vai controlar a repetição.
Exemplo 2: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro 
qualquer, em seguida multiplique o valor de entrada por 3 e apresente o 
resultado. Realizar a execução dos passos anteriores cinco vezes.
programa MULT_3
var
N, R, I : inteiro
início
escreva “Informe um número inteiro:”
leia N
fim
Entrada de dados
Exemplo 2: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro 
qualquer, em seguida multiplique o valor de entrada por 3 e apresente o 
resultado. Realizar a execução dos passos anteriores cinco vezes.
programa MULT_3
var
N, R, I : inteiro
início
escreva “Informe um número inteiro:”
leia N
R Å N * 3
fim
Efetuando o cálculo solicitado no problema
Exemplo 2: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro 
qualquer, em seguida multiplique o valor de entrada por 3 e apresente o 
resultado. Realizar a execução dos passos anteriores cinco vezes.
programa MULT_3
var
N, R, I : inteiro
início
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
fim
Apresentando a saída (resultado)....
Exemplo 2: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro 
qualquer, em seguida multiplique o valor de entrada por 3 e apresente o 
resultado. Realizar a execução dos passos anteriores cinco vezes.
programa MULT_3
var
N, R, I : inteiro
início
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
fim
Note que o problema pediu para repetir os passos 5 vezes
Exemplo 2: incluindo repetição
` Elaborar um algoritmo que receba como entrada um número inteiro 
qualquer, em seguida multiplique o valor de entrada por 3 e apresente o 
resultado. Realizar a execução dos passos anteriores cinco vezes.
programa MULT_3
var
N, R, I : inteiro
início
para I de 1 até 5 passo 1 faça
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
fim_para
fim
Exemplo 1: solução com enquanto
programa MULT_3
var
N, R, I : inteiro
início
I Å 1
enquanto (I <= 5) faça
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
I Å I +1
fim_enquanto
fim
` Note que podemos resolver este problema também com o comando 
enquanto ... fim_enquanto
Exemplo 1: solução com enquanto
programa MULT_3
var
N, R, I : inteiro
início
I Å 1
enquanto (I <=5) faça
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
I Å I + 1
fim_enquanto
fim
` Note que podemos resolver este problema também com o comando 
enquanto ... fim_enquanto
Observe que neste caso é necessário 
inicializar a variável I que controla o laço 
e incrementá-la explicitamente dentro do 
laço.
Exemplo 3
` Elaborar um algoritmo que receba como entrada um número inteiro 
qualquer, em seguida multiplique o valor de entrada por 3 e 
apresente o resultado. Ao final da apresentação do resultado o 
programa deve perguntar ao usuário se ele deseja inserir um novo 
número e, em caso positivo, fazer novamente o cálculo.
` Neste caso, qual o tipo de repetição você usaria?
` Comando para ... fim_para
` Comando enquanto ... fim_enquanto
Exemplo 3: passo a passo
` Elaborar um algoritmo que receba como entrada um número 
inteiro qualquer, em seguida multiplique o valor de entrada por 3 e 
apresente o resultado. Ao final da apresentação do resultado o 
programa deve perguntar ao usuário se ele deseja inserir um novo 
número e, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
fim
Corpo mínimo do algoritmo e declaração de variáveis:
•N vai armazenar o número lido;
•R vai armazenar o resultado;
•RESP vai pegar a resposta do usuário (S ou N).
Exemplo 3: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em 
seguida multiplique o valor de entrada por 3 e apresente o resultado. Ao final da 
apresentação do resultado o programa deve perguntar ao usuário se ele deseja 
inserir um novo número e, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
escreva “Informe um número inteiro:”
leia N
fim
Entrada de dados
Exemplo 3: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em 
seguida multiplique o valor de entrada por 3 e apresente o resultado. Ao final da 
apresentação do resultado o programa deve perguntar ao usuário se ele deseja 
inserir um novo número e, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
escreva “Informe um número inteiro:”
leia N
R Å N * 3
fim
Efetuando o cálculo solicitado
Exemplo 3: passo a passo
` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em 
seguida multiplique o valor de entrada por 3 e apresente o resultado. Ao final da 
apresentação do resultado o programa deve perguntar ao usuário se ele deseja 
inserir um novo número e, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
escreva “Deseja continuar (S ou N)?”
leia RESP
fim
Note que o problema pediu para perguntar se o usuário quer 
continuar a usar o algoritmo. Então fazemos a pergunta no final...
Exemplo 3: inserindo repetição
` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em 
seguida multiplique o valor de entrada por 3 e apresente o resultado. Ao final da 
apresentação do resultado o programa deve perguntar ao usuário se ele deseja 
inserir um novo número e, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
escreva “Deseja continuar (S ou N)?”
leia RESP
fim
O trecho em destaque azul é o que deve ser repetido. Então vamos 
colocá-lo dentro de um ENQUANTO
Exemplo 3: inserindo repetição
` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o 
valor de entrada por 3 e apresente o resultado. Ao final da apresentação do resultado o programa deve 
perguntar ao usuário se ele deseja inserir um novo número e, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
enquanto (???) faça
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
escreva “Deseja continuar (S ou N)?”
leia RESP
fim_enquanto
fim
Qual a condição que devemos colocar no ENQUANTO???
Exemplo 3: inserindo repetição
` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o 
valor de entrada por 3 e apresente o resultado. Ao final da apresentação do resultado o programa deve 
perguntar ao usuário se ele deseja inserir um novo númeroe, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
enquanto (RESP = “S” .ou. RESP = “s”) faça
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
escreva “Deseja continuar (S ou N)?”
leia RESP
fim_enquanto
fim
Para o laço continuar, ele depende da resposta 
positiva (S ou s) do usuário....
Exemplo 3: inserindo repetição
` Elaborar um algoritmo que receba como entrada um número inteiro qualquer, em seguida multiplique o 
valor de entrada por 3 e apresente o resultado. Ao final da apresentação do resultado o programa deve 
perguntar ao usuário se ele deseja inserir um novo número e, em caso positivo, fazer novamente o cálculo.
programa MULT_user
var
N, R : inteiro
RESP : caractere
início
RESP Å “S”
enquanto (RESP = “S” .ou. RESP = “s”) faça
escreva “Informe um número inteiro:”
leia N
R Å N * 3
escreva R
escreva “Deseja continuar (S ou N)?”
leia RESP
fim_enquanto
fim Em se tratando do comando ENQUANTO, você não pode esquecer de pensar em qual será o 
valor inicial da variável que controla o laço (neste 
caso RESP)
Exemplo 4
` Faça um algoritmo que receba números e imprima o dobro 
de cada número. A execução do algoritmo termina quando 
o usuário entrar com o número 0 (zero).
` Neste caso, qual o tipo de repetição você usaria?
` Comando para ... fim_para
` Comando enquanto ... fim_enquanto
Exemplo 4
` Faça um algoritmo que receba números e imprima o dobro 
de cada número. A execução do algoritmo termina quando 
o usuário entrar com o número 0 (zero).
` Neste caso, qual o tipo de repetição você usaria?
` Comando para ... fim_para
` Comando enquanto ... fim_enquanto
Note que aqui temos uma situação INDEFINIDA. Não sabemos 
QUANDO o usuário vai digitar o valor 0. Por essa razão não 
sabemos quantas vezes teremos que ler números e imprimir 
seus dobros. Neste caso, DEVEMOS usar o ENQUANTO.
Exemplo 4: passo a passo
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num: realiníciofim
Corpo mínimo do algoritmo e declaração de variáveis:
- num vai receber o número fornecido pelo usuário.
Exemplo 4: passo a passo
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinícioescreva “Entre com um número ou 0 para terminar: ”leia num
fim
Entrada de dados.
Exemplo 4: passo a passo
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinícioescreva “Entre com um número ou 0 para terminar: ”leia numescreva num*2fim
Efetuando o cálculo do problema e ao mesmo 
tempo já mostrando o resultado...
Exemplo 4: incluindo a repetição
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinícioenquanto (???) façaescreva “Entre com um número ou 0 para terminar: ”leia numescreva num*2fim_enquantofim
Qual a condição a ser aplicada???
Exemplo 4: incluindo a repetição
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinícioenquanto (num <> 0) façaescreva “Entre com um número ou 0 para terminar: ”leia numescreva num*2fim_enquantofim
A condição foi dita no problema: a execução 
termina quando o valor lido for igual a zero. 
Assim, para que o enquanto seja executado pelo 
menos 1 vez, ele precisa considerar um valor 
DIFERENTE de zero.
Exemplo 4: incluindo a repetição
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinício
num Å 10enquanto (num <> 0) façaescreva “Entre com um número ou 0 para terminar: ”leia numescreva num*2fim_enquantofim Mas qual o valor de num na primeira execução?
É preciso inicializar a variável com qualquer 
valor DIFERENTE de zero.
Colocamos o valor 10. Poderia ser 3, 8, -1 etc. 
Exemplo 4: incluindo a repetição
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinício
num Å 10enquanto (num <> 0) façaescreva “Entre com um número ou 0 para terminar: ”leia numescreva num*2fim_enquantofim
Qual o problema com este algoritmo?
Exemplo 4: incluindo a repetição
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinício
num Å 10enquanto (num <> 0) façaescreva “Entre com um número ou 0 para terminar: ”leia numescreva num*2fim_enquantofim
Se o usuário digitar o valor 0, ainda assim o 
algoritmo vai calcular o dobro de zero e mostrar 
na tela antes de sair...
Como resolver?
Exemplo 4: uma possível solução
` Faça um algoritmo que receba números e imprima o dobro de cada 
número. A execução do algoritmo termina quando o usuário entrar 
com o número 0 (zero).
programa DOBRO
var 
num : realinícioescreva “Entre com um número ou 0 para terminar: ”leia numenquanto (num <> 0) façaescreva num*2escreva “Entre com um número ou 0 para terminar: ”leia numfim_enquantofim Colocamos a pergunta fora do laço e depois 
repetimos dentro dele após o cálculo (no final)
Neste caso, podemos excluir a inicialização da 
variável num, já que vamos pedir ao usuário o 
seu valor antes de entrar no enquanto.
Exercício 1
` Faça um algoritmo que receba números enquanto forem 
positivos e imprima quantos números positivos foram 
digitados. Dica: este exemplo é uma variação do exemplo 
anterior. Pegue o algoritmo abaixo e modifique.
programa DOBRO
var 
num : realinícioescreva “Entre com um número ou 0 para terminar: ”leia numenquanto (num <> 0) façaescreva num*2escreva “Entre com um número ou 0 para terminar: ”leia numfim_enquantofim
Exercício 1: resolução
` Faça um algoritmo que receba números enquanto forem positivos e 
imprima quantos números positivos foram digitados. 
programa POSITIVOS
var 
num: realqtde: inteiro
início
qtde ← 0escreva “Entre com um número positivo: ”leia numenquanto (num > 0) faça
qtde ← qtde +1 escreva “Entre com um número positivo: ”leia numfim_enquanto
escreva “A quantidade de números positivos digitados foi”, qtdefim
Exercício 2
` Faça um algoritmo que leia o sexo de várias pessoas e imprima quantas 
pessoas são do sexo feminino. O algoritmo termina quando o usuário 
digitar uma letra diferente de “M” ou “F”. Dica: variação do exemplo 
anterior. Pegue o algoritmo abaixo e modifique.
programa POSITIVOS
var 
num : real
qtde: inteiro
início
qtde ← 0escreva “Entre com um número positivo: ”leia numenquanto (num > 0) faça
qtde ← qtde +1 escreva “Entre com um número positivo: ”leia numfim_enquanto
escreva “A quantidade de números digitados foi”, qtdefim
Exercício 2: resolução
` Faça um algoritmo que leia o sexo de várias pessoas e imprima quantas pessoas são do sexo 
feminino. O algoritmo termina quando o usuário digitar uma letra diferente de “M” ou “F”.
programa FEMININO
var 
num_fem : inteiro
sexo : caractere
início
num_fem ← 0
escreva “Entre com o sexo (F ou M) ou outra letra para sair: ”
leia sexo
enquanto (sexo = “F” .ou. sexo = “f” .ou. sexo = “M” .ou. sexo = “m”) faça
se (sexo = “F” .ou. sexo = “f” ) entãonum_fem ← num_fem +1 
fim_se
escreva “Entre com o sexo (F ou M) ou outra letra para sair: ”
leia sexo
fim_enquanto
escreva “A quantidade de mulheres foi ”, num_fem
fim
Referências
` Algoritmos – Fundamento e Prática. Everton Coimbra de 
Araújo. Florianópolis: Visual Book, 2007.
` Algoritmos - Lógica para desenvolvimento de programação de 
computadores. José Augusto N. G. Manzano, Jayr Figueiredo 
de Oliveira. São Paulo: Érica, 2006.
52
	Algoritmos
	Plano de aula
	Comando enquanto
	Comando enquanto
	Comando enquanto: teste no início
	Exemplo: comando enquanto
	Exemplo 1: pensando na solução...
	Exemplo 1: pensando na solução...
	Exemplo 1: pensando na solução...
	Exemplo 1: pensando na solução...
	Exemplo 1: onde entra a repetição?
	Exemplo 1: onde entra a repetição?
	Exemplo 1: indentação
	Exemplo 1: execução da repetição com o comando enquanto
	Exemplo 1: execução da repetição com o comando enquanto
	Exemplo 1: execução da repetição com o comando enquanto
	enquanto X para
	Exemplo 2
	Exemplo 2
	Exemplo 2: passo a passo
	Exemplo 2: passo a passo
	Exemplo 2: passo a passo
	Exemplo 2: passo a passo
	Exemplo 2: passo a passo
	Exemplo 2: incluindo repetição
	Exemplo 1: solução com enquanto
	Exemplo 1: solução com enquanto
	Exemplo 3
	Exemplo 3: passo a passo
	Exemplo 3: passo a passo
	Exemplo 3: passo a passo
	Exemplo 3: passo a passo
	Exemplo 3: inserindo repetição
	Exemplo 3: inserindo repetição
	Exemplo 3: inserindo repetição
	Exemplo 3: inserindo repetição
	Exemplo 4
	Exemplo 4
	Exemplo 4: passo a passo
	Exemplo 4: passo a passo
	Exemplo 4: passo a passo
	Exemplo 4: incluindo a repetição
	Exemplo 4: incluindo a repetição
	Exemplo 4: incluindo a repetição
	Exemplo 4: incluindo a repetição
	Exemplo 4: incluindo a repetição
	Exemplo 4: uma possível solução
	Exercício 1
	Exercício 1: resolução
	Exercício 2
	Exercício 2: resolução
	Referências

Continue navegando