Ir ao conteúdo
  • Cadastre-se

Rpa007

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Olá pessoal. Tenho que fazer um exercício como descrito no título, que converta números romanos em decimal, usando a linguagem Pascal. Assuntos que já vi: Manipulando Strings, REPEAT, FOR, WHILE, CASE e IF. Sei que o maior número possível a ser formado será 3999 (MMMCMXCIX), que tem 9 caracteres. Creio que a chave do programa está em conseguir definir quando terei que subtrair ou somar tal valor. Ex: IV = 4 e VI = 6, XC = 90 e CX = 110. A posição e a quantidade de caracteres é o que define, pelo que entendi. Dúvidas: 1) Lógica: será isso mesmo de verificar o tamanho do algarismo, e fazer: IF length(algarismo) = 1 then WRITELN('O algarismo é...) ~ continuação ~~ ELSE Begin IF length(algarismo) = 2 then Begin IF algarismo[2] > algarismo[1] then algarismo := algarismo[2] - algarismo[1] ELSE algarismo := algarismo [1] - algarismo [2] ... (no caso, será apenas 1, 5, 10, 50, 100, 500, 1000 os valores possíveis, já que são os únicos de 1 algarismo.) O "algarismo[1]" seleciona a primeira letra da variável algarismo, que foi definida como uma string. Da mesma forma o [2]. 2) Begin writeln('Digite o número em algarismos romanos:'); readln(alg); M := 1000; D := 500; I := 1; V := 5; X := 10; L := 50; C := 100; IF length(alg) = 1 then writeln('O número em decimal é ',alg,'.'); readln; End. No código acima, o valor continua sendo exibido em romano (ou seja, ele exibe o mesmo valor que eu digitei.) Como faço para passar a valer o valor em decimal? Ex: Digitei X, é para mostrar 10, porém programa ainda mostra X. 3) Há alguma lógica que funcione melhor para este programa, com os assuntos que eu aprendi? Desculpem-me pelo grande número de perguntas, porém não achei nenhum tópico com dúvidas parecidas. Desde já, agradeço. ___ Tabela com alguns números, para consulta:

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...