![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
RussoTuristo |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 80 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задание: Написать программу подсчета количества атомов в заданном интервале уровней для заданного списка.
Код (setq m nil);количество атомов (setq A '( 11 12 13 14 15 16 ( 11 12 13 14) 18));список (setq a1 2);левая граница (setq a2 6);правая граница //(setq a1 (getint "element1:")) //(setq a2 (getint "element2:")) (setq p (- a2 a1)); количество элементов в "нужной части" (setq n a1) (while (> n 0);отрезаю "голову" списка, чтобы оставить только нужную для анализа часть (progn (cdr A) (- n 1)) ) (setq z 0) (while (> p 0) ; Проверяю является ли текущий элемент списка атомом (progn (if (= Atom(nth z 'A) T) (+ 1 m) ; Если да, то увеличиваю m ) (+ z 1)); наращиваю z, чтобы посмотреть след. элемент списка (setq p (- p 1)); Пока не просмотрю все элементы из нужной части ) (print m); Вывод m Вроде всё нормально, не уверен с проверкой на то, является ли элемент атомом, просто не очень удобный Компилятор, не понимаю, что не так... |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 13:44 |