Jump to content
danielzamignani

Existe uma maneira de simplificar mais esse meu algoritimo?

Recommended Posts

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

 

Share this post


Link to post
Share on other sites

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 luizrufino
      Boa tarde pessoal, estou com dificuldade para 
      desenvolver as linhas de códigos de um problema.
       
      Escreva um algoritmo em potrugol que leia o NOME do responsável e o número de filhos matriculados em uma escolinha de futebol. com mensalidade de $120,00, imprimir o valor que o responsável vai pagar, baseando-se na seguinte tabele de descontos
       
      filhos matriculados        Desconto
       1                                             10%
       2 a 3                                       15%
      acima de  3                             20
       
      Se alguém puder me ajudar, pode ser somente a estrutura básica.
    • By pedrof
      algoritmo "Bhaskara" var a, b, c, delta, raiz_delta, x1, x, x_delta, x2: Real inicio Escreva("Informe um numero inteiro diferente de 0: ") Leia(a) Escreva("Informe outro numero inteiro diferente de 0: ") Leia(b) Escreva("Novamente, informe outro numero inteiro diferente de 0: ") Leia(c) delta <- (b^2-4*a*c) Se (delta<0) entao delta <- Abs(delta) raiz_delta <- (RaizQ(delta)) x <- (b-b*2)/(2*a) x_delta <- raiz_delta/(2*a) x1 <- (x, "+", x_delta, "i") x2 <- (x, "-", x_delta, "i") Escreval("Utilizando ", a, " como 'a', ", b, " como 'b', ", c, " como 'c' em Delta e aplicando a ") Escreval("Formula de Bhaskara, chegamos ao resultado:) Escreva("x1 = ", x1, " e x2 ", x2) FimSe fimalgoritmo

      Parece ser algo bem idiota, mas não estou conseguindo resolver... Ajuda?
    • By Montesuma Oliveira
      Olá aos mestres do algoritmo com VisuAlg, tenho o seguinte algoritmo:
       
      algoritmo "Estrutura Indexadas - Vetor(Array)" // Seção de Declarações var indice, qtd_Veiculos, tot_Veiculos : inteiro nome_veiculo: vetor [1..40] de caractere inicio // Seção de Comandos escreval("Digite a Quantidade de Veículos para Cadastrar ou -1 Para Sair: ") leia(qtd_Veiculos) enquanto qtd_Veiculos <> -1 faca    para indice de 1 ate qtd_Veiculos faca       escreva("Digite o Nome do Veículo: ")       leia(nome_veiculo[indice])    fimpara    tot_Veiculos <- 0    tot_Veiculos <- (tot_Veiculos + (indice + 1))    escreval("Digite a Quantidade de Veículos para Cadastrar ou -1 Para Sair: ")    leia(qtd_Veiculos) fimenquanto para indice de 1 ate tot_Veiculos faca    escreval("O Veículo ", nome_veiculo[indice], " tem o índice ", indice) fimpara fimalgoritmo Estou usando vetor, o que acontece é o seguinte, por exemplo, digite dois veículos, quando ele retorna perguntando se quero encerrar, eu digo que quero incluir mais dois veículos, ao digitar -1 para sair, ele imprime somente os dois últimos veículos cadastrados e não 4 veículos, que deveria ser o correto, conforme figura anexa. Onde estou errando? Fico no aguardo de ajuda, muito grato.
       
       
       
       
       
       
       
       
       
       
       

    • 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 4ly
      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  
×

Important Information

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