Differences

This shows you the differences between two versions of the page.

Link to this comparison view

jui:cviko4 [2011/08/16 22:33] (current)
Line 1: Line 1:
 +====== JUI - 4. cviceni ======
  
 +===== Vystupni funkce=====
 +
 +<code lisp>
 +;;format out_stream "​format_retezec"​
 +
 +;; t = stream na nejvyssi urovni
 +(format t "~A - ~A je ~A" 3 2 (- 3 2))
 +
 +3 - 2 je 1
 +
 +;;~A tiskne jako princ
 +
 +nebo ~S jako print
 +~F realne cislo
 +
 +(Defun interpret()
 +  (print "​hlaska>"​)
 +  (print (Eval (Read))))
 +  (interpret)
 +)
 +</​code>​
 +
 +===== Vstupni funkce =====
 + 
 +
 +<code lisp>
 +;; read - precte vyraz lispu
 +;; read-line, read-char
 +
 +(read)
 +;;pak zadame ​
 +(3 
 +
 +a
 +b)
 +;;vystup: (3 4 a b)
 +</​code>​
 +
 +----
 +
 +<code lisp>
 +;;funkce chci cislo, ktera precte vstup a opakuje tak dlouho dokud neni cislo ktere vytiskne
 +(defun cislo (hlaska)
 +  (loop
 +    (print hlaska)
 +    (setf a (read))
 +    (when (numberp a) (format t "~a ~%" a) (return a))
 +  )
 +)
 +
 +;;precte cislo
 +(defun cticislo (hlaska)
 +  (loop
 +    (print hlaska)
 +    (setf a (read))
 +    (when (numberp a) (return a))
 +  )
 +)
 +
 +;;funkce, ktera precte cislo a vypise n znaku x za sebou
 +(defun xkrat ()
 +  (setf n (cticislo "Zadej n:"))
 +  (dotimes (i n) (princ 'X))
 +)
 +
 +;;funkce, ktera precte dva seznamy, a vypise spojeny seznam ​ (skolni priklad, nepouzivat append)
 +(defun spoj (a b)
 +  (cond
 +    ((car a) (cons (car a) (spoj (cdr a) b)))
 +    (t b)
 +  )
 +)
 +
 +(defun vytiskni-spoj ()
 +  (print "zadej 1. seznam"​)
 +  (setf a (read))
 +  (print "zadej 2. seznam"​)
 +  (setf b (read))
 +  (print (spoj a b))
 +)
 +
 +;;funkce, ktera precte prvek, index a seznam a vlozi prvek na dane misto v seznamu
 +(defun vloz (seznam kam prvek)
 +  (cond 
 +    ((null seznam) (cons prvek seznam)) ;;pretekli jsme index, vlozime ihned a vylezeme nahoru
 +    ( (> kam 0) (cons (car seznam) (vloz (cdr seznam) (1- kam) prvek))) ;;zanorime se o krok niz
 +    (t (cons prvek seznam)) ;;jsme na spravne pozici
 +  )
 +)
 +</​code>​
jui/cviko4.txt · Last modified: 2011/08/16 22:33 (external edit)
Back to top
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0