Stáhnutí: CLisp
lisp.exe -M lispinit.mem nebo lisp.bat
pouze lisp.exe nestačí!!
řádková utilita, bez menu a GUI
(exit), (quit), (bye) ... ukončení CLispu
(load soubor) ... natažení programu v souboru soubor
(compile-file soubor) ... přeložení programu na disk
(ed soubor) ... editace programu v souboru soubor
(cd cesta) ... změna adresáře
(dir) ... výpis adresáře
prompt: [č. řádky]>
chybný příkaz => break: č. breaku.Break[č. řádky]
opuštění breaku (o úroveň výše): abort (CTRL+Z)
> (+ 1 2) ; sečti 1 a 2
> pi ; vypiš PI
> (setq a 10) ; přiřaď a hodnotu 10
> (+ 4 (sqrt (* (- 5 3) 2))) ; 4 + odm((5-3)*2)
Sečtení dvou čísel
(write-char #\Newline) (write-line "Program te vyzve k zadani dvou cisel.") (write-string "Zadej prvni cislo: ") (setq a (read)) (write-string "Zadej druhe cislo: ") (setq b (read)) (write-string "Vysledek po secteni je: ") (write (+ a b))
Funkce maximum
; Priklad na komentare (tenhle je jednoradkovy) #|-------------------------------------- viceradkovy komentar viceradkovy komentar viceradkovy komentar --------------------------------------|# (defun max2 (x y) (if (< x y) y x) )
Dotaz na Ano/Ne
(defun anone() (write-string "Stiskni 1-ano nebo 2-ne ") (setq x (read)) (cond ( (EQUAL x 1) (write-line "Stisknuto 1")) ( (EQUAL x 2) (write-line "Stisknuto 2")) ( T (write-line "Stisknuto neco jineho")) ) )
Výpis násobků čísla
(defun nas (n) (do ((i 0 (+ i 1))) ((> i 10)) (write (* n i)) (write-char #\Newline) ) (write-line "Hotovo ...") )
Clear screen
(defun clrscr () (do ((i 0 (+ i 1))) ((> i 20)) (write-char #\Newline) ) (write-line "Smazano...") )
Výpočet kvadratické rovnice
(defun zadej () (write-line "Vypocet korenu kvadraticke rovnice tvaru:") (write-line " Ax^2 + Bx + C = 0") (write-line "=========================================") (write-string "Zadej koeficient A: ") (setq a (read)) (write-string "Zadej koeficient B: ") (setq b (read)) (write-string "Zadej koeficient C: ") (setq c (read)) ) (defun diskriminant (x y z) (- (* y y) (* 4 x z)) ) (defun vypocet () (setq d (diskriminant a b c)) (cond ( (< d 0) (write-line "Rovnice nema reseni !!!") ) ( (= d 0) (write-line "Rovnice ma jedno reseni.") (write-string "X = ") (write (/ (- b) (* 2 a))) ) ( (> d 0) (write-line "Rovnice ma dve reseni.") (write-string "X1 = ") (write (/ (+ (- b) (sqrt d)) (* 2 a))) (write-char #\Newline) (write-string "X2 = ") (write (/ (- (- b) (sqrt d)) (* 2 a))) ) ) ) (defun main () (zadej) (vypocet) )