Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Controle de estoque

Solução do exercício proposto pela Alura

Nesta atividade, o objetivo é simular a venda de livros até que o estoque seja completamente consumido.

Código proposto pela Alura:

estoque = 5

while estoque > 0:
    estoque -= 1
    print(f"Venda realizada! Estoque restante: {estoque}")

print("Estoque esgotado")

Saída esperada:

Venda realizada! Estoque restante: 4
Venda realizada! Estoque restante: 3
Venda realizada! Estoque restante: 2
Venda realizada! Estoque restante: 1
Venda realizada! Estoque restante: 0
Estoque esgotado

Nesse exemplo, o laço while continua executando enquanto a variável estoque for maior que zero. A cada venda, o estoque diminui em uma unidade. Quando o estoque chega a zero, o programa encerra o laço e informa que não há mais livros disponíveis.

Adaptação do exercício: uso do while no acompanhamento do AFA

No exercício original da Alura, o laço while é utilizado para controlar o estoque de livros. Enquanto ainda há exemplares disponíveis, o sistema continua realizando vendas. Quando o estoque chega a zero, o processo é encerrado.

No contexto da Avaliação Formativa do Aprendiz (AFA), podemos utilizar uma lógica semelhante para acompanhar estudantes com recorrência de conversa excessiva.

A regra pedagógica definida foi:

  • O aluno entra em acompanhamento quando acumula 5 ou mais registros de conversa excessiva.
  • Enquanto continuarem aparecendo novos registros de conversa excessiva, o aluno permanece em acompanhamento.
  • O aluno só será considerado com situação superada quando não houver nenhum novo registro de conversa excessiva no período de reavaliação.
registros_conversa_excessiva = 5

if registros_conversa_excessiva >= 5:
    print("Aluno inserido em acompanhamento pedagógico.")

    while registros_conversa_excessiva > 0:
        print("Aluno permanece em acompanhamento.")
        print(f"Registros atuais de conversa excessiva: {registros_conversa_excessiva}")

        # Simulação de reavaliação semanal
        registros_conversa_excessiva -= 1

    print("Situação superada: não há novos registros de conversa excessiva.")

else:
    print("Aluno não atingiu critério para acompanhamento.")

Saída simulada:

Aluno inserido em acompanhamento pedagógico.
Aluno permanece em acompanhamento.
Registros atuais de conversa excessiva: 5
Aluno permanece em acompanhamento.
Registros atuais de conversa excessiva: 4
Aluno permanece em acompanhamento.
Registros atuais de conversa excessiva: 3
Aluno permanece em acompanhamento.
Aluno permanece em acompanhamento.
Registros atuais de conversa excessiva: 2
Aluno permanece em acompanhamento.
Registros atuais de conversa excessiva: 1
Situação superada: não há novos registros de conversa excessiva.

Uma versão mais próxima da realidade da coordenação seria:

aluno = "Anik"
registros_conversa_excessiva = 5
novos_registros = 2

if registros_conversa_excessiva >= 5:
    situacao = "Em acompanhamento"
    print(f"{aluno} entrou em acompanhamento pedagógico.")

    while novos_registros > 0:
        print(f"{aluno} permanece em acompanhamento.")
        print(f"Novos registros de conversa excessiva: {novos_registros}")

        # Aqui o sistema aguardaria nova atualização da planilha AFA.
        novos_registros -= 1

    situacao = "Superado"
    print(f"{aluno}: situação superada. Nenhum novo registro identificado.")

else:
    print(f"{aluno} ainda não atingiu critério para acompanhamento.")

Com essa adaptação, compreendi que o while pode representar um ciclo de acompanhamento pedagógico. A condição não é apenas numérica, como no estoque de livros, mas formativa: enquanto houver novos registros de conversa excessiva, o aluno permanece em acompanhamento. Quando os registros deixam de aparecer, o sistema pode indicar que a situação foi superada.

1 resposta

Oi, Patricia. Tudo bem com você?

O código apresentado está correto e atende plenamente ao que foi solicitado no exercício. O uso do laço while foi aplicado de forma adequada para manter o processo de vendas ativo enquanto houver exemplares disponíveis, encerrando a repetição apenas quando o estoque chega a zero.

Além disso, a mensagem de atualização do estoque a cada venda e a exibição de "Estoque esgotado" ao final seguem exatamente a proposta da atividade. Sua explicação sobre o comportamento do while também demonstra um bom entendimento de como esse tipo de estrutura é utilizado quando a quantidade de repetições depende de uma condição que pode mudar durante a execução.

As adaptações para o contexto da AFA mantêm a mesma lógica central do exercício, mostrando como um laço pode representar o acompanhamento contínuo de uma situação até que determinada condição deixe de existir. Um exemplo semelhante seria monitorar tarefas pendentes em um sistema, mantendo o processamento enquanto houver itens aguardando análise.

Pensando em aplicações futuras, como você utilizaria um while para representar um processo em que novos dados podem surgir continuamente durante a execução?

Parabéns pela resolução e pelas conexões práticas apresentadas. Obrigado por compartilhar seu aprendizado. O fórum está à disposição para acompanhar sua evolução e suas próximas contribuições.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!