Вопросы по теме 'r5rs'
Улучшение примера производных на схеме
Я пытаюсь сделать калькулятор производных схем более приемлемым для входных данных, начиная с процедуры суммы и, в конечном итоге, с продукта. Я пытался изменить процедуру, чтобы принимать входные данные в форме (deriv '(* x y (+ x 3)) 'x) вместо...
625 просмотров
schedule
28.09.2021
Схема - Удаление подсписок из списков списков
У меня есть список списков, например. ((x y z) (y z) (x y)) , и мне было интересно, может ли в R5RS Scheme быть способ удалить только подсписки из этого списка: например. (y z) - это подсписок, поскольку он уже находится «внутри» (x y z)) ,...
951 просмотров
schedule
28.09.2021
Как я могу получить список до последнего вхождения элемента из списка?
Я использую схему R5RS.
Учитывая список с несколькими записями, я хотел бы вернуть этот список до последнего появления данного элемента.
Итак, для следующего ввода:
Список '("hi" "how" "are" "you") Ключевое слово "you"
Мне нужен...
613 просмотров
schedule
06.11.2021
Ракетка переменная память
Учитывая этот код:
(define (wrapper n)
(define (sum-ints)
(set! n (+ n 1))
(display n)(newline)
(if (= n 3)
n
(+ n (sum-ints))))
(sum-ints))
Вызов этой процедуры с помощью n = 0
(wrapper 0)...
47 просмотров
schedule
15.10.2021
Можно ли получить код R5RS для работы с SchemeUnit?
В классе, который я веду, мы используем старый стандарт схемы R5RS для решения задач SICP. Мне нравится сначала тестировать разработку, поэтому я решил, что фреймворк для модульного тестирования будет неплохим, и выбрал SchemeUnit для написания...
195 просмотров
schedule
20.02.2022
Схема получения последнего элемента в списке
Я пытаюсь написать простую функцию схемы, которая возвращает последний элемент списка. Моя функция выглядит так, как будто она должна работать, но у меня что-то не получилось:
(define (last_element l)(
(cond (null? (cdr l)) (car l))...
27294 просмотров
schedule
17.03.2022
Использование определенной процедуры в качестве аргумента дает другой результат, чем использование лямбда-выражения в качестве аргумента.
Я пытаюсь запомнить процедуру в схеме. Код взят из SICP.
У меня есть моя процедура fib, определенная как
(define (fib n)
(display "computing fib of ")
(display n) (newline)
(cond ((= n 0) 0)
((= n 1) 1)
(else (+...
89 просмотров
schedule
16.03.2022
Функция схемы, возвращающая состав функций
Как реализовать функцию, которая принимает на вход любое количество процедур с одним аргументом и возвращает другую функцию, представляет собой композицию этих процедур в схеме.
Например:
(define (f x) (* x 2))
(define (g x) (* x 3))
(define (h...
4552 просмотров
schedule
28.05.2022
(СХЕМА) Номер -> Английский список
Хорошо. Поэтому мне интересно, как создать функцию, которая превратит случайное число в компонент английского слова.
Например, (1001 -> '(одна тысяча один) или 0 -> '(ноль) и (число-имя, факториал 20 -> '(два квинтиллиона четыреста тридцать два...
386 просмотров
schedule
29.05.2022
Переносимая загрузка/включение определения синтаксиса в схему R5RS?
Я пытаюсь написать что-то, что работает как в DrRacket/plt-r5rs, так и в Gambit/gsi.
У меня проблема в том, что (load "foo.scm") в Gambit не загружает define-syntax -блоки. Использование (include "foo.scm") в Gambit работает, но, конечно,...
631 просмотров
schedule
04.06.2022
Схема сопряжения 2 списков
СХЕМА/Ракетка/R5RS
Попытка сделать рекурсивную процедуру, которая объединяет 2 списка одинакового размера. Просто не могу получить рекурсивный вызов правильно. Это то, что у меня есть, и я застрял.
(define (pairs list1 list2)
(if (or (null?...
153 просмотров
schedule
06.08.2022
Кодирование длины цикла списка в схеме (R5RS)
( изображение сведений о вопросе -- описывает кодирование RLE )
Часть кода (if ((equal? (car coins) (cadr coins))) в моей функции rle не работает, и функция перестает работать.
(define (element-index lst element)
(let loop ((counter 1)...
125 просмотров
schedule
30.09.2022
схема умножения элементов списка
Я смотрел, смотрел, но был удивлен, что не нашел ответа на этот вопрос.
В схеме R5RS, как бы вы написали процедуру, которая умножает каждый элемент списка друг на друга. Если мне дан список '(4 5 6), процедура multiply-list должна вернуть 120. 4 *...
3063 просмотров
schedule
15.03.2023
Неопределенный ADT в r5rs
Я пишу ADT в r5rs и использую DrRacket. Я поставил #lang r5rs вверху своего файла и выбрал Определить язык из исходного кода в DrRacket, но он говорит мне, что мой ADT не определен. Я использую DrRacket версии 6.0. У меня такое впервые и я не...
153 просмотров
schedule
27.04.2023
сортировка строк в лексикографическом порядке в схеме
Я новичок в схеме. Мне интересно, как сортировать строки в лексикографическом порядке в схеме. Например:
(sort (list "cat" "apple" "dog"))
(apple cat dog)
В С++ у меня может быть "A"‹"B", но, похоже, это не работает по схеме. Я упомянул в...
1542 просмотров
schedule
02.05.2023
Рэкет-функция с двумя аргументами
Я пытаюсь пересмотреть свой выпускной экзамен в R5RS, но не могу решить простую задачу. Мой профессор не очень помогает, и я не знаю никого в своем классе. Вы можете помочь мне?
Функция ratio принимает два параметра f (функция) и x (число). Мне...
931 просмотров
schedule
23.06.2023
Удаление n элементов списка
Я пишу программу, которая выполняет некоторые манипуляции со списком в схеме (R5RS). Я пытаюсь создать процедуру, которая удалит n элементов по индексу i списка L . Я написал процедуры, которые возвращают все, кроме первых n элементов в L ,...
780 просмотров
schedule
17.12.2022
Функция groupSum схемы
Я пытаюсь написать функцию Scheme, которая принимает два параметра, список чисел и другое число, и возвращает true, если подмножество списка составляет это число.
Пример вывода:
> (groupSum '(1 2 5) 7)
> #t
> (groupSum '(1 2 5) 4)
>...
180 просмотров
schedule
11.06.2024