Определить значение в каждой строчке - Lisp

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. совсем запуталась, очень важная контрольная
  2. 1.1. (Defun Izm(x) (Setq x 'новое)) ->
  3. (Setq x 'старое) ->
  4. (Izm x) ->
  5. x->
  6. Старое->
  7. (Izm 'x) ->
  8. x->
  9. 1.2. (Defun Izm(x) (Set x 'новое))->
  10. (Setq x 'старое) ->
  11. (Izm x) ->
  12. x ->
  13. Старое->
  14. (Izm 'x)->
  15. x->
  16. 2.
  17. 1.1. (Defun Izm(x) (Eval 'x)) ->
  18. (Setq x 'старое) ->
  19. (Izm 'новое) ->
  20. x ->
  21. (Izm 'x) ->
  22. x ->
  23. (Izm x) ->
  24. x ->
  25. 1.2. (Defun Izm(x) (Eval x)) ->
  26. (Setq x 'старое) ->
  27. (Izm 'новое) ->
  28. x->
  29. (Izm 'x) ->
  30. x ->
  31. (Izm x) ->
  32. x ->
  33. (Setq новое 8)->
  34. (Izm 'новое) ->
  35. (Setq старое 5) ->
  36. (Izm x) ->

Решение задачи: «Определить значение в каждой строчке»

textual
Листинг программы
  1. [1]> (defun izm(x) (setq x 'новое))
  2. IZM
  3. [2]> (setq x 'старое)
  4. СТАРОЕ
  5. [3]> (izm x)
  6. НОВОЕ
  7. [4]> x
  8. СТАРОЕ
  9. [5]> Старое
  10.  
  11. *** - SYSTEM::READ-EVAL-PRINT: variable СТАРОЕ has no value
  12. Имеются следующие варианты продолжения:
  13. USE-VALUE      :R1      Input a value to be used instead of СТАРОЕ.
  14. STORE-VALUE    :R2      Input a new value for СТАРОЕ.
  15. ABORT          :R3      Прервать главный цикл
  16. Break 1 [6]>
  17. [7]> (izm 'x)
  18. НОВОЕ
  19. [8]> x
  20. СТАРОЕ
  21. [9]>
  22.  
  23. (defun izm(x) (set x 'новое))
  24. IZM
  25. [10]> (setq x 'старое)
  26. СТАРОЕ
  27. [11]> (izm x)
  28. НОВОЕ
  29. [12]> x
  30. СТАРОЕ
  31. [13]> Старое
  32. НОВОЕ
  33. [14]> (izm 'x)
  34. НОВОЕ
  35. [15]> x
  36. НОВОЕ
  37. [16]>
  38.  
  39. (defun izm(x) (eval 'x))
  40. IZM
  41. [17]> (setq x 'старое)
  42. СТАРОЕ
  43. [18]> (izm 'новое)
  44. СТАРОЕ
  45. [19]> x
  46. СТАРОЕ
  47. [20]> (izm 'x)
  48. СТАРОЕ
  49. [21]> x
  50. СТАРОЕ
  51. [22]> (izm x)
  52. СТАРОЕ
  53. [23]> x
  54. СТАРОЕ
  55. [24]>
  56.  
  57. (defun izm(x) (eval x))
  58. IZM
  59. [25]> (setq x 'старое)
  60. СТАРОЕ
  61. [26]> (izm 'новое)
  62.  
  63. *** - EVAL: variable НОВОЕ has no value
  64. Имеются следующие варианты продолжения:
  65. USE-VALUE      :R1      Input a value to be used instead of НОВОЕ.
  66. STORE-VALUE    :R2      Input a new value for НОВОЕ.
  67. ABORT          :R3      Прервать главный цикл
  68. Break 1 [27]>
  69. [28]> x
  70. СТАРОЕ
  71. [29]> (izm 'x)
  72. СТАРОЕ
  73. [30]> x
  74. СТАРОЕ
  75. [31]> (izm x)
  76. НОВОЕ
  77. [32]> x
  78. СТАРОЕ
  79. [33]> (setq новое 8)
  80. 8
  81. [34]> (izm 'новое)
  82. 8
  83. [35]> (setq старое 5)
  84. 5
  85. [36]> (izm x)
  86. 5

Объяснение кода листинга программы

[1]> (defun izm(x) (setq x 'новое)) IZM [2]> (setq x 'старое) СТАРОЕ [3]> (izm x) НОВОЕ [4]> x СТАРОЕ [5]> - SYSTEM::READ-EVAL-PRINT: variable СТАРОЕ has no value Имеются следующие варианты продолжения: USE-VALUE      :R1      Input a value to be used instead of СТАРОЕ. STORE-VALUE    :R2      Input a new value for СТАРОЕ. ABORT          :R3      Прервать главный цикл Break 1 [6]> [7]> (izm 'x) НОВОЕ [8]> x СТАРОЕ [9]> (defun izm(x) (set x 'новое)) IZM [10]> (setq x 'старое) СТАРОЕ [11]> (izm x) НОВОЕ [12]> x СТАРОЕ [13]> - SYSTEM::READ-EVAL-PRINT: variable СТАРОЕ has no value Имеются следующие варианты продолжения: USE-VALUE      :R1      Input a value to be used instead of СТАРОЕ. STORE-VALUE    :R2      Input a new value for СТАРОЕ. ABORT          :R3      Прервать главный цикл Break 1 [14]> [15]> (izm 'x) НОВОЕ [16]> x СТАРОЕ [17]> (defun izm(x) (eval 'x)) IZM [18]> (setq x 'старое) СТАРОЕ [19]> (izm 'новое) СТАРОЕ [20]> x СТАРОЕ [21]> (izm x) СТАРОЕ [22]> x СТАРОЕ [23]> - EVAL: variable НОВОЕ has no value Имеются следующие варианты продолжения: USE-VALUE      :R1      Input a value to be used instead of НОВОЕ. STORE-VALUE    :R2      Input a new value for НОВОЕ. ABORT          :R3      Прервать главный цикл Break 1 [24]> [25]> (izm 'x)   - EVAL: variable НОВОЕ has no value Имеются следующие варианты продолжения: USE-VALUE      :R1      Input a value to be used instead of НОВОЕ. STORE-VALUE    :R2      Input a new value for НОВОЕ. ABORT          :R3      Прервать главный цикл Break 1 [26]> [27]> x СТАРОЕ [28]> (izm 'x) СТАРОЕ [29]> x СТАРОЕ [30]> (izm x) НОВОЕ [31]> (setq новое 8) 8 [32]> (izm 'новое) 8 [33]> (setq старое 5) 5 [34]> (izm x) 5 [35]> x 5

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы