#lang racket (define (rev lst) (if (null? lst);ф-я принимает пустой список lst;возвращает пустой список (if (= 1 (length lst));ф-я принимает список из 1 элемента lst; возвращает список из 1 элемента ;в списке можно выделить голову и хвост (append (rev (cdr lst)); запускаем rev для хвоста (cdr - хвост) (list(car lst));возвращаем голову (car - голова) ) ) ) ) (writeln(rev(rev '(1 2 3 4))))