4-) Foi realizada uma pesquisa com um grupo de 10 alunos de uma universidade, na qual foi perguntado para cada aluno o número de vezes que ele utilizou o restaurante da universidade no último mês. Construa um algoritmo que determine:
a) O percentual de alunos que utilizaram menos que 10 vezes o restaurante;
b) O percentual de alunos que utilizaram entre 10 e 15 vezes;
c) O percentual de alunos que utilizaram o restaurante acima de 15 vezes.
(Utilizar a estrutura WHILE).
a) O percentual de alunos que utilizaram menos que 10 vezes o restaurante;
b) O percentual de alunos que utilizaram entre 10 e 15 vezes;
c) O percentual de alunos que utilizaram o restaurante acima de 15 vezes.
(Utilizar a estrutura WHILE).
Passo 1
O enunciado pede que, a partir de uma pesquisa com um grupo de
alunos, você construa um algoritmo (usando a estrutura WHILE) que calcule três percentuais:
- O percentual de alunos que utilizaram o restaurante menos que
vezes; - O percentual de alunos que utilizaram o restaurante entre
e vezes; - O percentual de alunos que utilizaram o restaurante acima de
vezes.
Informações fornecidas e suposições claras:
- O total de alunos é
. - Para cada aluno será dada a quantidade de vezes que ele utilizou o restaurante no último mês; chamo essa quantidade de
(um número inteiro não-negativo). - Assumo que “entre
e vezes” inclui os valores e (isto evita lacunas como não sendo contado em nenhuma categoria). Ou seja, a categoria do meio é . - O algoritmo deve usar um laço WHILE (repetição) para ler/processar os
valores.
Passo 2
Ideia geral do método (sem resolver ainda): vamos percorrer os
alunos com um contador
que vai de
até
usando WHILE. Para cada leitura
atualizamos três contadores:
-
para contar quantos têm , -
para contar quantos têm , -
para contar quantos têm .
No fim, transformamos cada contagem em percentual usando a fórmula
Vou explicar cada parte em detalhes para você conseguir aplicar na prova.
Passo 3
Explicando passo a passo as estruturas e variáveis que vamos usar (aqui eu ensino os conceitos como se fosse na prova):
- Variáveis:
-
: número total de alunos (aqui ). -
: índice/contador do laço WHILE, inicializa em e vai até . -
: número de visitas lido para cada aluno (entrada). -
, , : contadores iniciais em .
-
- Laço WHILE: é uma estrutura que repete um bloco enquanto uma condição for verdadeira. Forma padrão (conceitual):
- Inicializar
. - WHILE (condição sobre
) faça: - ler
, - atualizar contadores,
- incrementar
.
- ler
- Inicializar
- Condicionais (IF/ELSE): para decidir em qual das três categorias o valor
cai. Em ordem: - Se
então incrementa . - Senão se
(o que, depois do primeiro teste, significa ) então incrementa . - Senão incrementa
.
- Se
- Cálculo de percentual: depois do laço, para cada contador
calculamos Aqui é qualquer um dos três contadores e . Por exemplo, se ,
Passo 4
Mostro um exemplo numérico (simulação) para você ver como fica na prática — isso ajuda a memorizar o procedimento:
Suponha que as leituras para os
alunos sejam:
.
Suponha que as leituras
- Contamos:
- Valores
: → . - Valores
a : → . - Valores
: → .
- Valores
- Percentuais:
Esse exemplo confirma que os três percentuais somam
, como deve acontecer:
Passo 5
Dicas para a prova e tratamento de casos:
- Sempre inicialize os contadores em
antes do WHILE. - Garanta que o laço faça exatamente
leituras; erro comum é esquecer de incrementar . - Se for possível receber valores inválidos (número negativo, string), trate como erro opcional ou peça nova leitura; em muitas provas você pode supor entradas válidas.
- Use a ordem dos testes conforme expliquei (
primeiro) para evitar sobreposições e garantir que cada caia numa e somente numa categoria. - Calcule porcentagens no final, não durante, assim evita arredondamentos intermediários.
Passo 6
Agora segue o algoritmo final em pseudocódigo, usando WHILE, pronto para você copiar na prova. Ele está escrito de forma clara e comentada (cada linha é autoexplicativa).
Resposta
Inicializar
\nInicializar
\nInicializar
\nInicializar
\nInicializar
\nEnquanto
faça\n\quad Ler
// número de vezes que o aluno
usou o restaurante\n\quad Se
então\n\quad\quad
\n\quad Senão se
então\n\quad\quad
\n\quad Senão\n\quad\quad
\n\quad Fim Se\n\quad
\nFim Enquanto\nCalcular
\nCalcular
\nCalcular
\nImprimir
,
,