hiper111

Użytkownik forum
  • Postów

    11
  • Dołączył

  • Ostatnia wizyta

Aktywność reputacji

  1. Upvote
    hiper111 przyznał(a) reputację dla kruszynski w LISP program obliczajacy wyraz ciagu   
    do tego właśnie służy rekurencja
    powinno być coś typu
    ( defun a ( n / ) (cond ( ( = n 0 ) 5 ) ( t (+ (* 3 (a (- n 1 ) ) ) 2 ) ) ) )  
  2. Upvote
    hiper111 przyznał(a) reputację dla kruszynski w LISP program obliczajacy wyraz ciagu   
    n to parametr wywołania funkcji
    / oddziela parametry od zmiennych lokalnych.  w tym przypadku nie jest potrzebne ale z przyzwyczajenia ( makro w edytorze) mi się napisało
  3. Upvote
    hiper111 przyznał(a) reputację dla Parikon w LISP program obliczajacy wyraz ciagu   
    Praktyczny kurs AutoLISP-u
  4. Upvote
    hiper111 przyznał(a) reputację dla kruszynski w LISP program obliczajacy wyraz ciagu   
    O to właśnie chodzi, "a" to nie zmienna, tylko nazwa funkcji, która ma być rekurencją.
    czyli Ty mnożysz 3 * a (jako zminną) * (n-1)
    ma być 3 * a ( jako wynik dla obliczenia funkcji a dla wartości (n-1))
     
  5. Upvote
    hiper111 przyznał(a) reputację dla Parikon w LISP program obliczajacy wyraz ciagu   
    (cond ((evenp a) a) ;jeśli a jest parzyste, zwróć a ((> a 7) (/ a 2)) ;inaczej, jeśli a jest > niż 7, zwróć a/2 ((< a 5) (- a 1)) ;inaczej, jeśli a jest < niż 5, zwróć a-1 (t 17) ;inaczej zwróć 17 ) => 2 (cond
    ((= n 0) 5)   ; jeśli n jest 0 to zwróć 5
    ((> n 0) (wzór na a)) ; zwróć a
    ) ; koniec cond
    Dawno nie pisałem nic w Lispie ale czy nie tak to powinno być?
  6. Upvote
    hiper111 przyznał(a) reputację dla Parikon w LISP program obliczajacy wyraz ciagu   
    powiedz coś maszynie o zmiennej a.
  7. Upvote
    hiper111 przyznał(a) reputację dla kruszynski w LISP program obliczajacy wyraz ciagu   
    (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ć.
  8. Upvote
    hiper111 przyznał(a) reputację dla kruszynski w LISP program obliczajacy wyraz ciagu   
    O czym może to świadczyć?
    ((= n 0) (= a 5))  znaczy:  jeśli n jest równe 0, to sprawdź czy a jest równe 5 . 
     
  9. Upvote
    hiper111 przyznał(a) reputację dla kruszynski w LISP program obliczajacy wyraz ciagu   
    przypisanie wartości do zmiennej to setq czyli (setq a 5)
    tylko po co tutaj a ?
    Mała podpowiedź:
    w tym przypadku trzeba wykorzystać rekurencję.