Jump to content
irwingato

Crie um algoritmo que receba do usuário um número romano e converta em arábico

Recommended Posts

Var
   // Seção de Declarações das variáveis
   romano:caractere
   subtexto :caractere
   i:inteiro
   letra1:caractere


Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   escreval("Digite um número em romano para ser convertido em arábico")
   escreval("menor que 4000 e maior que 0")
   leia(romano)
   para i de 1 ate Compr(romano) faca
      subtexto <- Copia(romano,i,1)

      escreval(subTexto)

      fimpara

Consegui fazer somente isso, o problema está na hora de salvar letra por letra num vetor e saber a posição de cada letra pois se for uma letra menor que a posterior subtrai-se um exemplo é o X antes de C subtrai-se 10 ficando 90 e quando o C vale 100 e quando vem antes de um número maior que ele um exemplo é D ficando 400, acho que somente a letra I, X, C, subtraem-se se estiver antes de um número maior o resto soma-se, o problema está em saber a posição da letra.

Alguém  tem alguma ideia?

 

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 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.