Ir ao conteúdo
  • Cadastre-se

VisualG Programa de Calcular Tabuada esta dando errado!


Posts recomendados

O programa abaixo se trata desta questão: Calcule a tabuada de um valor qualquer de 1 até 10 e armazene os resultados em um vetor T. Apresentar os elementos do vetor T.

 

Dai, creio que eu não esteja preparado para essas questões ainda e sempre está dando errado... se alguém puder achar o problema e faze-lo funcionar eu agradeço (Sou iniciante, e meu professor parece que quer que sejamos profissionais, porém nem explicou direito o assunto ;-0) 

O problema é que está calculando errado ou nem calcula ;-;

 

O programa:

Algoritmo "semnome"
// Disciplina   : [Linguagem e Lógica de Programação]
// Professor   : Antonio Carlos Nicolodi 
// Descrição   : Aqui você descreve o que o programa faz! (função)
// Autor(a)    : Nome do(a) aluno(a)
// Data atual  : 08/12/2020
Var
// Seção de Declarações das variáveis 
i: inteiro
t: vetor[1..10] de real
num,base: inteiro

Inicio
// Seção de Comandos, procedimento, funções, operadores, etc... 
base<- 1

escreval("Digite o numero [",i,"]")
leia(t[i])
para i de 1 ate 10 faca
fimpara


para i de 1 ate 10 faca
 num<- i+1
 t[i]<- base+num
 fimpara
para i de 1 ate 10 faca
  num<- i+1
  escreval("O resultado da Adição é:", t[i])
  fimpara
  
para i de 1 ate 10 faca
  num<- i+1
  t[i]<- base-num
  fimpara
para i de 1 ate 10 faca
  num<- i+1
  escreval("O resultado da Subtração é:", t[i])
  fimpara

para i de 1 ate 10 faca
  num<- i+1
  t[i]<- base*num
  fimpara
para i de 1 ate 10 faca
  num<- i+1
  escreval("O resultado da Multiplicação é:", t[i])
  fimpara
  
para i de 1 ate 10 faca
  num<- i+1
  t[i]<- base/num
  fimpara
para i de 1 ate 10 faca
  num<- i+1
  escreval("O resultado da Divição é:", t[i])
  fimpara
  
Fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Para se resolver um problema qualquer, primeiro é necessário entender o problema... Você já entendeu o que é para ser feito? Obs.: estou perguntando o quê é para ser feito, e não o como.

 

Por favor, explique o que você entendeu do que é para ser feito e o quê você acha que deveria aparecer na tela se o usuário informasse o número 5.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Em 08/12/2020 às 11:25, Simon Viegas disse:

o quê você acha que deveria aparecer na tela se o usuário informasse o número 5.

 

Se o usuário digitar 5. O que vai aparecer na tela? Por favor, demonstre o que você acha que deveria aparecer, por exemplo, apenas para a tabuada da multiplicação.

 

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
3 horas atrás, MidoraQuebraTudo disse:

@Simon Viegasn= 5 

5x1= 5

5x2= 10

5x3= 15

5x4= 20

5x5= 25

.

.

.

Seria isso, mas acho q ta calculado errado...

 

Entendi. Vamos lá:

 

No teu código você colocou:

 

Em 08/12/2020 às 09:26, MidoraQuebraTudo disse:

escreval("O resultado da Multiplicação é:", t[i])

 

 

 

Logo, iria ficar algo como:

 

O resultado da Multiplicação é: 5
O resultado da Multiplicação é: 15
O resultado da Multiplicação é: 20
O resultado da Multiplicação é: 25
...

 

Entende? A tua explicação não bate com o que implementou...

 

 

Então, primeiro é necessário entender o enunciado:

 

Em 08/12/2020 às 09:26, MidoraQuebraTudo disse:

Calcule a tabuada de um valor qualquer de 1 até 10 e armazene os resultados em um vetor T. Apresentar os elementos do vetor T.

 

Na sua interpretação, o "resultado" armazenado seria cada linha do tabuada correspondente, algo como salvar o texto "5x1= 5"? Ou salvaria apenas o resultado no vetor e montaria a linha da tabuada utilizando esse vetor?

 

