En este artículo, discutiremos el Do Construct en LISP. Do construct se utiliza para realizar una iteración en un formato estructurado.
Sintaxis :
(do ((variable1 value1 new updated value 1) (variable2 value2 new updated value 2) ------------------------------- ------------------------------- (variable n value n new updated value n) ...) (test statements) )
Aquí,
- las variables son los valores de entrada.
- Los nuevos valores actualizados son los valores que se actualizan en función de la condición dada en el valor.
- Las sentencias de prueba deben ejecutarse al final.
Ejemplo 1 : programa LISP para obtener el valor de incremento y decremento de la pantalla hasta la condición dada
Lisp
;define value 1 to 0 ;define value 2 to 30 (do ((val1 0 (+ 2 val1)) (val2 24 ( - val2 2))) ;display both values until value1 is equal to value2 ;by incrementing value1 by 2 ;by decrementing value2 by 2 ((= val1 val2)(- val2 val2)) ;display (format t "~% value 1 = ~d and value 2 = ~d" val1 val2) )
Producción:
value 1 = 0 and value 2 = 24 value 1 = 2 and value 2 = 22 value 1 = 4 and value 2 = 20 value 1 = 6 and value 2 = 18 value 1 = 8 and value 2 = 16 value 1 = 10 and value 2 = 14
Ejemplo 2: programa LISP para mostrar todo hasta que el valor 1 sea mayor que el valor 2 mediante la realización de operaciones de incremento y disminución
Lisp
;define value 1 to 0 ;define value 2 to 30 (do ((val1 0 (+ 2 val1)) (val2 24 ( - val2 2))) ;display both values until value1 is greater than value2 ;by incrementing value1 by 2 ;by decrementing value2 by 2 ((> val1 val2)(- val2 val2)) ;display (format t "~% value 1 = ~d and value 2 = ~d" val1 val2) )
Producción:
value 1 = 0 and value 2 = 24 value 1 = 2 and value 2 = 22 value 1 = 4 and value 2 = 20 value 1 = 6 and value 2 = 18 value 1 = 8 and value 2 = 16 value 1 = 10 and value 2 = 14 value 1 = 12 and value 2 = 12
Publicación traducida automáticamente
Artículo escrito por saisravanprojects y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA