Size: a a a

Сообщество Scheme

2021 March 04

ND

Nikita Domnickij in Сообщество Scheme
скобки лишние
источник

TT

Test For Test in Сообщество Scheme
спасибо, попробую исправить
источник

ND

Nikita Domnickij in Сообщество Scheme
в sum-of-squares-of-top-two
источник

ND

Nikita Domnickij in Сообщество Scheme
ты пытаешься вызвать то что вернёт плюс как процедуру
источник

TT

Test For Test in Сообщество Scheme
Nikita Domnickij
ты пытаешься вызвать то что вернёт плюс как процедуру
сумму квадратов максимальных значений списка
источник

ND

Nikita Domnickij in Сообщество Scheme
не ты не понел
источник

ND

Nikita Domnickij in Сообщество Scheme
там скобки вокруг плюса не нужны
источник

TT

Test For Test in Сообщество Scheme
Nikita Domnickij
там скобки вокруг плюса не нужны
не помогло
источник

ND

Nikita Domnickij in Сообщество Scheme
Вокруг ифа вроде тоже лишние
источник
2021 March 05

a

anton in Сообщество Scheme
Nikita Domnickij
(define (max lst)
 (fold (lambda (acc v) (if (> v acc) v acc)) 0 lst))
(fold (lambda (acc v)
       (if (> v (car acc))
           (list v (car acc))
           (if (> v (cadr acc))
               (list (car acc) v)
               acc)))
     '(0 0)
     lst
)
источник

y

yosk in Сообщество Scheme
Test For Test
как найти второй по максимальности элемент?
В списке или как-то еще? Просто в SICP в упражнении 1.3 говорится что функция принимает просто 3 числа, а в хекслете вроде на основе SICP курс. Если только три числа надо, то: (max (min a b) (min b c) (min a c)) должно сработать.
источник

ND

Nikita Domnickij in Сообщество Scheme
источник

a

anton in Сообщество Scheme
ты разбираешься в железках? Эта Alonzo Standard Version - 30 долларов, стоит этих денег?
источник

ND

Nikita Domnickij in Сообщество Scheme
хз, обычная борда на стм вроде
источник

ND

Nikita Domnickij in Сообщество Scheme
я интересующийся, сильно не разбираюсь
источник

T

TGG in Сообщество Scheme
На обычную STM слишком похожа. Надо смотреть в кишки компилятору.
источник

TT

Test For Test in Сообщество Scheme
anton
(fold (lambda (acc v)
       (if (> v (car acc))
           (list v (car acc))
           (if (> v (cadr acc))
               (list (car acc) v)
               acc)))
     '(0 0)
     lst
)
#lang racket
(require srfi/1)
(define (max lst)
  (fold (lambda (acc v)
       (if (> v (car acc))
           (list v (car acc))
           (if (> v (cadr acc))
               (list (car acc) v)
               acc)))
     '(0 0)
     lst))
(define lst (list first second third))
(define (sum-of-squares-of-top-two first second third) (+ (sqr (max lst)) (sqr (max (delete (max lst) lst)))))
(sum-of-squares-of-top-two 2 3 1)



Ошибка:
car: contract violation
 expected: pair?
 given: #<procedure:car>
источник

a

anton in Сообщество Scheme
Test For Test
#lang racket
(require srfi/1)
(define (max lst)
  (fold (lambda (acc v)
       (if (> v (car acc))
           (list v (car acc))
           (if (> v (cadr acc))
               (list (car acc) v)
               acc)))
     '(0 0)
     lst))
(define lst (list first second third))
(define (sum-of-squares-of-top-two first second third) (+ (sqr (max lst)) (sqr (max (delete (max lst) lst)))))
(sum-of-squares-of-top-two 2 3 1)



Ошибка:
car: contract violation
 expected: pair?
 given: #<procedure:car>
не, код, который я привёл возвращает список из двух чисел, максимального, и следующего по максимальности
источник

TT

Test For Test in Сообщество Scheme
anton
не, код, который я привёл возвращает список из двух чисел, максимального, и следующего по максимальности
а
источник

a

anton in Сообщество Scheme
просто сделай (apply + (map sqr (max lst))), наверное
источник