Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Consegui, será?

<meta charset="utf-8">

<script>
    function mostra(texto) {
        document.write(texto)
    }

    function pulaLinha() {
        document.write("<br>");
    }

    var dataChegada = 1500;
    var anoAtual = 2016;
    var media = 28;

    var anosPassados = ((anoAtual - dataChegada) / media);

    mostra("De " + dataChegada + " até o ano atual se passaram " + Math.round(anosPassados) + " gerações.");

    pulaLinha();


</script>

Esse foi o primeiro exercício em que me senti desafiado a resolver sem consultar a resposta do professor. Estou feliz por isso. Espero que com o passar dos estudos eu possa conseguir me familiarizar cada vez mais com os códigos. Uma coisa que achei interessante foi que outros alunos também conseguiram resolver usando uma lógica diferente em alguns casos. É como também aprendi aqui no curso, que existem várias maneiras de resolver o mesmo problema. Nesse exercício, resolvi seguir minha intuição e deu certo, ao menos é o que parece. Gostaria de saber dos colegas o que acham do meu código?

Bons estudos para todos!

4 respostas

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!

Obrigado!

Agora gostaria de ler a opinião de vocês sobre outra maneira de resolver o mesmo problema, todavia, sob a ótica das boas práticas de programação.

O meu questionamento é sobre a entrada dos dados. Vejam que no código anterior eu declarei previamente alguns variáveis. Era mesmo necessário, segundo as boas práticas?

Já no código descrito abaixo percebe-se que o mesmo está visualmente mais limpo. E então, qual dos 2 códigos segue o padrão das boas práticas?

<!-- Em média, um casal tem filhos quando atinge a idade de 28 anos. Seguindo essa média, se os portugueses chegaram em 1500 no Brasil, então, a primeira geração de brasileiros surgiu em 1528, a segunda em 1556 e assim por diante. Desde 1500 até o ano atual, quantas gerações se passaram?

Imprima esse número da seguinte maneira: calcule quantos anos passaram desde 1500 e divida o resultado pela média de 28 anos. -->

<meta charset="utf-8">

<script>
    function mostra(frase) {
        document.write(frase);
    }

    function pulaLinha() {
        document.write('<br>')
    }

    var anosPassados = ((2016 - 1500) / 28);

    mostra("Desde 1500, se passaram " + Math.round(anosPassados) + " gerações.");
    pulaLinha();

</script>

Obrigado a todos!

Acredito que ambos estão dentro das boas práticas. O que percebo é que no primeiro código, ele é mais funcional, pois com a declaração das variáveis você pode manter o código padrão e somente alterar o ano que desejar. Já no segundo, apesar de fato ser mais limpo, você vai precisar alterar dentro da sua variável, o que faz com que ele fique mais estático. Além disso, no primeiro, pela auto descrição das variáveis, fica mais fácil de entender.

solução!

Entendo que a lógica de algoritmos esteja de fato relacionada com a entrada, processamento e saída de dados. Muito obrigado!