InicioCiencia EducacionPrograma para convertir a números romanos en LISP

Programa para convertir a números romanos en LISP

Bueno con este algoritmo se pueden convertir los números arábigos a números romanos en el lenguaje de common lisp 



(defun romano ()
 (let ((A nil))
   (loop
      (cond
         ;; Regla (a) 
         ((null A) (format t "Teclea un numero entero: " ) (setq A (read)))
         ;; Regla (b) 
         ((and (not (null A)) (> A 100))
          (format t "Numero demasiado grande" ) (setq A nil))
;;Regla (c)
((and (not (null A)) (>= A 40) (<= A 49) )
 (prin1 'xL) (setq A (- A 40)) )
;;Regla (d)
((and (not (null A)) (>= A 49) (<= A 89) )
 (prin1 'l) (setq A (- A 50)) )
;;Regla (d)
((and (not (null A)) ( = A 100) (>= a 100))
 (prin1 'c) (setq A (- A 100)) )
;;Regla (e)
((and (not (null A)) (>= A 89) (<= A 100) )
 (prin1 'XC) (setq A (- A 90)) )
         ;; Regla (f) 
         ((and (not (null A)) (<= A 100) (>= A 10))
          (prin1 'X) (setq A (- A 10))  )
         ;; Regla (g)
         ((and (not (null A)) (= A 9))
          (prin1 'ix) (setq A 0) )
         ;; Regla (h) 
         ((and (not (null A)) (>= A 5) (<= 10))
          (prin1 'v) (setq A (- A 5)) )
         ;; Regla (i) 
         ((and (not (null A)) (= A 4))
          (prin1 'iv) (setq A 0) )
         ;; Regla (j) 
         ((and (not (null A)) (<= A 3) (>= A 1))
          (prin1 'i) (setq A (1- A)) )
;; Regla (k) 
         ((zerop a) (setq a nil) (terpri))
      ))))


bueno solo tienes que copiar el algoritmo y lo ejecutas de la siguiente manera:


primero abres el interprete que quieras en mi caso es GNU CLISP





después copias el texto 





luego te vas a al intérprete y pegas el código de la siguiente manera 







cuando ya se haya copiado le das enter y mandas a llamar  a la función escribiendo (romano)





por ultimo les va aparecer "teclea un numero entero" que es el que van a convertir y en la parte de abajo les va a aparecer el numero ya convertido a romano.





y bueno ya está el programa 



Datos archivados del Taringa! original
0puntos
1,301visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

A
Agueditha🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.