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

aula 7 item 1- repetição alguém pode me ajudar a corrigir uma falha?

Na aula de repetição onde foi utilizado o WHILE para repetição em datas de copa do mundo. Percebe-se que o programa inseriu na relação as copas de 1942 e 1946(elas nunca ocorreram) , existe a possibilidade de corrigir essa falha?

6 respostas

Olá Oscar ! Você pode tentar colocar uma condição antes de imprimir o ano da copa. Dá uma olhadinha no exemplo que fiz em Java e tenta implementar ai no seu projeto.

int anoCopa = 1930;

        while(anoCopa <= 2018 ) {

            if(anoCopa != 1942 && anoCopa != 1946)
            {
                System.out.println("Teve copa em " + anoCopa);
            }            

            anoCopa = anoCopa + 4;

        }

Qualquer dúvida dá um alô aqui para a gente.

Abs.

Emerson

blz emerson muito obrigado

Oi Oscar se a resposta do Emerson te ajudou você pode marcar ela como solução. Isso ajuda outros alunos com dúvida semelhante a saber qual a solução adotada, além disso eu não sabia que não tínhamos tido copa nesses anos, bacana essa informação deu margem pra um novo exercício inclusive.

Emerson e Maison o problema não foi resolvido utilizei o código e não resolveu o problema, desculpem a demora por responder a vocês. vou passar o código do capítulo 6 da aula 7 do curso de lógica da programação I , EIS O código:

<meta charset="UTF-8">

<script>

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

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    var anoCopa = 1930;
    var limite = parseInt(prompt("Qual é o ano limite?"));

    while(anoCopa <= limite) {

        mostra(anoCopa + " tem copa!");
        anoCopa = anoCopa + 4;
    }

    mostra("Ufa! Esses foram os anos de copa até " + limite);
</script>
mostra("Ufa! Esses foram os anos de copa até " + limite);

vocês podem perceber que o programa afirma que em 1942 e 1946 teve copa do mundo , o que é errado,ou seja, não ocorreu copa nesses anos em virtude do perído da IIª GUERRA MUNDIAL. Como podemos corrigir essa falha do programa? Aguardo a resposta dos senhores e desculpem se por acaso fiz algum transtorno. Responderei com mais brevidade

solução!

Oi Oscar Leandro dos Santos Neto precisamos inserir uma condição que verificará se o ano em que estamos correspondem aos anos em que houve Guerra, portanto não tivemos copa, para isso vamos inserir uma condição if dentro do nosso while que verificará se os anos são diferentes de 1942 ou 1946 em caso afirmativo mostraremos o ano de copa e incrementaremos mais 4 anos em caso negativo não mostraremos nada e incrementaremos mais 4 anos para fazer uma nova verificação.Como podemos observar abaixo:

<meta charset="UTF-8">

<script>

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

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    var anoCopa = 1930;
    var limite = parseInt(prompt("Qual é o ano limite?"));

    while(anoCopa <= limite) {
        if(anoCopa != 1942 && anoCopa != 1946){
            mostra(anoCopa + " tem copa!");
            anoCopa = anoCopa + 4;
        }else{
        anoCopa = anoCopa + 4;
        }

    }

    mostra("Ufa! Esses foram os anos de copa até " + limite);
</script>

Fazendo assim pularemos os anos que não tivemos copa.

Espero ter ajudado e bons estudos.

Perfeito Maison. Agora ficou show de bola! valeu

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software