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

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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 Articulando
      Galera, seguinte. Estou tentando criar um evento em javascript que funciona da seguinte maneira; existem 5 checkbox na tela, ao selecionar dois checkbox os outros irão travar e não permitir o clique, se o usuário clicar novamente retirando a seleção de algum dos que foi selecionado ele volta a habilitar. Até então o código funciona blz, porém agora eu preciso fazer com que os dois primeiros checkbox contém como um único clique, ou seja, são 2 checkbox para travar, porém se eu selecionar o primeiro e o segundo eles contam como um, então eu o usuário poderia realizar outro clique em algum checkbox e ficariam 3 checkbox selecionados, porém isso só se aplica aos dois primeiros checkbox, caso não sejam eles é apenas dois cliques, se eles forem clicados o usuário pode escolher mais uma opção.
       
      o código atual está assim:
       
      <script type="text/javascript">
                  (function(){
                      "use strict";
                      var marcados = 0;
                      var verifyCheckeds = function($checks) {
                          if( marcados>=2 ) {
                              loop($checks, function($element) {
                                  $element.disabled = $element.checked ? '' : 'disabled';
                              });
                          } else {
                              loop($checks, function($element) {
                                  $element.disabled = '';
                              });
                          }
                      };
                      var loop = function($elements, cb) {
                          var max = $elements.length;
                          while(max--) {
                              cb($elements[max]);
                          }
                      }
                      var count = function($element) {
                          return $element.checked ? marcados + 1 : marcados - 1;
                      }
                      window.onload = function(){
                          var $checks = document.querySelectorAll('input[type="checkbox"][name="modalidades[]"]');
                          loop($checks, function($element) {
                              $element.onclick = function(){
                                  marcados = count(this);
                                  verifyCheckeds($checks);
                              }
                              if($element.checked) marcados = marcados + 1;
                          });
                          verifyCheckeds($checks);
                      }
                  }());
              </script>
       
       
      Quem conseguir me ajudar eu agradeço, preciso muito desse código rodando. 
    • By Roberto S. Santos
      Bom dia meus amigos.
      Alguém saberia como eu faço pra enviar o meu (textbox1) salvando na base de dados do meu server wamp ?
      Tipo um botão pra enviar.
      Estou usando o VB.NET 2015 com server wamp.
      Agradeço.
    • By mvtp
      Procuro alguém que saiba criar site . Tenho uma idéia de produto,porém não sei programar
    • By marizita
      algoritmo "semnome"
      // Função :
      // Autor :
      // Data : 17/06/2019
      // Seção de Declarações 
      var
      i,j,aux:inteiro
      Matriz_A: vetor [1..3,1..3] de inteiro
      Matriz_B: vetor [1..3,1..3] de inteiro
      matriz_C: vetor [1..3,1..3] de inteiro

      inicio
      // Seção de Comandos 
      // VETOR A
      para i de 1 ate 3 faca
           para j de 1 ate 3 faca
            escreval ("matriz A: coluna:",i,"linha:",j)
            escreval ("informe o valor da posicao: [",i,"]: [",j,"]:")
            leia(matriz_A[i,j])
         fimpara
        fimpara
        limpatela

      //VETOR B
      para i de 1 ate 3 faca
         para j de 1 ate 3 faca
            escreval ("matriz B: coluna:",i,"linha:",j)
            escreval ("informe o valor da posicao: [",i,"]: [",j,"]:")
            leia(matriz_B[i,j])
         fimpara
         fimpara
        limpatela
        
        //VETOR C
        Para i de 1 ate 3 faca
              Para j de 1 ate 3 faca
                  matriz_C [i,j] <- ( matriz_A[i,1] * matriz_B[1,j] ) + (matriz_A[i,2] * matriz_B[2,j] ) + (matriz_A[i,3] * matriz_B[3,j] )
                  Escreval("matriz_C ",i , " x ",j , " : ", matriz_C [i,j])
              Fimpara
          Fimpara
    • By danielzamignani
      Bom dia galera!
      Então, eu fiz esse algoritimo para resolver um exercicio (Faça um Programa que leia três números e mostre-os em ordem decrescente). Ele esta funcional, tudo certinho(eu acho). O que eu realmente queria saber é se existe uma forma de eu simplificar ele utilizando apenas as estruturas condicionais ou se dessa forma que eu fiz já é o mais simples possivel ?
      Valeu pela atenção pessoal!!!
      Segue o codigo criado no visualg
       
      //Faça um Programa que leia três números e mostre-os em ordem decrescente algoritmo "ex009" var n1, n2, n3: inteiro inicio escreva("Primeiro numero: ") leia(n1) escreva("Segundo numero: ") leia(n2) escreva("Terceiro numero: ") leia(n3) se (n1<n2) e (n2<n3) entao escreva(n3,n2,n1) senao se (n1<n3) e (n3<n2) entao escreva(n2,n3,n1) senao se (n2<n1) e (n1<n3) entao escreva(n3,n1,n2) senao se (n2<n3) e (n3<n1) entao escreva(n1,n3,n2) senao se (n3<n1) e (n1<n2) entao escreva(n2,n1,n3) senao se (n3<n2) e (n2<n1) entao escreva(n1,n2,n3) fimse fimse fimse fimse fimse fimse fimalgoritmo  
×

Important Information

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