Jump to content
  • 0
4ly

Visualg, olá gostaria de saber onde está o erro no meu algoritmo

Question

O exercício propunha fazer duas funções uma para multiplicação e outra para criar uma fatorial, porém devem ser feitas usando apenas operações de soma e subtração

bom fiz uma função para multiplicar e esta funcionando porém estou tentando utiliza-la para fazer a fatorial e o resultado sempre da zero ;-; podem me ajudar 

 

 

algoritmo "semnome"
var
a,b:inteiro

funcao multi(a:inteiro;b:inteiro):real
var aux:real
inicio
se a=0 entao
   retorne 0
senao
   aux <- 0
   enquanto b>0 faca
      aux <- aux+a
      b <- b-1
   fimenquanto
   retorne aux
fimse
fimfuncao

funcao fatorial(a:inteiro):real
var fat,res:real
inicio
enquanto fat > 0 faca
   fat<-a
   fat <- fat - 1
   res <- multi(fat,a)
fimenquanto
retorne res
fimfuncao

inicio
leia(a)
escreval(fatorial(a))
fimalgoritmo

 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Lucaahenr
      Boa tarde pessoal!

      Tenho que fazer um programa em C# que realize o calculo de uma equação de 2° Grau, porem é necessário realizar algumas verificações utilizando IF,  Else e estou tendo dificuldade em realizar estas verificações, gostaria de saber se está correto o que eu fiz ou se tem algum outro modo, segue questão em anexo.

      Muito Obrigado!

      using System; namespace equacaoSegundoGrau { class equacacao { static void Main(string[] args) { double a, b, c, delta; Console.WriteLine("Informe o coeficiente A"); a = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o coeficiente B"); b = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o coeficiente C"); c = double.Parse(Console.ReadLine()); // mesma coisa que a de baixo delta = (b * b) - 4 * a * c; delta = Math.Pow(b, c) - 4 * a * c; if ((a == 0) && (b == 0) && (c != 0)) { Console.WriteLine("Coeficientes informados incorretamente."); } else if ((a == 0) && (b != 0)) { Console.WriteLine("Essa é uma equação de primeiro grau e deverá ser informado o valor da raiz real da equação."); } else if (delta < 0) { Console.WriteLine("Esta equação não possui raízes reais"); } else if (delta == 0) { Console.WriteLine("Esta equação possui duas raízes reais iguais e informar o valor das raízes da equação." + delta); } else if (delta > 0) { Console.WriteLine("Esta equação possui duas raízes reais diferentes."); Console.WriteLine("O valor desta equação é " + delta); } } } }
       
    • By Aurea Maria
      Estou aprendendo a programar e gostaria de saber a resolução dos seguintes problemas 
      Estou mandando o print com os problemas!
       
      Se souberem, vai ser de grande ajuda!


    • By Motta
      Empresa disponibiliza algoritmo do Google em português gratuitamente
    • By Motta
      Novo algoritmo afina capacidade de previsão em sistemas caóticos
    • By Motta
      Toshiba afirma ter criado algoritmo mais rápido que supercomputadores
       
      Notícia sem a fonte original , não achei nada no site da Toshiba,
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.