hiper111
-
Postów
11 -
Dołączył
-
Ostatnia wizyta
Odpowiedzi opublikowane przez hiper111
-
-
"Stack overflow on value stack.
[Condition of type CCL::STACK-OVERFLOW-CONDITION]" Przy wartosciach ujemnych wywala bład. -
Program działa, oraz zostało wszystko dobrze wytłumaczone! Dziękuję bardzo za pomoc!
-
3 minuty temu, kruszynski napisał:
( defun a ( n / )
Za co w tym przypadku odpowiada (n / )?
-
W takim razie źle wzór a a(n). Można zapisać tą funkcję jakoś sensownie ? Jakoś w takim sposób? (+(*(* 3 (- n 1)) 2) czy trzeba zrobić drugą funkcje wspomagająca obliczenia ?
-
-
Patrząc teraz na ta strone jesli chodzi o rekurencje http://bacon.umcs.lublin.pl/~pgiza/dyd/lispouczek/lk.php-nr=14.htm
(defun silnia (n) (cond ((< n 2) n) (t (* n (silnia (- n 1)))) ) ) => silnia (silnia 5) => 120
jest tylko jeden warunek, w LISPIE zmienna t oznacza zawsze wartosc prawdziwa?
-
w takim razie nie miałem pojecia ze przypisane wartosci do a dałem razem w warunku. W przykladach jest napisane " => 3 " ale to raczej nie jest deklaracja wartości lecz wypisanie wartości "w komentarzu". W takim razie powinno to wygladac tak? ((= n 0) = a 5)). Przepraszam, ze za bardzo tego nie ogarniam, lecz mam pierwszy raz do czynienia z tym językiem.
-
Nawiasy w drugim warunku (+(*(* 3 a) (- n 1)) 2)
-
50 minut temu, kruszynski napisał:
(defun wyraz(n,a) (cond ((= n 0) ( a)) ((> n 0) (+ (* (* (- n 1) 3 a) ) 2))))
ja tu widzę kilka błędów:
1. dlaczego a jest parametrem wywołania?
2. w treści zadania jest jakaś magiczna liczba 5. Nie ma jej w kodzie. zastanów się gdzie powinna być
3. w pierwszym warunku: ( a ) ?
4. w drugim warunku nawiasy są pomieszane
To tak na początek. jak się z tym uporasz i dalej nie będzie działało to daj znać.
(defun wyraz(n)
(cond
((= n 0) (= a 5))
((> n 0) (+ (* (* (- n 1) 3 a) ) 2)))))wyskakuje mi bład " In WYRAZ: Undeclared free variable A "
-
Witam, mam problem z funkcja w programie lisp. Moim zadaniem jest:
"Napisz funkcję obliczającą dowolny wyraz ciągu:
a(0)= 5
a(n) = 3*a(n-1) + 2
za pomocą funkcji warunkowej cond"
Mój obecny kod:
(defun wyraz(n,a)
(cond
((= n 0) ( a))
((> n 0) (+ (* (* (- n 1) 3 a) ) 2))))
Próbowałem na rożne sposoby, lecz cały czas bez żadnego skutku. Prosze o wskazanie mojego błedu
LISP program obliczajacy wyraz ciagu
w Wsparcie programistyczne LISP i VisualLISP
Opublikowano
( (< n 0 ) ’Wynik-jest-nieokreślony) Masz na mysli dodanie takiego warunku ?