Ознайомлення з застосуванням масивів, способами перетворення списків в масиви та навпаки, основними стандартними функціями обробки масивів

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Лабораторна робота №7

Робота з масивами.

Ціль роботи: ознайомитися з застосуванням масивів, способами перетворення списків в масиви та навпаки, основними стандартними функціями обробки масивів.

Задача: написати програму, виконуючу зазначені дії в зазначеній послідовності. В програмі вікористати функції визначення масиву, виділення елемента масиву, організації циклів для операцій з членами масиву.

Приклади:

Визначення одномірного масиву (1Выделение памяти):

(SETQ A (MAKE-ARRAY 5))

Визначення двумірного масиву:

(SETQ A2 (MAKE-ARRAY '(4 3 ))  )

Введення одномірного масиву з клавіатури:

(defun Z1(N) (DOTIMES (K N) (SETF (AREF A K)(READ)) ))

Массив A1(M) зі списку L з виводом на екран :

(defun Z(L M)(PROG() (SETQ A1 (MAKE-ARRAY 5))

(DOTIMES (K M)

(PROGN (SETF (AREF A1 K)(CAR L)) (PRIN1 (AREF A1 K))(PRINC " ")

                       (SETQ L (CDR L)) ))    ))

Перетворення двумірного масиву A(M N) в список:

   (DEFUN MS (A M N)(PROG (L ) (DOTIMES (I M) (DOTIMES (K N)

      (SETQ L (APPEND L (LIST (AREF A I K))) ) ))

                                 (RETURN L) ))

Заданий список перетворити в двумірний массив (4*4), всі числа масива замінити нулями.

(setq l (list 'a 'b 'c 'd 1 2 3 4 'e 'f 'g 'h 5 6 7 8))

(defun f(l) (prog() (setq s (make-array '(4 4)))

(dotimes (i 4) (dotimes (k 4)

(progn (setf (aref s i k)

(cond ((null l) nil)

((not (symbolp (car l))) 0 ) (t (car l))))

(setq l (cdr l))

(prin1 (aref s i k))

(princ " "))) (print '!))))

Результат роботи програми:

> (f l)

A B C D !

0 0 0 0 !

E F G H !

0 0 0 0 !

NIL

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.