From aeb8ad77fa88b58e388395a3f642f1e870eeca77 Mon Sep 17 00:00:00 2001 From: Dmitriy Gorshenin Date: Thu, 12 May 2022 19:00:52 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B8=D0=BD=D0=B8=D0=BC=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B9=20cons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Волынкина Мария/README.md | 9 +++++++++ Волынкина Мария/cons-minimization.rkt | 6 ++++++ 2 files changed, 15 insertions(+) create mode 100644 Волынкина Мария/README.md create mode 100644 Волынкина Мария/cons-minimization.rkt 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