MODULO 03 EX030

Home Fóruns Programação Básica MODULO 03 EX030

Visualizando 2 respostas da discussão
  • Autor
    Posts
    • #89760

      //EXERCICIO 030

      programa
      {
      	funcao inicio()
      	{
      		inteiro x,y
      
      		logico pin
      
      			x = 0
      			escreva(" Contar até: ")
      			leia(y)
      
      			x = x + 1
      			
      			enquanto (x <= y){
      			escreva(x,"-")
      			
      			se(x % 4 == 0)
      			escreva("pin")
      
      			x = (x + 1) 
      		
      			}
      		}
      
      }

      Meu resultado ainda está exibindo os múltiplos de 4.
      Onde estou errando?

      • Este tópico foi modificado 2 anos, 7 meses atrás por IcaroFilho.
    • #89905
      IcaroFilho
      Moderador

      Boa tarde,
      1. a variável logica “pin” não esta sendo utilizada. pode descarta-la
      2. quando nomear variáveis evite usar “a”, “b”, “c” …., de nomes que façam sentido. Lembre-se de que se programa para outros desenvolvedores lerem.
      3. Não precisa da equação x = x + 1. Basta inicializar o x com valor 1
      -Sua duvida-
      4. Vc esta mandando escrever a variável x, independente do de qualquer checagem. logo ele sempre será impresso.
      tem que por uma condição para ela ocorrer.
      ex.:

      se(x % 4 == 0) {
          escreva("pin-")
      } senao {
          escreva(x,"-")
      }

      5. correções:

      programa
      {
      	funcao inicio()
      	{
      		inteiro x = 1, y
      		escreva(" Contar até: ")
      		leia(y)
      		enquanto (x <= y){
           		se(x % 4 == 0) {
          		    escreva("pin-")
          		} senao {
          		    escreva(x,"-")
          		}
           		x = x + 1
       		}
      	}
      }

      fica um desafio de deixar de exibir o ultimo “-” quando o programa finaliza.
      Bons estudos

    • #92016
      Luiz Carareto Alonso
      Participante

      Carambola errei legal esse exercício
      assim ta melhor

      programa
      {
      	inclua biblioteca Util --> ut
      	funcao inicio()
      	{
      		inteiro contar1 = 1, contar2 = 2, contar3 = 3, contar_fim
      		escreva("\n{EXERCÍCIO 030 - JOGO DO PIN}\n")
      		escreva("Quer contar até quanto?: ")
      		leia(contar_fim)
      		enquanto (contar1 <= contar_fim){
      			ut.aguarde(500)
      			escreva(contar1, " - ")
      			ut.aguarde(500)
      			escreva(contar2, " - ")
      			ut.aguarde(500)
      			escreva(contar3, " - PIN!\n")
      			contar1 += 4
      			contar2 += 4
      			contar3 += 4
      		}		
      	}
      }
      • Esta resposta foi modificada 2 anos, 6 meses atrás por IcaroFilho.
      • #92089
        IcaroFilho
        Moderador

        Bom dia Luiz,
        Então, você meio q forçou o acontecimento da impressão “PIN!” , tanto que se botar pra contar até 5, ele irá contar até 8. ( esta sempre mostrando de 4 em 4 ).
        Tente analisar e entender a resolução que mostrei logo acima. Depois tente fazer sozinho.
        Se continuar com duvida de entender os “Porques”, só voltar aqui e perguntar.

Visualizando 2 respostas da discussão
  • Você deve fazer login para responder a este tópico.