milaBastos 0 Denunciar post Postado Outubro 18, 2009 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
Mário Monteiro 179 Denunciar post Postado Outubro 19, 2009 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