Por exemplo, eu entendi que ele quer que simplesmente exiba os valores de T, exemplo:

 

algoritmo "Valores da tabuada (de multiplicação) de um número"
var
   t: vetor[1..10] de real
   i: inteiro
   numero: inteiro

inicio
   escreval("Digite valor inteiro de 1 a 10")
   leia(numero)

   para i de 1 ate 10 faca
      t[i] <- numero * i
   fimPara
   
   escreva ("T: ")
   para i de 1 ate 10 faca
      escreva (t[i], " ")
   fimpara
fimAlgoritmo

 

 

Vai sair algo assim:


image.png

 

Oh! lá. Ele tá apresentando os elementos de T.

 

 

 

 

Agora modifique esse código acima para ficar da forma que deseja. No caso aparecer com algo assim:

 

image.png

 

 

Dica: (só abra após tentar fazer sozinho).

Spoiler

Não fiu... vá lá tentar resolver!! ;)

 

PS: @MidoraQuebraTudo, pelo amor de d'us... não tente fazer as 4 operações de uma vez!!! Faça apenas para multiplicação. Após, caso queira incluir as outras 3 operações, aí você faz para mais uma, por exemplo, deixando com Adição e Multiplicação. Após insere a subtração e por fim a divisão.

 

Qualquer dúvida é só perguntar.

 

Link para o comentário
Compartilhar em outros sites

@Simon Viegas

Caso mais alguém tenha problema nesse código, ai está a solução, fiz com a Ajuda do Simon Veigas! Então agradece a ele beleza? 


 

Algoritmo "Tabuada"
// Disciplina: [Linguagem e Lógica de Programação]
// Professor: Antonio Carlos Nicolodi
// Descrição: Aqui você descreve o que o programa faz! (função)
// Autor(a)    : Ricardo
// Data atual     : 11/12/2020
Var
   // Seção de Declarações das variáveis
   t: vetor[1..10] de real
   i: inteiro
   numero: inteiro

Inicio
   escreval("Digite valor de 1 a 10")
   leia(numero)

   //Multiplicação
   para i de 1 ate 10 faca
      t[i] <- numero * i
   fimPara

   escreval("Multiplicação: ")
   para i de 1 ate 10 faca
      escreval ("O resultado da Multiplicação é,", t[i])
   fimpara
   escreval("")

   //Adição
   para i de 1 ate 10 faca
      t[i] <- numero + i
   fimPara

   escreval("Adição: ")
   para i de 1 ate 10 faca
      escreval ("O resultado da adição é,", t[i])
   fimpara
   escreval("")

   //Subtração
   para i de 1 ate 10 faca
      t[i] <- numero - i
   fimPara

   escreval("Subtração: ")
   para i de 1 ate 10 faca
      escreval ("O resultado da Subtração é,", t[i])
   fimpara
   escreval("")

   //Divisão
   para i de 1 ate 10 faca
      t[i] <- numero / i
   fimPara

   escreval("Divisão: ")
   para i de 1 ate 10 faca
      escreval ("O resultado Divisão é,", t[i])
   fimpara
   escreval("")
Fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@MidoraQuebraTudo, não era para sair assim?

 

Em 10/12/2020 às 10:04, MidoraQuebraTudo disse:

@Simon Viegasn= 5 

5x1= 5

5x2= 10

5x3= 15

5x4= 20

5x5= 25

.

.

.

Seria isso, mas acho q ta calculado errado...

 

Testei seu código e saiu assim:

image.png

 

Ou seja: não tá batendo.
 

 

Tentou fazer ficar assim?

 

Em 10/12/2020 às 14:33, Simon Viegas disse:

image.png

 

 

Em relação a Adição, Subtração e Divisão, os resultados estão meios confusos... Veja exemplos na internet e compare os valores com o seu programa.

 

 

@MidoraQuebraTudo, sugiro:

  • ou tentar deixar como a imagem acima, tentado fazer apenas para multiplicação;
  • ou a partir do teu código atual, ver exemplo de resultados na internet e fazer o seu programa gerar os mesmo valores do exemplo escolhido.

 

Em fim, defina algum resultado... e implemente o resultado definido. 

 

Qualquer dúvida é só postar.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!