Вопросы по теме '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 просмотров

схема умножения элементов списка
Я смотрел, смотрел, но был удивлен, что не нашел ответа на этот вопрос. В схеме 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