Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Do Construct in LISP

  • Last Updated : 09 Nov, 2021

In this article, we will discuss the Do Construct in LISP. Do construct is used to perform an iteration in a structured format.

Syntax:

(do ((variable1    value1   new updated value 1)
    (variable2   value2   new updated value 2)
-------------------------------
-------------------------------
    (variable n   value n    new updated value n)
 ...)
 (test statements)  
)

Here,

  1. variables are the input values.
  2. new updated values are the values that are updated based on the condition given in the value.
  3. test statements are to be executed at the final.

Example 1: LISP Program to get value increment and decrement display until the given condition

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

Output:

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

Example 2: LISP Program to display all till value 1 is greater than value 2 by performing increment and decrement operations

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

Output:

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


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!