Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

milaBastos

soma de numeros

Recommended Posts

Oi...

Bom domingo à todos...

TEm um tempo que estou tentando resolver um algoritmo que pede a multiplicação de um numero pelo outro,os dois numeros são inteiros, mas sem utilizar a multiplicação, e sim apenasa operação de adição:

 

O codigo é este:

 

algoritmo "multiplicaçaoComSoma"
// Função :
//Algoritmo para  o calculo da multiplicação entre dois numeros inteiros positivos
//sem utilizar a operação de multiplicação (ou seja, utilizando apenas soma).
// Autor :Camila Bastos.
// Data : 2/10/2009
// Seção de Declarações 

var
num1,num2,resultado:inteiro

inicio
// Seção de Comandos
escreval("Informe dois numeros inteiros positivos:")
escreval("Um seguido do outro:")
leia(num1,num2)

resultado<-0
repita
       escreval(num1,"+",num1)
         num1 <- num1 + num1
           resultado<-resultado+1

//2*2 <-> 2+2 = 4
//2*4 <-> 2+2+2+2 = 8

             ate(resultado = num2)

           escreval("")
        escreval("RESULTADO:",num1)

fimrepita


fimalgoritmo

 

Na teoria, minha lógica está correta,2*2 é a mesma coisa de 2+2, mas o problemas é que quando o valor retorna novamente para somar

soma sempre o valor anterior dobrado...ou seja se for 2 * 5 :na tela aparece:

2+2

4+4

8+8

16+16

32+32

resultado=64

já tentei varias vezes, queria saber o que está errado no codigo para que apareça:

 

2+2+2+2+2=10

 

Desde já agradeço..

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque não usa o para de 1 até num2 ?

 

o seu erro é que ta somando sempre duas vezes o num1 mesmo

 

num1 <- num1 + num1

 

deveria ter um total

 

total <- total + num1

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.