Интерактивный туториал в браузере по lisp (новый)
Формулировка задачи:
http://trycode.io/
Решение задачи: «Интерактивный туториал в браузере по lisp (новый)»
textual
Листинг программы
(define (^2 x) (* x x)) (define (map-lst lst action) (cond ((null? lst) '()) ('t (cons (action (car lst)) (map-lst (cdr lst) action))))) (display (map-lst '(2 3 4 5) ^2))
Объяснение кода листинга программы
- Определена функция
^2
, которая принимает один аргументx
и возвращает его возведение в квадрат:(define (^2 x) (* x x))
- Определена функция
map-lst
, которая принимает два аргумента:lst
- список, иaction
- действие, которое нужно применить к каждому элементу списка. Функция возвращает новый список, в котором каждый элемент получен путем применения указанного действия к соответствующему элементу исходного списка. Если список пуст, возвращается пустой список: `(define (map-lst lst action) (cond ((null? lst) '()) ('t (cons (action (car lst)) (map-lst (cdr lst) action))))) - Вызывается функция
map-lst
с аргументами'(2 3 4 5)
(список чисел) и^2
(действие, которое представляет собой возведение в квадрат). Результат этого вызова функции присваивается переменнойresult
:(display (map-lst '(2 3 4 5) ^2))
. - Результат выводится на экран с помощью функции
display
. В данном случае, на экран будет выведен список[4, 9, 16, 25]
, так как каждый элемент исходного списка был возведен в квадрат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д