Ir para conteúdo
  • 0
4ly

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

Pergunta

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

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Crie uma conta ou entre para comentar

Você precisar ser um membro 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

  • Conteúdo Similar

    • Por alexdyna
      Prezados,
      Amigos tenho que fazer um trabalho da faculdade onde o professor me da um arquivo que vou colocar anexo e tenho que fazer um algoritmo que leia o arquivo e monte uma tabela com as informações.
      pelo que vejo ele tem na primeira linha 8 barra e nas demais linha 10 barras
      ate a ultima que seria sua parada onde temos 2 barras seguidas.
       
      ficaria muito grato com a ajuda de todos.
       
      No arquivo anexo esta o texto:
      Nome/telefone/nascimento/Horas Curso/vendas T1/vendas T2/vendas T3/vendas T4/
       Luiz Ranza Neo/99934-5255/05/12/1989/200/107099,072578621/76915,8996218681/100922,271239691/76372,9971916498/
      Richard de Barrissaia/99326-4689/18/03/1990/150/55123,0080621828/68062,2200055909/67233,9928593779/45236,5928531083/
      Rodrigo Abalâminos/99911-7413/09/08/1987/168/71697,3866071191/58063,5644108225/88183,6230762134/48160,3116315664/
      José Gigfrid/99658-7874/15/04/1997/135/48816,199086596/50086,3689415844/52916,3066872779/55232,0663463164/
      Luiza Celly Silva/99659-1214/01/02/2000/90/29208,8223591438/39361,8088384592/45062,056112236/38913,7237126574/
      Maria Kunlun/99686-7845/21/04/1984/182/92076,1053757689/80440,5339844205/87575,0546657182/79220,9398178354/
      //
       
    • Por janainacarrier@gmail.com
      A manutenção dos ares condicionados no hotel são realizadas por empresas terceirizadas que, em alguns casos, oferecem desconto quando o serviço é realizado em uma quantidade determinada de aparelhos. A partir desse contexto:
      a. Crieumafunçãoouprocedimentoquerecebaonomedaempresa, o valor do serviço por aparelho, a quantidade de aparelhos em manutenção, o percentual de desconto (que pode ser zero) e a quantidade mínima de aparelhos para que o desconto seja dado.
      b. Calculenessafunção/procedimentoovalortotaldoserviçoapartir do valor por aparelho e da quantidade de aparelhos. Aplique sobre esse valor o desconto, caso a quantidade de aparelhos seja maior que a mínima informada para que haja desconto. Ao fim mostre a mensagem “O serviço de [nome da empresa] custará R$ [total calculado]”.
      c. Concluída a função ou procedimento, monte um algoritmo que permita que o usuário informe várias empresas e os outros dados necessários para o cálculo, usando a função/procedimento para mostrar o total orçado de cada empresa. Termine o algoritmo quando o usuário responder ‘N’ à mensagem “Deseja informar novos dados? (S/N)”.
    • Por janainacarrier@gmail.com
      A manutenção dos ares condicionados no hotel são realizadas por empresas terceirizadas que, em alguns casos, oferecem desconto quando o serviço é realizado em uma quantidade determinada de aparelhos. A partir desse contexto:
      a. Crieumafunçãoouprocedimentoquerecebaonomedaempresa, o valor do serviço por aparelho, a quantidade de aparelhos em manutenção, o percentual de desconto (que pode ser zero) e a quantidade mínima de aparelhos para que o desconto seja dado.
      b. Calculenessafunção/procedimentoovalortotaldoserviçoapartir do valor por aparelho e da quantidade de aparelhos. Aplique sobre esse valor o desconto, caso a quantidade de aparelhos seja maior que a mínima informada para que haja desconto. Ao fim mostre a mensagem “O serviço de [nome da empresa] custará R$ [total calculado]”.
      c. Concluída a função ou procedimento, monte um algoritmo que permita que o usuário informe várias empresas e os outros dados necessários para o cálculo, usando a função/procedimento para mostrar o total orçado de cada empresa. Termine o algoritmo quando o usuário responder ‘N’ à mensagem “Deseja informar novos dados? (S/N)”.
    • Por janainacarrier@gmail.com
      1
      Considerando que o hotel tenha 20 quartos, desenvolva um algoritmo para marcar a ocupação de cada quarto. No início todos os quartos estão livres. O usuário informará então o número do quarto (de 1 a 20); o sistema questionará “O quarto está livre ou ocupado? (L/O)”; o usuário informará L ou O e o sistema registrará essa escolha para o quarto. Caso o usuário informe “O”, mas o quarto já está marcado como ocupado, mostre na tela “Quarto já está ocupado”. Pergunte ao usuário se ele deseja continuar e caso positivo, repita a operação. Ao fim, mostre o status de cada quarto.
       
      2
      Escreva um algoritmo que receba os nomes e sexos de 5 hóspedes. Depois disso, mostre, separadamente, primeiro todos os nomes dos hóspedes do sexo feminino e depois todos os nomes das hóspedes do sexo masculino.
       
      em Portugol 
       
      3
      Monte um algoritmo em que o usuário poderá cadastrar e pesquisar hóspedes. O algoritmo deve oferecer um menu com três opções ao usuário: 1- cadastrar; 2- pesquisar; 3- sair. A opção “cadastrar” deve permitir que o usuário informe um nome de hóspede, gravando-o em memória (máximo de 15 cadastros; caso atinja essa quantidade, mostre “Máximo de cadastros atingido”). A opção “pesquisar” deve permitir que o usuário informe um nome e, caso seja encontrado um nome exatamente igual, mostre a mensagem “Hospede (nome) foi encontrado no índice (índice onde foi cadastrado)”. Se o nome não foi encontrado mostre “Hóspede não encontrado”. O algoritmo deve permitir que o usuário realize essas operações repetidas vezes, até que use a opção “3”, que encerra o algoritmo.
×

Informação importante

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