logotipo Blog Giovani Da Cruz
Algoritmos com Laços

Criando uma Árvore de Natal com Algoritmo

4 min de leitura 183 visualizações
Algoritmo árvore de natal
Este exercício mostra como desenhar uma árvore de natal

 

Fala galera da programação, tudo beleza?

Neste exercício, vamos explorar a lógica de programação criando uma representação visual de uma árvore de Natal. O objetivo é praticar o uso de estruturas de repetição, manipulação de strings e formatação de saída. Você aprenderá como calcular o posicionamento de elementos visuais, como estrelas e espaços, para construir uma forma triangular simétrica e adicionar uma base decorativa à árvore. Além disso, encerraremos o programa com uma mensagem de felicitações natalinas, tornando o exercício divertido e comemorativo. Essa atividade é ideal para reforçar conceitos fundamentais de programação.

 

Exercício

Escreva um programa que desenhe uma árvore de Natal no terminal. O programa deve permitir que o usuário escolha a altura da árvore e, no final, exiba uma mensagem de “Feliz Natal e Próspero Ano Novo!”.

Como desafio adicional, tente fazer um caule e um chão para a árvore.

 

 

O que podemos aprender com este exercício?

 

Estruturas de Repetição

Utilização do laço for para iterar e construir cada linha da árvore, reforçando como manipular sequências.

 

Manipulação de Strings

Python: Trabalha com concatenação e multiplicação de strings (" " * n, "*" * n), mostrando como gerar padrões.

 

Pensamento Algorítmico

Incentiva os programadores a dividir um problema maior (desenhar uma árvore e exibir uma mensagem) em subproblemas menores (gerar cada linha, calcular espaços, construir a base).

 

Criatividade na Programação

O exercício mostra como a programação pode ser criativa e divertida, não apenas funcional. Projetos como este despertam interesse e tornam o aprendizado mais envolvente.

 

Sugestão de Resposta em Python

'''
    Criado pelo Professor Giovani Da Cruz
    https://giovanidacruz.com.br
'''

# Entrada: Altura da árvore
altura = int(input("Digite a altura da árvore de Natal: "))

# Construção da árvore
for i in range(altura):
    espacos = " " * (altura - i - 1)
    estrelas = "*" * (2 * i + 1)
    print(espacos + estrelas)

# Base da árvore
base = " " * (altura - 2) + "| |"
print(base)

# Desenhando um chao
chao = " " + "¯" * (altura - 3) + "   " + "¯" * (altura - 3)
print(chao)

# Felicitações natalinas
print("\nFeliz Natal e Próspero Ano Novo!")

Explicação

O código em Python solicita ao usuário a altura da árvore e, utilizando um laço for, constrói a árvore linha por linha. Para cada linha, calcula o número de espaços (" " * (altura - i - 1)) para alinhar as estrelas no centro e o número de estrelas ("*" * (2 * i + 1)) para formar cada nível triangular. Cada linha é exibida concatenando os espaços e as estrelas.

Após o desenho da árvore, são adicionadas duas linhas, uma com a base da árvore (| |) centralizada e outra que desenha o chão.

Ao final é exibida uma mensagem de “Feliz Natal e Próspero Ano Novo!”.

 

Conclusão

Este exercício oferece uma oportunidade rica para desenvolver habilidades práticas e teóricas, enquanto explora linguagens de programação. Ele é um exemplo de como desafios simples podem ensinar lições valiosas e construir confiança em novos programadores!

 

 

💬 Sua opinião importa!

Adoramos ouvir nossos leitores! Tem alguma dúvida, sugestão ou experiência para compartilhar sobre o tema?

Gostaria de outras linguagens? Deixe seu comentário abaixo! 📣

Vamos conversar e aprender juntos! 🚀

 

 

💻 Compartilhe o post com outras pessoas se ele te ajudou! 😊

 

 

 

📚 Obrigado por acompanhar até aqui! Explore outros posts relacionados no blog e continue evoluindo suas habilidades. Tem mais conteúdos sobre diversos assuntos te esperando! 👩‍💻 🔍✨

Até o próximo post. Valeu! 👋📖

 

#Programação #Python #Desenvolvimento #Natal

#LógicaDeProgramação #DevLife #Aprendizado #DesafioDeDev

#GiovaniDaCruz

2 comentários

  1. Coloquei uma abordagem diferente:
    “`
    def arvore(altura):
    largura = altura * 2 + 1
    base = [
    (‘*’ * (2 * i + 1)).center(largura)
    for i in range(altura)
    ] + [‘| |’.center(largura), ‘ ‘ + ‘ ‘.center(largura – 2, ‘¯’)]
    print(‘\n’.join(base),’\n’)
    “`

    1. Muito boa a sua abordagem, Marcos! 👏
      Gostei da forma como você estruturou a base da árvore e adicionou o tronco com o caractere ¯, deu um toque criativo ao resultado. 🌲

      Essas variações são ótimas para comparar estilos e ver como pequenas mudanças no código podem deixar a saída mais interessante. Se quiser, posso incluir sua versão no post como alternativa. 😉

Deixe um comentário

Seu e-mail não será publicado.