ゆとり受け身マンだけどプログラミング勉強する ID:psvWa2gX

47以下、名無しにかわりましてVIPがお送りします:2019/05/03(金) 04:13:47.17 ID:psvWa2gX

>  どこでオーバーフローしてるのかわからない…

  いわゆる 「Implementation Dependent」の問題 じゃないかと思うので、全体像(問題の所在)が見えないが、

>>28
> (defun abcd(y) (if(= y 10)  (print (abc y))

これを
> (defun abcd(y) (if(= y 10)  nil

とすると、 正常終了してくれる ♪

48以下、名無しにかわりましてVIPがお送りします:2019/05/03(金) 04:55:46.25 ID:psvWa2gX

いまいち美しくないが・・・

(defun  kuku  (y)
  (if (= y 10)   nil
   (progn
       (print (kukuRow  y  y  (* y 10)))
      (kuku (+ y 1)) ) ))

(defun  kukuRow  (x  incval  stopval)
   (if (= x stopval)   nil
     (cons x  (kukuRow  (+ x incval)  incval  stopval )) ))


(kuku 1)    ; 実行!

49 やっと分ったw   :2019/05/03(金) 05:15:28.01 ID:psvWa2gX

やっと分ったw

>>28
> (defun abcd (y)
   (if (= y 10)   (print (abc y))
    (progn
      (defun abc(x)
        (if  (=  x (* y 10))   nil

この最後の行を
>       (if  (>=  x (* y 10))   nil

     に変えると、 正常終了してくれる ♪

50以下、名無しにかわりましてVIPがお送りします:2019/05/03(金) 07:09:57.97 ID:psvWa2gX

>>23   console:
        [24]>  (load "a.lsp")

1.  (load "a")  でも良い。

2.  キーボードの ↑(矢印ボタン) を使うと入力が省略できる。

52(特に 模範解答、というワケではないが):2019/05/03(金) 14:37:56.44 ID:psvWa2gX

(defun kuku ()  ; 印刷のみ
 (do   ((x 1 (1+ x))) ((>= x 10) nil)
(do   ((y 1 (1+ y))) ((>= y 10) nil)
       (format t " ~3d " (* x y)))
  (format t "~%")))
(kuku )

(defun kukuval ()  ; 値は逆順(99から)
 (do ((val nil) (x 1 (1+ x)))
      ((>= x 10) val)

  (do ((row nil)   (y 1 (1+ y)))
      ((>= y 10)   (push row val))
(push (* x y)  row)) ))

(defun run () (kukuval ))

(setq   kk   (reverse (mapcar #'reverse (run))))  ; Mapcarが APL(関数プログラミング)ふう


このIDをNGリストに追加する

今後このIDの書き込みやスレッドを表示したくない場合、以下のボタンをクリックしてください。
NGリストに追加

このスレッドは過去ログです。