Home Fóruns Programação Básica Tabuada

Visualizando 6 respostas da discussão
  • Autor
    Posts
    • #94255
      ROSANGELA MENDES
      Participante

      Não consigo identificar meu erro na Tabuada!

      inteiro numero = 0
      enquanto (numero <= 10){
      escreva(numero*5)
      escreva(“\n 5 X “, numero, ” = “)
      numero++

      Obrigada!

    • #94263
      IcaroFilho
      Moderador

      Boa noite.
      Possui 2 erros:

      1. Você esqueceu de fechar o bloco do enquanto, por isso está quebrando. Ou seja, basta adicionar } abaixo de numero++
      2. Em seguida a ordem de execução da apresentação esta invertida. no código mostrado vocês tá primeiro executando a operação matemática e depois esta mostrando o texto. isso acarretará na visualização errada das operações. Para corrigir basta inverter a ordem dos escreva.

        enquanto (numero <= 10){
        	escreva(numero*5)
        	escreva("\n 5 X ", numero, " = ")
        	numero++
        }
    • #94322
      ROSANGELA MENDES
      Participante

      Oi, Ícaro!

      A questão da tabuada tudo ok, mas tenho uma dúvida que se assemelha:

      inteiro numero = 0, soma = 0, cont = 4, media = 0
      enquanto (cont >= 0){
      leia(numero)
      soma = soma + numero
      media = soma /4
      cont = cont – 1
      }

      escreva(” \nA soma dos números (>= 0)é , “, soma, “.\n E a média da soma é “, media)

      ==> Quero somar os valores repetidos e encontrar a média entre eles.
      Coloco –> cont = 4, teriam que ser 4 repetiçoes, mas aparecem 5.
      Onde fiz a confusão? Help

      • #94357
        IcaroFilho
        Moderador

        Boa noite. primeiramente, seria interessante por um escreva("Informe o numero: ") antes do leia(numero).

        Agora referente a sua duvida.
        vamos analisar o laço.
        ele começa em 4 e a cada laço se retira 1. e sua condição verdadeira é ser maior ou igual a 0

        -1º laço c = 4 / Verdadeiro pois c é maior q 0 / (recebe -1)
        -2º laço c = 3 / Verdadeiro pois c é maior q 0 / (recebe -1)
        -3º laço c = 2 / Verdadeiro pois c é maior q 0 / (recebe -1)
        -4º laço c = 1 / Verdadeiro pois c é maior q 0 / (recebe -1)
        -5º laço c = 0 / Verdadeiro pois c é maior q 0 / (recebe -1)
        -6º laço c = -1 / Falso pois c é inferior a 0 / Código não será executado

        ou seja, você esta contabilizando de 0 a 4 [0,1,2,3,4] que da um total de 5.
        para isso basta tirar o sinal de igual da condição:
        cont >= 0 passa a ser cont > 0

        OBS: Pelo fato de sua média ser do tipo INTERIRO, o resultado da operação será sempre truncada (será removida a parte decimal, retornando apenas a inteiro. Ex.: caso a média seja 2,5 será retornado a media 2)

        • Esta resposta foi modificada 2 anos, 5 meses atrás por IcaroFilho.
    • #102217
      MARCIO PAIVA
      Participante

      OI Jéssica tudo bem?
      terminei o exercício 46.
      Gostaria que você desse uma analisada
      mas quero enviar dentro do tópico do exercício 46.
      e encontrei um tópico chamado tabuada posso lhe enviar o ´código
      por esse tópico do fórum?

    • #102238
      Tutora Jessica
      Moderador

      Ola Marcio, pode sim!!

    • #102275
      MARCIO PAIVA
      Participante
      oi Jéssica tudo bem?
      
      eis aqui o código:
      
      programa
      {
      inclua biblioteca Util-->u
      	
      	funcao inicio()
      	{
      		escreva("{EXERCÍCIO 046 - Tabuada}")
      		inteiro tab
      		inteiro num
      		inteiro mult1 = 0
      		inteiro mult2 = 0
      		inteiro mult3 = 0
      		inteiro mult4 = 0
      		inteiro mult5 = 0
      		inteiro mult6 = 0
      		inteiro mult7 = 0
      		inteiro mult8 = 0
      		inteiro mult9 = 0
      		inteiro mult10 = 0
      		inteiro cal = 0
      		escreva("\nNúmero: ")
      		leia(num)
      		mult1 = num * 1
      		mult2 = num * 2
      		mult3 = num * 3
      		mult4 = num * 4
      		mult5 = num * 5
      		mult6 = num * 6
      		mult7 = num * 7
      		mult8 = num * 8
      		mult9 = num * 9
      		mult10 = num * 10
      		para(tab = 1;tab<=10;tab++){
      		}
      	          escreva(num+" X 1 = "+mult1)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 2 = "+mult2)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 3 = "+mult3)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 4 = "+mult4)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 5 = "+mult5)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 6 = "+mult6)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 7 = "+mult7)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 8 = "+mult8)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 9 = "+mult9)
      	          u.aguarde(500)
      	          escreva("\n"+num+" X 10 = "+mult10)
      	}
      }
    • #102302
      Tutora Jessica
      Moderador

      Ola Marcio,
      Testei e seu código esta funcionando direitinho, como sempre digo cada pessoa tem uma forma de programar e a sua não esta errada, faça sempre como se sentir a vontade.. caso queira, você também pode tentar diminuir mais o seu código..
      Parabéns pelo seu empenho de sempre 🖖

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