diff --git a/Волынкина Мария/README.md b/Волынкина Мария/README.md new file mode 100644 index 0000000..9224b3e --- /dev/null +++ b/Волынкина Мария/README.md @@ -0,0 +1,9 @@ +# Минимизация операций cons +## Ссылка на видеоразбор +https://youtu.be/BFy0zovZw6Y +## Код из книги + #let rev = + let rec reverse acc = + fun [] -> acc + | (h::t) -> reverse (h::acc) t in + reverse [];; diff --git a/Волынкина Мария/cons-minimization.rkt b/Волынкина Мария/cons-minimization.rkt new file mode 100644 index 0000000..c590b12 --- /dev/null +++ b/Волынкина Мария/cons-minimization.rkt @@ -0,0 +1,6 @@ +#lang racket +(define (rev lst) ; косвенно рекурсивная функция, вызывающая обращение списка + (define (reverse acc lst) ; явно рекурсивная функция + (if (null? lst) acc + (reverse (cons (car lst) acc) (cdr lst)))) + (reverse '() lst)) \ No newline at end of file