1
resposta

Desafio

a = int(input("Informe os dias para a atividade A: "))
b = int(input("Informe os dias para a atividade B: "))
c = int(input("Informe os dias para a atividade C: "))

if a < 0 or b < 0 or c < 0:
print("Erro: Os dias não podem ser negativos.")
else:
total = a + b + c
print("Tempo total do projeto:", total, "dias")

1 resposta

Olá, Micael. Como vai?

Parabéns por resolver mais um desafio! A sua lógica para calcular o tempo total do projeto está excelente. Foi uma ótima decisão adicionar a validação if a < 0 or b < 0 or c < 0: para garantir que o programa não aceite números negativos, pois o tempo em um cronograma real de gerenciamento de projetos sempre avança positivamente.

Assim como nos códigos anteriores, o único detalhe que precisa de ajuste para que o Python execute o seu arquivo sem quebras é a indentação. Os comandos print() e a variável total precisam estar recuados com quatro espaços de distância da margem para o interpretador saber que eles estão sob o controle do if e do else.

Aqui está o seu código com os blocos devidamente ajustados:

a = int(input("Informe os dias para a atividade A: "))
b = int(input("Informe os dias para a atividade B: "))
c = int(input("Informe os dias para a atividade C: "))

# Adicionado o recuo correto nos blocos de código
if a < 0 or b < 0 or c < 0:
    print("Erro: Os dias não podem ser negativos.")
else:
    total = a + b + c
    print("Tempo total do projeto:", total, "dias")

Agregando Valor: Analisando Caminho Crítico (Gargalos)

Para expandir esse exercício e trazer um conceito real da área de Gestão de Projetos e Engenharia de Software, podemos pensar em como as atividades se comportam. No seu código atual, você somou todas as atividades diretamente (a + b + c), o que assume que elas acontecem de forma sequencial (uma só começa quando a outra termina).

No entanto, no mercado, muitas atividades acontecem em paralelo (ao mesmo tempo). Quando queremos saber o tempo total de um projeto com etapas paralelas, nós procuramos o Caminho Crítico, ou seja, a rota de atividades que leva mais tempo para ser concluída e que define o prazo real de entrega.

Imagine que a atividade A é o planejamento, e depois dela, os times começam a desenvolver a atividade B (Design) e a atividade C (Programação) ao mesmo tempo. O tempo total do projeto não será a soma de todas, mas sim o tempo de A somado ao maior valor entre B e C.

Veja como podemos usar a função max() do Python junto com a sua lógica para simular esse cenário mais realista:

a = int(input("Informe os dias para o Planejamento (Atividade A): "))
b = int(input("Informe os dias para o Design (Atividade B - paralela): "))
c = int(input("Informe os dias para a Programação (Atividade C - paralela): "))

if a < 0 or b < 0 or c < 0:
    print("Erro: Os dias não podem ser negativos.")
else:
    # O projeto vai durar o tempo de A + a atividade mais demorada entre B e C
    total_paralelo = a + max(b, c)
    print(f"Tempo total do projeto (com etapas paralelas): {total_paralelo} dias")

Com essa modificação, além de praticar a estrutura condicional básica, você começa a entender como modelar regras de negócios e fluxos de trabalho reais através do código. Continue praticando firme!

Espero que possa ter lhe ajudado!