Действия с векторами и файлами - Lisp

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

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

Сформировать в виде файла два вектора размерности не более 8, найти их разность и ответ записать в файл

Решение задачи: «Действия с векторами и файлами»

textual
Листинг программы
(defun task ()
  (let ((fo (gensym 'fo))
        (fi (gensym 'fi))
        (v1 nil)
        (v2 nil)
        (v  nil))
      (filOpen fo "v1.txt" _OUTPUT)
      (filPutLine fo "(1 2 3 4 5 6 7 8)")
      (filClose fo) 
      (filOpen fo "v2.txt" _OUTPUT)
      (filPutLine fo "(11 22 33 44 55 66 77 88)")
      (filClose fo)
      (filOpen fi "v1.txt" _INPUT)
      (setq v1 (input (filGetLine fi)))
      (filClose fi)  
      (filOpen fi "v2.txt" _INPUT)
      (setq v2 (input (filGetLine fi)))
      (filClose fi)  
      (setq v (mapcar '- v2 v1))
      (filOpen fo "v3.txt" _OUTPUT)
      (filPutLine fo (output v))
      (filClose fo)
      'OK))

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

В данном коде представлена реализация задачи с использованием языка программирования Lisp.

  1. Создается функция с именем task, которая выполняет следующие действия:
  2. Создаются четыре переменные:
    • fo - генератор символьное имя файла для записи;
    • fi - генератор символьное имя файла для чтения;
    • v1 - пустой вектор;
    • v2 - пустой вектор.
  3. Открывается файл fo для записи и записывается строка (1 2 3 4 5 6 7 8).
  4. Файл fo закрывается.
  5. Открывается файл fo для записи и записывается строка (11 22 33 44 55 66 77 88).
  6. Файл fo закрывается.
  7. Открывается файл fi для чтения и считывается первая строка, которая сохраняется в переменной v1.
  8. Файл fi закрывается.
  9. Открывается файл fi для чтения и считывается вторая строка, которая сохраняется в переменной v2.
  10. Файл fi закрывается.
  11. Выполняется операция вычитания над векторами v2 и v1, результат сохраняется в переменной v.
  12. Открывается файл fo для записи и записывается строка (output v), содержащая результат вычитания.
  13. Файл fo закрывается.
  14. Возвращается значение 'OK'.

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


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

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

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