Prosim vas nemohli by mi nekdo poradit delame ve SCHEME a mame udelat tyhle 2 priklady :
mame proceduru TIME TOO SEKUND
-mame brat argumenty HODINY,MIN a SEK
- a ma se nam vratit pocet sekund
a pak
mame proceduru TIME TOO LIMITS
-vezmeme jako argument pocet sekund a vrati jako argument celych minut
nevite prosim vas nekdo jak na to,ja vubec nevim,dekuji moc za ochotu,kdo by vedel.
Fórum › Funkcionální programování
Scheme
To H4wk.cz : Mám vytvořit kombinaci čísel, např. '(1 0)...tzn. (((1 . 1) (1 . 0)) ((0 . 1)(0 . 0))) a mě to zatím dělá (((1 . 1) (0 . 0)) (1 . 0) (0 . 1)) a nevím jak to tam vložit aby to dělalo (((1 . 1) (1 . 0)) ((0 . 1)(0 . 0))) .
Tak to je tím, že cons spojí hlavu a ocas. Tedy z (cons '(0 1) '(2 3)) udělá '((0 1) 2 3). Asi bys chtěl něco jako (cons '(0 1) '( '(2 3))) z čeho ti vznikne '( '(0 1) '(2 3) ). Mně se už nedaří napsat nic rozumného v schemu, takže radím jen teoreticky :D
Ahoj programátoři, chtěl bych se na Vás obrátit o radu, řeším převody z dvojkové do desítkové soustavy.
nu a mě to nedělá jednu věc, když zadám ( 1 1 0 0) tak desítkový ekvivalent je číslo 12, jenže mě to počítá jako by všude byly jedničky, je mi jasny že podmínku cond mám blbě. díky Vám za rady.
(define bin2dec
(lambda (l)
(let ((len (length l)))
(apply + (build-list len (lambda (i) (cond ((= (- i ) 0) 0)
(else (expt 2 (- len i 1))))))))))
Mne funguje toto
(defun bin-des (cislo)
(do
((i (length cislo) (1- i)) (p 0) (j 1 (setf j (* 2 j))))
((= i 0) p)
(if (= (nth (- i 1) cislo) 1)
(setf p (+ p j)))))
Lisp sa este len ucim takze to moze niekomu pripadat ako prasarna :) a navyse je to common lisp, ale hadam to pomoze.
Ono luštit cizí kód je docela o držku, tak jsem si to napsal, jak bych to dělal já:
(define (bin2dec l) (bin2dec_reverse (reverse l)))
(define (bin2dec_reverse s)
(if (null? s)
0
(+ (car s) (* 2 (bin2dec_reverse (cdr s))))
)
)
Anonymní uživatel napsal:
Mne funguje toto(defun bin-des (cislo)
(do
((i (length cislo) (1- i)) (p 0) (j 1 (setf j (* 2 j))))
((= i 0) p)
(if (= (nth (- i 1) cislo) 1)
(setf p (+ p j)))))
Lisp sa este len ucim takze to moze niekomu pripadat ako prasarna :) a navyse je to common lisp, ale hadam to pomoze.
Právě že se to taky učím, a nejde to zrovna podle mých představ...
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Práce se seznamem ve scheme — založil Petr Schenk
Programovací jazyk Scheme — založil bziba
Scheme - procedura vyššího řádu — založil Martin
SQL copy table scheme — založil David Roško