7/25/2019 Is-Lisp Programozsi Segdlet
1/83
LISPprogramozsi segdlet
NOVOTRADE RT.
7/25/2019 Is-Lisp Programozsi Segdlet
2/83
TARTALOM
Elsz1. Fejezet Az elinduls
2. Fejezet Bevezets a LISP-be
3. Fejezet Inut!"utut
#. Fejezet F$%%vn&e' de(inilsa
). Fejezet *i+ents s bet,lts
. Fejezet Az E"S
/. Fejezet Az inte00ut' 'ezelse
. Fejezet Az IS-LISP ($%%vn&ei
1. F$%%el' E"S vltz'
2. F$%%el' iba$zenete'
3. F$%%el' Fun'4is %+b'
IS-LISP az Ente00ise 1. ve0zij0a
5 16) Intelli%ent S(t7a0e Ltd
P0%a++in%8 9. :i4;e0
9anual . u0le&=
:. ?. @i0%
http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#1http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#2http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#3http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#4http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#5http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#6http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#7http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#8http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#9http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#10http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#11http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#12http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#2http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#3http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#4http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#5http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#6http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#7http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#8http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#9http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#10http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#11http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#12http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#17/25/2019 Is-Lisp Programozsi Segdlet
3/83
ELS!
B0 a LISP LIS P:"5ESSICD +0 'b. ;sz ve van (0%al+ban= +% +indi% na%&n
nsze0G a H9este0s%es Intelli%en4iaH s a HSza'0ti 0endsze0e'H te0$letn=a;l idelisna' te'int;et 0u%al+ass%a s 'ite0jeszt;ets%e +iatt.
Enne' a 'zi',n&vne' ne+ 4lja= ;%& a n&elv0l +inden in(0+4it ta0tal+az
en4i'ldia le%&en= de le0ja az IS-LISP i+le+ent4ijt az Ente00ise
sz+t%en s ',zelebbi bete'intst ad a00l= ;%&an t,0tni' a '++uni'4i a
(el;asznlval s az E"Se04is 0endsze00el. A 'ezdne' 0,vid bevezetst ad
a n&elvbe= de (elttelezi= ;%& az lvas is+e0i a % +G',dst s vanna' -
le%albbis '0ltztt - is+e0etei a Basi4 n&elv0l.
9ivel a LISP inte0a'tv n&elv= a+el& +inden ($%%vn&t %& s a''0 'i0t'el=
a;%& az a sz+t%be 'e0$lt= ',nn&G 0ajta 's0letezni a '$l,nb,z
($%%vn&e''el. an4slju' az lvasna'= ;%& 0blja 'i a 'zi',n&vben
tall;at ld'at= a+i'0 4sa' le;ets%es.
"#$%&e' a LISP(r)l
S' j ',n&v 0dtt a LISP-ben val 0%0a+zs0l. *$l,n,sen ajnlju' a
',vet'ez'et8
HLISP n t;e BB5 +i404+ute0H A. C0+an= D. 5attell j bevezetst ad a LISP
n&elvG 0%0a+zs;z. A BB5-LISP-et 0ja le= a+el&i' i%en ',zel ll az IS-LISP-
;ez.
HLISPH P.
7/25/2019 Is-Lisp Programozsi Segdlet
4/83
1. Fejezet
A ELIND*L+S
%& el'ezdj$n' 0%0a+zni IS-LISP-ben= te%&$' be a 4a0t0id%e-et az Ente00ise
+i'0sz+t% bal ldaln Iv 0tba s 'a4slju' be a %et. Ezutn n&+ju'
+e% 'tsze0 a :eset %+bt. A ;ide%indts sz'ss (l&a+ata +e%& v%be= a %
ellen0zi a +e+0iasze'4i'at= s az albb lt;at $zenet jeleni' +e% a
'e0n&n.
9st el'ezd;etj$' a 0%0a+zst. Az utasts' u%&an%& vi;et' be a
billent&Gzet0l= +int az IS-BASI5 ;asznlata'0. 9inden '++uni'4i a
(el;asznl s a LISP inte00ete0 ',z,tt az Hedit0H-n 'e0eszt$l t,0tni'= a+i
azt jelenti= ;%& a 'u0z0-billent&G' s a j&sti4' ;asznl;at' a 'u0z0
+z%ats0a a 'e0n&n= ;%& sz,ve%et vi%&$n' be= javtsun'= va%& t,0,lj$n'.
A+i'0 e%& 0%0a+s0t ;el&esen be0tun' s +e%n&+tu' a 0etu0n %+bt= enne'
;ats0a az HE@ALH 0%0a+ +G',dsbe l= s - (eltve= ;%& a s0
szinta'ti'usan ;el&es - 'i0t'eldi'= a 'i0t'els e0ed+n&e edi% +e%jeleni'
a 'e0n&n.
Pldul= 't sz+ ,sszeads0a be0;atju'8 PLJS 3 #= s a sz+t% 'iadja8
/.
Ezen a ntn (nts= ;%& e+l'eztess$n' 08 +inden LISP 0%0a+s0 aznnal
ellen0zdi' s 'i0t'eldi'= 0,%t,n a bevitel s a 0etu0n %+b +e%n&+sa
utn. Ez teljesen +s= +int a+ivel BASI5 ',0n&ezetben dl%zva tall'zun'= a;l
e%& sze'4i va%& a'0 az e%sz 0%0a+ be'e0$l a %be= s 4sa' ezutn t,0tni'
's0let a v%0e;ajts0a.
Ezt szben ta0tva el'ezd;et 's0letezni s 0%0a+zni a LISP n&elven. A
',vet'ez n;n& (ejezet j 'alauz n;n& is+e0t LISP ($%%vn& ;asznlat;z.
7/25/2019 Is-Lisp Programozsi Segdlet
5/83
2. Fejezet
,EVEET-S A LISP(,E
A LISP-ben= +int +inden +a%asszintG n&elvben= a 0%0a+z elv0ja= ;%&
sz,ve%es $zenete'et jelentet;essen +e% a 'e0n&n= s ;%& l&an szava'at
;asznl;assn= a+i' vltzneve'ne' al'al+asa'. Az il&en szava'at a LISP-ben
Haznst'na'H va%& Hat+'na'H ;vju'= s eze' a le%ele+ibb bje'tu+'= a+i'
e%& LISP 0%0a+ban ;asznl;at'.
Az aznst l&an bje'tu+= a+el& 'a0a'te0e'bl $l (el= l.. 2= ?"D= .CIL=
s a (enti 4l' b0+el&i'0e ;asznl;at. At+ +inden aznst s +inden sz+l. /= -2#. Ezen at+' ;asznlatval (el tudju' teni az adatst0u't0t=
a+i a LISP-ne' a nevt adja= azaz a list'at.
A lista adatttele' e%& %&Gjte+n&e= eze' +inde%&i'ne' van e%& 0',vet'ezje=
'ivve az utlst. aszns= ;a ezt %& te'intj$'= +int inte0e' e%& 0endsze0t=
a+el&e' +entn a (el;asznl v%i%;alad;at e%& listn= s +inden inte0 e%&
+e+0ia4ell;z van 0endelve= e%& 4ella 't inte0t ta0tal+az. A balldali
inte0 az at+t va%& listt jelzi= va%&is az adatt= a jbbldali edi% da
+utat= a;l a lista tvbbi 0sze 'ezddi'. Az A B 1... list0a ezt 'aju'8
A;%& az elbb jelezt$'= e%& listban t0lt adatttele' +a%u' is le;etne'
list'= %& az A1 2... B... lista 0szletesebben8
7/25/2019 Is-Lisp Programozsi Segdlet
6/83
90 e+ltett$'= ;%& e%& lista +inden ttelne' van e%& 0',vet'ezje= 'ivve az
utlst= a+el&0e a LISP-ne' e%& se4ilis= HCILH nevG aznstt ta0t (enn= az
$0es lista= a 0e0ezentls0a. %& az K listt 0e0ezentl teljes
dia%0a+8
a+el&et +e%e%&ezs sze0int %& b0zlun'8
Ez +ind el+let s a LISP +G',dsne' alajt 'ezi= de +st 'ezdj$n' el
is+e0'edni ezzel a n&elvvel.
7/25/2019 Is-Lisp Programozsi Segdlet
7/83
Aritmeti'a
A LISP-ben az a0it+eti'a aznst' ;asznlatval +G',di'= ne+ edi% a
;a%&+n&s in(i e0t0''al= +int HMH s HH. Sz+' at+' ,sszeads0a a
PLJS a0an4st ;asznlju'. A /M) ,sszeads elv%zs0e PLJS / )-,t 'ell
0nun'= e00e a 12 vlaszt 'aju'= s ;%& a /M)M3M1 0t'et 'isz+tsu'= a;el&es LISP a0an4s
PLJS / ) 3 1=
a+el&0e a 1 vlaszt 'aju'.
Az ,sszeads inve0z +Gvelete= a 'ivns= a ?IFFE:EC5E a0an4s se%ts%vel
t,0tni'= a+el& az els a0%u+entu+bl levnja a +sdi'at= azaz /-) %& 0andbe8
?IFFE:EC5E / )=
a+i0e 2 lesz az utut.
Az in(i jel,ls +ellett= a H-H jelne' e%& +sdi' jelentse is van= a ne%atv
eljel. A LISP e%& +si' aznstval= a 9ICJS-szal el'e0$li ezt a 'ettss%et.%& /-)= a+i a /M-) (0+ban is 0;at= a
PLJS /9ICJS )
ala't 'aja= s enne' e0ed+n&e is 2.
A sz0zs a I9ES a0an4s ;asznlatval t,0tni'= %& l. /) 'isz+ts;z a
I9ES / )
a0an4s ;asznlats= a+i0e 3) a vlasz= s ;%& 'isz+tsu' a /)31 0t'et= a
I9ES / ) 3 1
a0an4s be0sa sz$'s%es= a+i0e a 1N) vlasz 0'ezi'.
7/25/2019 Is-Lisp Programozsi Segdlet
8/83
A LISP 4sa' e%sz sz+' ;asznlatt en%edi +e%= s ez 'z;at n+i ne;zs%et=
a+i'0 sztani a'a0un'= l. /!)O1.#= va%& t,0t (0+ban= 1 2!). 0+ '$l,nb,z=
az sztssal 'a4slats LISP a0an4s van= a+el&e' e0ed+n&e is '$l,nb,z= a
?I@I?E= a J"IEC s a :E9AIC?E:.
A ?I@I?E a0an4s e%& 0endezett 0t se4ilis listatust ad vissza= a+el&ne'els ele+e a ;n&ads= +sdi' ele+e a +a0ad'= l.
?I@I?E / )--Q 1.2
A J"IEC a ;n&ads e%sz0szt adja vissza s a t,0t0szt ne+ veszi
(i%&ele+be=
l. J"IEC / )--Q 1
v%$l a :E9AIC?E: az szts +a0ad't adja vissza=
l. :E9AIC?E: / )--Q 2
>e%&ezz$' +e%= ;%& a LISP a -32/ s 32// ',zti inte0vallu+n bel$l +inden
e%sz sz+t +e%en%ed= s ;%& ;ibt 'z= ;a e%& a0it+eti'ai sz+ts e0ed+n&e
ezen az inte0vallu+n 'v$l esi'.
Vltoz'
A LISP-ben az ALPA sz 0e0ezentl;at e%& vltzt va%& e%& adat0szt= s a 't
esetet e%& szi+la idzjel se%ts%vel '$l,nb,ztetj$' +e%. R%& ALPA vltzt
jelent= s 0t'e el0se utn aznnal 'i0di'= +% ALPA az ALPA szt
0e0ezentlja= +int sz,ve%-adatt. a e%& ALPA vltz ne+ 'att 0t'et= LISP
0t't JC?EFICE?-na' (%ja te'inteni= ez a n&elvben se4ilis aznst= e00e a
;asznlat0a (ennta0tva.
%& e%& vltzna' 0t'et adjun'= ezt +e%te;etj$' a SE aznst
;asznlatval.
Pl.
SE ALPA A B 5 ? E
az ALPA vltz 0t'$l az A B 5 ? E listt adja.
T@e%&$' sz0e a idzjelet= a+el& azt e0ed+n&ezi= ;%& A B 5 ? E ne+ 'e0$l
'i0t'els0eU. A+i'0 a vltz ;zz0endelse +e%t,0tnt= 0t'e 'ijelzdi'=
7/25/2019 Is-Lisp Programozsi Segdlet
9/83
;a z0jel nl'$l sze0eel= azaz ALPA.
Pldul=
SE EC 1N
I9ES EC EC
a EC vltzna' a 1N 0t'et adja= +ajd 'isz+tja EC n%&zett= a+i 1NN. A
vltz;z 0endelend 'i(ejezs 0t't is 'i le;et sz+tani a SE a0an44sal=
%& a
SE ACS
7/25/2019 Is-Lisp Programozsi Segdlet
10/83
E%&es ttele' az EA9PLE listbl a ',vet'ez +dn n&e0;et'8
Jtasts E0ed+n&
5A: EA9PLE Az A aznst
5?: EA9PLE A 't ta%bl ll
1 2 K V lista
5A:5?: EA9PLE Az 1 2 lista
5?:5?: EA9PLE Az K V lista
5A:5A:5?: EA9PLE Az 1 aznst
Az IS-LISP le;etv teszi = ;%& a (el;asznl az il&en utasts'at
le0,vidtse= ezt 0va8
5AA: EA9PLE 5A:5A: EA9PLE ;el&ett
5??: EA9PLE 5?:5?: EA9PLE ;el&ett
5A?: EA9PLE 5A:5?: EA9PLE ;el&ett
5AAA: EA9PLE 5A:5A:5A: EA9PLE ;el&ett
5A?A: EA9PLE 5A:5?:5A: EA9PLE ;el&ett=
,sszesen le%(eljebb ;0+ 5A: s 5?: utasts +ellett= a'0+il&en '+bin4iban.
A T azo$os/t
7/25/2019 Is-Lisp Programozsi Segdlet
11/83
A se4ilis aznst az az 0t'= a+it a % 'iad= ;a e%& Ble-($%%vn&
i%azna' 0t'eld,tt 'i.
Pldul=
CJLL CIL --Q = +ivel CIL .
A"9 3 --Q = +ivel 3 valban at+
E ) ) --Q = +ivel )O)
D#$ts
A BASI5-ben a d,ntse'et ltalban az IF... EC... ELSE sze0'ezetben ;zzu'=
a+it a ',vet'ez +dn al'al+azun'8
IF W1. lltsQ EC Wi. 'i(ejezsQ
ELSE IF W2. lltsQ EC . 'i(ejezsQ
ELSE IF W3. lltsQ EC . 'i(ejezsQ
...
ELSE W'i(ejezsQ
A LISP-ben ez a ',vet'ezd (0+t 'aja8
5"C? Wi. lltsQ W1. 'i(ejezsQ
W. lltsQ W2. 'i(ejezsQ
...
W'i(ejezsQ=
a;l a se4ilis aznst az i%az llts' 0e0ezentls0a. R%& a 5"C?
($%%vn& %& dl%zi'= ;%& +inden lltst 'i0t'el= +% 4sa' ne+ tall e%&
i%azat. E''0 'i0t'eli a +e%(eleld 'i(ejezst s anna' 0t't adja vissza.
Plda
5"C? A"9 K I9ES # 6
A"9 # I9ES )
I9ES /
7/25/2019 Is-Lisp Programozsi Segdlet
12/83
Itt= +ivel K lista s ne+ at+= ez0t az els llts CIL-t ad s ne+ veszi
(i%&ele+be a 0%0a+. A +sdi' llts visznt i%az= ;iszen a # at+= s %& az
utasts 0t'e'nt a % I9ES ) -at= azaz a #N-et adja vissza.
0i'l1s
A LISP-ben e%& 'i(ejezs-4s0t is+tlse a L""P a0an44sal t,0tni'. R%& l. a
',vet'ez utasts
L""PP:ICPLJS / )
P:IC?IFFE:EC5E / )
4i'lust e0ed+n&ez= a+el&ben (elvltva a 12= +ajd a 2= +ajd a 12...= stb.
jelzdi' 'i= a+% +e% ne+ n&+ju' a S"P %+bt. >bban ;asznl;at a L""P
l&+dn= ;%& ese+n&e' e%& s0zatt idzi el= +indaddi%= a+% e%& bizn&s
te0+inlis be(ejez (elttel ne+ teljes$l= s ezt a
7/25/2019 Is-Lisp Programozsi Segdlet
13/83
L""P JCIL E 5 A
SE 5 PLJS A 5
SE 5 A??1 5
a+i az 1M2M3M#M)MM/O2 vlaszt adja= +ivel addi% is+tldi' a 4i'lus= +%ne+5O.
7/25/2019 Is-Lisp Programozsi Segdlet
14/83
3. Fejezet
INP*T2O*TP*T
A le%(ntsabb a0an4s' b0+el&i' n&elvben az inut!utut ($%%vn&e'= +ivel
eze' nl'$l se++il&en 0t'et ne+ vi;etnn' be a %be s sz+tsain'
e0ed+n&t se+ n&e0;etnn' vissza.
I$p1t szi$ta3is
A le%sz'ssabb +dja= ;%& adat'at!0%0a+'at vi%&$n' a LISP-be= a :EA?($%%vn& ;asznlata. Ez le;etv teszi= ;%& 0endezett 0'at= list'at=
vltz'at s -32/ s 32// ',zti sz+'at vi%&$n' be az a'tulis inut
4sat0nn 'e0eszt$l. A+i'0 elsz,0 'a4slju' be a 0endsze0t= az inut 4sat0na
sz+a HNH= a billent&Gzet;ez 'a4slva= b0 ez +e%vltztat;at az "PEC= illetve
az :?S a0an4s''al= a+int ez a . (ejezetben sze0eel.
>e%&ezz$' +e%= ;%& a;l jel van lvass ',zben= nnan 'ezdve e%szen az els
s0v% jeli% +indent 4++entne' te'int a % s ne+ veszi (i%&ele+be.
Az aznst' inutjna' szntaisa l&an= ;%& a % el(%adja az A....V=
a....z= N....6 'a0a'te0e'et= vala+int a ',vet'ez se4ilis 'a0a'te0e'et8
(+nusz 4al;zs 5e%&enls%
6vessz 7ntsvessz 8'ettsnt
9bal :4silla% ;et-jel
sz,%letes
z0jel
;as;+a0'
X 2e0-jel ?'0djel
@lusz B'a4ss z0jel
(el(el C'isebb-jel na%&bb-jel
n&l
ba4'slas;
Pldul= AYB5= 88QW8W-#N8= M le%lis aznst'.
7/25/2019 Is-Lisp Programozsi Segdlet
15/83
9inden +s 'a0a'te0t az es4ae Z 'a0a'te0ne' 'ell +e%elznie= ;a e%&
aznstban sze0eel. [ltalban +inden HH balz0jelet ',zvetlen$l le 'ell
z0ni e%& HH jbbz0jellel= de a Hszue0z0jelH= HUH ;asznl;at az , s s z e
s +e%n&ittt balz0jel lez0s0a. Pldul8
?EFJC SJA:E I9ES U
[ltalban e%& aznst idzse $%& t,0tni'= ;%& a 'a0a'te0t tessz$' elje=
l. AB5. E;el&ett dula idzjele' ',z is te;etj$'= l. HAB5H. Ez ',nn&G
+e%lds a00a= ;a '$l,nle%es 'a0a'te0e'et= l. sa4e-e'et a'a0un' az
aznst'ba 0a'ni.
Pl. P:IC5HA BH
O1tp1t Formt1m
Az ututt ltalban a n%& 0int utasts e%&i'vel vissz$' 'i8 P:IC= P:IC5=
P:IC= s P:IC5.
*t '$l,nb,z (0+tu+ van8 a P:IC tus s a P:IC5 tus. A P:IC-nel 'sz$lt
utut visszalvas;at lesz a :EA? utastssal= s= a;l 'ell az aznst'
es4ae Z jelet 'ana'. A P:IC5 utasts visznt ne+ ltja el az aznst'at
ezzel a jellel= ;ane+ vltzatlanul viszi 'i.
Az utut 'zsne' e%& +si' +dja a SP:IC ($%%vn& ;asznlata= a;l az e%&es
ttele' e%& s0ba 'e0$lne'= a;l ez le;ets%es= e%&b'nt edi% ebben a
(0+ban8
W($%%vn&-nvQ
W1. a0%.Q
W2. a0%.Q
W3. a0%.Q
...
Wn. a0%.Q
A+i'0 a de(in4i el'sz$lt= SP:IC 't $0es s0t visz 'i= s a CIL 0t'et
adja vissza.
7/25/2019 Is-Lisp Programozsi Segdlet
16/83
7/25/2019 Is-Lisp Programozsi Segdlet
17/83
#. Fejezet
GHV-NJE" DEGINI+L+SA
9int +0 e+ltett$'= a LISP na%&n 0u%al+as n&elv= a+el& 'ite0jeszt;et %&=
;%& az e%&edi (el;asznl' i%n&eine' ele%et te%&en. A+i'0 en belt$n' a
LISP ',0n&ezetbe= +0 e%& e%sz s0 ($%%vn& ll 0endel'ezs$n'0e= a+el&
de(inilt s ;v;at e%&sze0Gen a +e%(elel ($%%vn&-nven= l.
PLJS # /
A HPLJSH ($%%vn& a LISP inte00ete0 0sze'nt van de(inilva s ;ats0a a
H'i0t'elH +e%'e0esi a # s a / ,ssze%t. Ca%&n valsznG= ;%& n;a
;asznlni a'a0un' vala+il&en ($%%vn&t= a+el& +% nin4s de(inilva s il&en'0
+a%un'na' 'ell de(inilni a H?EFJCH a0an4s se%ts%vel.
A a0an4s szintaisa8
?EFJC CA9EPA:A9EE:S B"?K
a;l CA9E az a nv= a+in a ($%%vn&t ezentl ;vju'\ PA:A9EE:S a ($%%vn& inut
adatai\ v%$l B"?K e%& va%& t,bb= elzle% de(inilt LISP ($%%vn&bl ll.
1. P]L?A
e'ints$' azt a ;el&zetet= a+i'0 2M3& 0t't 'ell +e%;at0zni t,bb zben e%&
0%0a+ (utsa s0n. Be0;atnn' a ',vet'ez 0%0a+0szt +inden al'al++al8
PLJS I9ES 2 I9ES 3 K
Ezt n&ilvnvalan s'i% ta0t be%elni s jbb lenne= ;a vlna e%& ($%%vn&$n'=
a+ivel ezt +indi% v%0e;ajtju'. Ezt +e%te;etj$' a ',vet'ez utastssal8
?EFJC "PE:AE P PLJS I9ES 2 P I9ES 3
A LISP inte00ete0 vlaszl8
7/25/2019 Is-Lisp Programozsi Segdlet
18/83
LA9B?A P PLJS I9ES 2 P I9ES 3
jelezve= ;%& a ($%%vn&t si'e0esen de(iniltu'.
a +st a 2M3& ($%%vn&t 'i a'a0nn' 0t'elni= e%&sze0Gen be0;atnn'8
"PE:AE &
HH s H&H 0t'e addi' a ($%%vn&ben HH s H^H 0t'$l= s a % 'isz+tja a
($%%vn&t= a 'i0t'el se%ts%vel.
Pl. "PE:AE # ) --Q 23
A ($%%vn&ne' ez a ;asznlata i%en st0u't0lt 0%0a+zsi +d;z vezet= a+it
H"P-?"
7/25/2019 Is-Lisp Programozsi Segdlet
19/83
P]L?A
e'ints$' azt a (eladatt= ;%& +i' de(inilju' a ',vet'ez LEC 0e'u0zv
($%%vn&t8 LEC vesz e%& LISA B 5 ? E listt s +e%sz+lja= ;n& at+ van a
listban. Ezt a ',vet'ez' te;etj$'8
?EFJC LEC
5"C?
A"9 N
A??1 LEC 5?: U
OpKio$lis <oz'
?e(inil;atun' e%& ($%%vn&t= a+el&i' ;v;at l. e%&= de 't a0%u+entu++al
vltzval is8
?EFJC A??"C A B.2
PLJS A B
Itt az els vltzt +indi% +e% 'ell adni= +% a +sdi' 4inlis -- ;a ne+
adju' +e%= a 2 0t'et veszi (el.
Pl. A??"C # --Q12
A??"C )--Q/
E%& ($%%vn&ne' a'0;n& ',z,ns%es s 4inlis vltzja le;et= azzal a
+e%sz0tssal= ;%& az 4nlis vltz' +ind a ',z,ns%ese' utn ',vet'ezne'.
>e%&ezz$' +e%= ;%& a de(ault 0t' ala0tel+ezs= a (enti ldban a 2
'i0t'eldi'= ;a ne+ adtu' +e%= te;t a (enti lda %& is 0;at8
?EFJC A??"C A B.PLJS 1 1
PLJS A B
Lo'lis <oz'
7/25/2019 Is-Lisp Programozsi Segdlet
20/83
a e%& ($%%vn&t l. e%& ',z,ns%es s 't 4inlis a0%u+entu++al
de(iniltun'8
l. ?EFJC A-FJC A B.1 5.CIL ...
s +indi% e%& a0%u+entu++al ;vju'= a''0 a B s 5 vltz' valjban l'lis
vltz'8 ;asznl;at' Hidei%lenes t0na'H az A-FJC ($%%vn&en bel$l s
eltGnne'= a+i'0 +e%t,0tnt a visszat0s a ($%%vn&bl.
Ggg&$%e' editlsa
A+i'0 0un' e%& LISP 0%0a+t= %&a'0an (%un' benne ;ibt tallni s
sz$'s%$n' lesz a00a= ;%& +e%vltztassu' e%& ($%%vn& de(in4ijt. Pldul
te%&$' (el= ;%& be%elj$'8
?EFJC SJA:E I9ES K
+e0t vletlen$l az e%&i' ;el&ett K-t $t,tt$n' be. A SJA:E ($%%vn&
editls;z 0ju' be8
FE?I SJA:E
A 'e0n& 'ivil%sdi' s ezt (%ju' ltni8
LA9B?A I9ES K
%& 0e0ezentlja a % a ($%%vn&t8 A ?EFJC szt s a ($%%vn& nevt a LA9B?A
szval ;el&ettestette.
%& a ($%%vn&t editlju'= vi%&$' a 'u0z0t az K-;z= a;%& sz's s 0ju'
(el$l -0e. A+i'0 be(ejezt$' a javtst= n&+ju' +e% az ES5APE %+bt. A SJA:E
($%%vn&t ezzel j0ade(iniltu'= a ;el&es (0+0a.
a az j de(in4i lvassa'0 ;iba de0$lt 'i l. e%& (,l,sle%es H.H va%& HH=
va%& (ile-v%= a+i 'evs jbbz0jelet jelent= a ;iba$zenet +e%jeleni' a
'e0n& tetejn n;n& +sde040e. Ez eltGni'= s a 'u0z0 visszat0= ;%& a
;ibt 'i le;essen javtani.
7/25/2019 Is-Lisp Programozsi Segdlet
21/83
7/25/2019 Is-Lisp Programozsi Segdlet
22/83
). Fejezet
"IMENT-S -S ,ETLT-S
A SA@E s a L"A? a0an4s' le;etv teszi'= ;%& a 0endsze0 llatt 'azett0a
vi%&$' s az 'sbb ;asznl;at le%&en. 9ieltt +e%'s0li= ;%& a 0endsze0t
'i+entse= %&zdj,n +e% 0la= ;%& bent van-e e%& $0es 'azetta az adattvitel0e=
s ;%& az Ente00ise +i'0sz+t% utut t'jbl j,v vezet'e' a +a%n
H9I5H s H:E9H t'j;z 4satla'zna'-e.
*eli a 0endsze0 a'tulis llatna' e%& nevet adni= ;a ez l. JES?AK= a''0
be$tve a
SA@E HJES?AKH
a0an4st= ez az llat 'i+entdi' a 'azett0a= 'szen a00a= ;%& 'sbbi
idntban bet,lts$'. Az j0abet,lts e%&sze0Gen a
L"A? HJES?AKH
a0an4s be$tsvel t,0tni'= s %& az ,sszes= (el;asznl ltal de(inilt
'i(ejezs j0a bet,ltdi' a sz+t% +e+0ijba. Ce (elejts$' el
4satla'ztatni a +a%n HEA:H s H:E9H t'jait az ECE:P:ISE inut t'jai;z.
9ED>EDKV]S
A+i'0 a 'azett0l j (ile-t t,lt$n' be= +inden= en a sz+t%ben lev
in(0+4i (el$l0di'. a ez az in(0+4i (nts= elsz,0 +ents$' 'i a SA@E
($%%vnn&el= a;%& (ent le0tu'.
7/25/2019 Is-Lisp Programozsi Segdlet
23/83
. Fejezet
A EOS
Az E"S az Ente00ise +i'0sz+t% 'ite0jeszt;et e04is 0endsze0e.
Inte0(a4e-t szl%ltat az IS-LISP s a % ;a0d7a0e-e ',zt. Az E"S (
al't0szei e%& 4sat0na ala inut-utut I!N 0endsze0 s bn&lult
+e+0ia'ezel esz',z,'. Az I!N 0endsze0 le;etv teszi a be0endezs-($%%etlen
'++uni'4it e%& e%sz s0 betett be0endezssel= vala+int tvbbi= a %;ez
4satl;at be0endezs-+e%;ajt e%&s%%el.
A betett be0endezse'8
1. @ide-+e%;ajt sz,ve%- s %0a(i'a'ezels0e.
2. Billent&Gzet-'ezel= a j&sti4'-'el= aut+ati'us is+tlvel s 0%0a+z;at
(un'4is %+b''al.
3. *e0n&-edit0= sz,ve%'ezelsi le;ets%e''el.
#. *,nn&en 'ezel;et szte0e ;an%-%ene0t0.
). *azetts +a%n.
. 5ent0ni4s '+atibilis 0;uza+s inte0(a4e.
/. :S232 tus s0s inte0(a4e.
. lzati inte0(a4e
A 0endsze0ne' s' al't0szt n;n& e%&b&te-s vltz= az %&nevezett HE"S-
vltz'H i0n&tj'. Eze'ne' a vltz'na' e%& teljes listja az 1. ($%%el'ben
tall;at.
A 'ezd LISP 0%0a+zna' ne+ s' dl%a a'ad az E"S-beli '++uni'4ival.
Elbb-utbb aznban sz$'s%e lesz e00e a '++uni'4i0a. A (ejezet tvbbi 0sze
enne' +i'ntj0l szl.
http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#10http://home/jenci/Let%C3%B6lt%C3%A9sek/Ep128/Enterprise%20IS-LISP%20felhaszn%C3%A1l%C3%B3i%20k%C3%A9zik%C3%B6nyv.htm#107/25/2019 Is-Lisp Programozsi Segdlet
24/83
"per$%) ( editor
A+i'0 a %et en be'a4sltu'= s az IS-LISP 4a0t0id%e a ;el&n van= a
(el;asznl a H'e0n&-edit0H-0al '++uni'l= a+el&i' edi% a LISP
inte00ete00el ta0tja a 'a4slatt. Ez le;etv teszi= ;%& a (el;asznl+z%assa a 'u0z0t a 'e0n&n= illetve a 'e0n&t +z%assa (el s le.
0sator$'
A;%& a (ejezet elejn e+ltett$'= +inden az I!N 4sat0n'n 'e0eszt$l t,0tni'.
A LISP-et %& te0vezt' +e%= ;%& a le%e%&sze0Gbb +Gvelete' enne' a tn&ne' az
is+e0ete nl'$l is elv%ez;et'. J%&ana''0= a 0endsze0 teljes 'i;asznls;z
sz$'s%es= ;%& tudju'= ;%&an 'ezel;et' eze' a 4sat0n' s a +e%(elel E"S
vltz'.
*,zvetlen$l a % be'a4slsa utn a ',vet'ez 4sat0n' leszne' aut+ati'usan
n&ittta'8
N. 5SA":CA E?I":
1. 5SA":CA @I?E" 4sa' a %0a(i'us 0sz -- a D:API5S
a0an44sal n⁢at +e%.
2. 5SA":CA @I?E" 4sa' a sz,ve%es 0sz
3. 5SA":CA ;an%
). 5SA":CA billent&Gzet
A '++uni'4i a '$l,nb,z be0endezse''el +indi% eze'en a 4sat0n'n 'e0eszt$l
t,0tni'= ;a4sa' nin4s az e%&i' vala+il&en 'bl lez0va.
A N.= 2.= 3. s ). 4sat0nt le;etle% n&itva 'ell ;a%&ni. a nin4s 0 n&+s
'= ne z0ju' le eze'et.
Ksator$'
C;a sz$'s%$n' le;et a00a= ;%& j 4sat0nt n&issun' e%& be0endezs-+e%;ajt
7/25/2019 Is-Lisp Programozsi Segdlet
25/83
e%&s% sz+0a= ;%& a '++uni'4i ne a +e%adtt ala4sat0n' vala+el&i'n
t,0tnjen. E00e 't ($%%vn& szl%l8 az "PEC s a 5:EAE. A le%t,bb esetben a
'ett e'vivalens= de +i'0 szala%n va%& le+ezen (ile-t n&itun'= a 5:EAE j
(ile-t ltest= +% az "PEC (elttelezi= ;%& a (ile +0 ltezi'.
P]L?A
e'ints$' azt a (eladatt= ;%& e%& ($%%vn&t 'ell de(inilnun'= a+el& bizn&s
($%%vn&e'et n&+tat 0;uza+s n&+tatn SP:IC utastssal.
Ez a ',vet'ez 0%0a++al ld;at +e%8
?EFJC SP:ICE: EP
"PEC 1N HP:ICE:8H
7/25/2019 Is-Lisp Programozsi Segdlet
26/83
A 12. 4sat0nn +enti inut;z sz$'s%es8
"PEC 12 H?E@I5E8H
:?S 12
Gile$e&e'
A+i'0 4sat0nt n&itun'= il&en ala' a0an4st ;asznlun'8
"PEC 12 HWbe0end.Q8W(ilenvQ.W'ite0j.QH
a;l Wbe0end.Q= W(ilenvQ= W'ite0j.Q e%&i'e se+ ',telez.
A ;asznl;at be0endezse' listjt lsd albb= ;a nin4s +e%adva= az
ala0tel+ezs a szala%.
*EKB"A:?8 A billent&Gzet
@I?E"8 @ide 'e0n& be0endezs
E?I":8 Sz,ve%sze0'eszt be0endezs
P:ICE:8 5ent0ni4s 0t
S"JC?8 an%-be0endezs
SE:IAL8 :S232 0t
CE8 lzat-be0endezs
APE8 *azetta be0endezs
SVALAD-FILE *EVEL]S
C;a sz$'s%$n' le;et a00a= ;%& in(0+4it va%& ($%%vn&e'et +ents$n' 'iszala%0a= anl'$l= ;%& a teljes ',0n&ezetet 'i+entenn'. Ezt a ',vet'ez
($%%vn& de(inilsval te;etj$'8
?EFJC FILE EP
5:EAE 11 HAPE8:H
7/25/2019 Is-Lisp Programozsi Segdlet
27/83
A+i'0 a HFILEH ($%%vn&t ;vju'= az HEPH a0a+te0 ta0tal+a 'i+entdi' e%&
H:H nevG (ile-ba. Ez 'sbb ;asznl;at lesz e%& +sdi' ($%%vn& se%ts%vel=
a+el& a 'i(ejezst a szala%-(ile-bl elveszi.
P]L?A
?EFJC E:A5 E9P
"PEC 11 HAPE8:H
:?S 11
SE E9P :EA?
:?S N
5L"SE 11
E9P
E:A5 be%elsvel= az H:H (ile-ban lev 'i(ejezst (%ju' +e%'ani.
EOS para$Kso'
0+ LISP ($%%vn& van= az E"S-:EA?= az E"S-
7/25/2019 Is-Lisp Programozsi Segdlet
28/83
7/25/2019 Is-Lisp Programozsi Segdlet
29/83
/. Fejezet
A INTERR*PT "EEL-SE
Az IS-LISP Ente00ise vltzatban van e%& se4ilis aznst= a+i le;etv
teszi= ;%& a LISP 0%0a+z ($%%vn&e'et 0jn= a+el&e' 'i;asznlj' az
inte00ut 0endsze0t.
9i'0 en be'a4sltu' a +i'0sz+t%et= a AC?LE: vltz JC?EFICE?= s
a'0+il&en s(t7a0e inte00ut 0'ezi'= ez S"F
7/25/2019 Is-Lisp Programozsi Segdlet
30/83
3. Le;ets%= ;%& a 0%0a+t +e%sza'tsu'= l. a s;i(t-F1 %+bbal= s eze'utn
dl%zzun' tvbb= +int;a ne+ t,0tnt vlna se++i.
A ',vet'ez tblzat +utatja a AC?LE:-ne' adtt 0t'e'et= a+i'0 a s(t7a0e
inte00ut be0'ezi'8
"d I$terr1pt "d I$terr1pt
1 1. (un'4is %+b 2 11. (un'4is %+b
1/ 2. (un'4is %+b 2/ 12. (un'4is %+b
1 3. (un'4is %+b 2 13. (un'4is %+b
16 #. (un'4is %+b 26 1#. (un'4is %+b
2N ). (un'4is %+b 3N 1). (un'4is %+b
21 . (un'4is %+b 31 1. (un'4is %+b
22 /. (un'4is %+b 32 S"P
23 . (un'4is %+b 33 a'0+el&i' %+b
2# 6. (un'4is %+b # [LVA
2) 1N. (un'4is %+b # :A
A 6-1-s %+b' s;i(telte'
G1$'Kis gomQ(i$terr1pto'
a e%& (un'4is %+b az $0es st0in%%el van be0%0a+zva= +e%n&+sa'0 s(t7a0e
inte00utt %ene0l. A LISP (el$%&elete alatt bizn&s %+b' el0e vanna'
0%0a+zva ;aszns a0an4s'0a= l. FE?I= a t,bbie' az $0es st0in%0e.
Stop(i$terr1pt
a a -as sz+ S"PI: E"S-vltz ne+-N 0t'G= a''0 a st-%+b l&an
'dt (% visszaadni= +int b0+el& +s %+b= a+i valjban a st-%+bt
;atstalantja. E%&b'nt= ;a a st-%+bt n&+ju' +e%= 32-es s(t7a0e
inte00ut 0'ezi'.
,rmel% gomQ(i$terr1pt
a a 6-es sz+ *EKI: E"S vltz N 0t'et 'a ala0tel+ezse 2))Z=
a''0= a'0+el&i' %+bt n&+ju' +e%= 33-as s(t7a0e inte00ut 0'ezi'= a 'dt
7/25/2019 Is-Lisp Programozsi Segdlet
31/83
is visszaadva.
lzati i$terr1pt
A+i'0 $zenet 0'ezi' a ;lzat;z= ltalban s(t7a0e inte00ut %ene0ldi'.'ivve= ;a a 16-es sz+ CEI: E"S-vltz N. Ez az0t ;aszns= +e0t %&
a (el;asznl= ellvasva az $zenetet= 0ea%lni tud 0.
9e%je%&zs A 1-as sz+ A??:CE E"S-vltz (%ja e''0 ta0tal+azni anna' a
;lzati 4sat0nna' a sz+t= a+el&0l az adat belvas;at.
!ra(i$terr1pt
Az )-,s sz+ I9E: E"S-vltz ltalban N 0t'G. a visznt +s 0t'0e
lltju'= az E"S-
7/25/2019 Is-Lisp Programozsi Segdlet
32/83
JCIL E ICPJBKE
P:IC5HcccLeavin% ?ebu%H
E::":SEP:ICE@AL ICPJ
Az inte00ut'ezels ;at'n& esz',z e%& taasztaltabb 0%0a+z 'ezben sle;ets%es vele bn&lult ($%%vn&e'et al'tni= a+el&e' a''0 lne' +G',dsbe=
a+i'0 e%& se4ilis s(t7a0e inte00ut 0'ezi'.
9e%je%&zs Sajns a LISP ne+ vlaszl az inte00ut'0a= a+% a (el;asznl0a
v0= ;%& az vala+it be%eljen va%&is= a+% a 'u0z0 vill%.
7/25/2019 Is-Lisp Programozsi Segdlet
33/83
. Fejezet
A IS(LISP GHV-NJEI
Ez a (ejezet a LISP ($%%vn&e' al(abeti'us (els0lst ta0tal+azza = le0ja
st0u't0ju'at s +G',ds$'et= s n;n& ldt ad ;asznlatu'0a. 9inde%&i'
($%%vn& az itt (els0lt 'ate%0i' e%&i'be ta0tzi'8
Sub0 - ',z,ns%es ($%%vn&= a+el& ,sszes a0%u+entu+t
'i0t'eli.
Fsub0 - ($%%vn&= a+el& ne+ sz$'s%sze0Gen ,sszes
a0%u+entu+t 0t'eli 'i.
Id - aznst= a LISP-ben se4ilis jelentssel.
@a0 - a 0endsze0 szl%ltatta vltz.
A LISP ($%%vn&e' a0%u+entu+ait HW QH z0jele' ',z tessz$'= va%& HT UH
z0jele' ',z= az utbbi 4inlis a0%u+entu+t jelez.
A ($%%vn& e0ed+n&e is +e% van adva= s ez e%& lista azaz a b 4 ... z= e%&
e%sz sz+ a -32/ s a 32// ',zti inte0vallu+ban= va%& a HtetH sz= a+i azt
jelenti= ;%& az e0ed+n& tusa tetszle%es LISP tus le;et.
A,S CszmU(( szm S1Qr
Az a0%u+entu+ abszlt 0t't adja.
l. ABS 23--Q 23
ABS-16--Q 16
ADD CszmU(( szm S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
34/83
Az a0%u+entu+nl 1-%&el na%&bb sz+t ad.
l. A??1 23--Q 2#
AND C. 'iFeezs CW. 'iF.... U(( NIL &ag% tet Gs1Qr
S00a 'i0t'eli a0%u+entu+ait. a az e%&i' CIL= a ($%%vn& +inden' CIL-t ad\
e%&b'nt az utls a0%u+entu+ 0t't adja.
l. AC?CJ9BE:P 1N A"9A B--Q CIL
AC? LISPA BKV--Q KV
APPEND C C%U(( list S1Qr
a Q s W&Q list'= a''0 ez a ($%%vn& azt a listt (%ja adni= a+el&i'
elsz,0 WQ= +ajd W&Q ele+eit s0lja (el.
?EFJC APPEC? K
5"C?
A"9 K
5"CS 5A: APPEC? 5?: K U
l. APPEC?A B 5 ?--Q A B 5 ?
APPLJ CFg CargU(( tet S1Qr
Az W(%Q ($%%vn& 0t't adja az Wa0%Q a0%u+entu+' +ellett.
l. APPLK CJ9BE:P1N--Q
ASSO0 C'd Ca listaU(( NIL &ag% C'd.rt'U S1Qr
9e%'e0esi a 0endezett 0' +e%(elel listjt az adtt 'd0a. a a 'e0ess
si'e00el j0t= e%& W'dQ.0t' 0t ad\ e%&b'nt CIL-t.
?EFJC ASS"5 J ALIS
7/25/2019 Is-Lisp Programozsi Segdlet
35/83
5"C?
A"9 ALIS CIL
A"95A: ALIS E::": HBA?
ASS"5IAE? LISH
EJAL J5AA: ALIS 5A: ALIS
ASS"5 J 5?: ALISU
l. ASS"5AB.2 A.-3--Q A.-3
AT Csor CoszlopU(( NIL S1Qr
A 'u0z0t az a'tulis utut 4sat0nn aWs0Q=WszlQ z4i0a viszi.
l. A 1N 2N--Q CIL
ATOM C3U(( T &ag% NIL S1Qr
-t ad i%az= ;a WQ ne+ 0endezett 0.
l. A"9A.B--Q CIL
A"9A--Q
A"9 1N--Q
A"9 5A:--Q
A*TOLOAD Id
A+i'0 az E@AL 0%0a+ +e%'s0li e%&
WaznstQ Wa0%Q
ala' 'i(ejezs 'i0t'elst= s azt tallja= ;%& WaznstQ JC?EFICE?= ez
ltalban ;ibt e0ed+n&ez. A (el;asznl visznt 0;at e%& autlade0t= a+el&
LISP ($%%vn&= s +indi% 'i0t'eldi'= a+i'0 a (el;asznl de(inilatlan
0t'G ($%%vn&t ;v.
Az autlade0 bellt;at a
7/25/2019 Is-Lisp Programozsi Segdlet
36/83
SE AJ"L"A? F:E?
a0an44sal. %& a F:E? ($%%vn& +indi% ;vdi'= a+i'0 de(inilatlan ($%%vn&
sze0eel a 0%0a+ban= enne' a ($%%vn&ne' a nevvel= +int e%&etlen
a0%u+entu++al. Ez a t-d7n st0u't0j 0%0a+zsban a le%;asznsabb= +e0t%& a (els szinten lv ($%%vn&e' tesztel;et' anl'$l= ;%& az alsbb szinte'
($%%vn&eit de(inilnn'.
,ANDW C3 C%U(( szm S1Qr
Az WQ s W&Q sz+' biten'nt 'zett AC?-jt (%ja adni= a+i'0 bin0is
(0+ban sze0eelne'.
l.= +ivel / bin0is (0+ja 111= 3- 11= ez0t
BAC?2 / 3--Q 3
,EAM C'iFeezs(( NIL S1Qr
a 'i(.Q ne+ CIL= a''0 az a'tulis %0a(i'us 4sat0nn a su%0zs +e%'ezddi'=
'$l,nben be(ejezdi'.
l. BEA9 CIL--Q 'i'a4sls
BEA9 --Q be'a4sls
,LAN" Var
Ez 0e0ezentlja a sa4e 'a0a'te0t
l. P:IC5 BLAC* e%& sa4e 'a0a'te0t ad 'i a 'e0n&0e.
,NOT CszmU(( szm S1Qr
A sz+ biten'nti C"-jt 'ezi= azaz -bl --1 lesz.
l. BC" /--Q -
7/25/2019 Is-Lisp Programozsi Segdlet
37/83
BC" -3--Q 2
,ORDER CszmU(( NIL S1Qr
a N W sz+ W 2))= a''0 %& a 'e0et szne a Wsz+Q ltal 0e0ezentlt szn0evltzi'.
l. B":?E: #2
,ORW C3 C%U(( szm S1Qr
A 't sz+= WQ s W&Q= biten'nti ":-jt 'ezi.
l.= +ivel / bin0isan 111= 3 edi% 11= ez0t
B":2 / 3--Q /
,ORW C3 C%U(( szm S1Qr
Az WQ s W&Q sz+' biten'nti e'luzv -":-jt 'ezi.
l.= +ivel / bin0isan 111= 3 edi% 11= ez0t
B":2 / 3--Q #
0APT*RE Crgi CXU(( NIL S1Qr
9inden lvassi +Gveletet ti0n&t a W0%iQ 4sat0n0l az WjQ 4sat0n0a.
l. 5APJ:E 3# 1N2--Q CIL
0AR C3U(( tet S1Qr
Az WQ ntztt 0 els +ezejt adja e0ed+n&$l. A 2)-,s ;iba l (el= ;a WQ
ne+ 0endezett 0. A 5A: nv ;el&ett EA? is 0;at. A 5A: ($%%vn&
'ite0jeszt;et a 5AA: s a 5AAA: 0,vidtse'et ;asznlva= a 5A: 5A:= ill. a 5A:.
5A: 5A: ($%%vn&e' 0e0ezentls0a.
7/25/2019 Is-Lisp Programozsi Segdlet
38/83
l. 5A: A.B--Q A
5A: A.B.5--Q A.B
5AA: A.B.5--Q A
0DR C3U(( tet S1Qr
Az WQ 0endezett 0 +sdi' +ezejt adja. A 2)-,s ;iba l (el= ;a WQ ne+
0endezett 0. A 5?: nv ;el&ett AIL is 0;atd. A 5?: ($%%vn& 'ite0jeszt;et a
5??: 5-s a 5???: 0,vidtse'et ;asznlva= a 5?: 5?:= ill. a 5?: 5?: 5?:
($%%vn&e' 0e0ezentls0a.
l. 5?: A.B--Q B
5?: A.B.5--Q B.5.
5??: A.B.5--Q 5
0ARA0TER CszmU(( id S1Qr
A Wsz+Q= +int AS5II 'd ltal de(inilt aznstt adja. A BASI5-beli 5:
LISP-e'vivalense.
l. 5A:A5E: )--Q A
0ARP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ aznst= '$l,nben CIL-t.
l. A:P A--Q
A:P 1N--Q CIL
0ARS C'iF.(( szm S1Qr
Az'na' a 'a0a'te0e'ne' a sz+t adja 'i= a+el&e'et e%& at+ %ene0lna= ;a
'in&+tatn'. Az 0t' ($%% az a0%u+entu+ tustl.
lista--Q N
aznst--Q a 'in&+tattt nv 'a0a'te0eine' sz+a
7/25/2019 Is-Lisp Programozsi Segdlet
39/83
e'vivalens a BASI5-beli LEC-nel
sz+--Q
'dinte0--Q 1N
l. 5A:S A--Q 1
5A:S 1N--Q
5A:S 5A:--Q 1N
0LEARU(( NIL S1Qr
9e%vil%tja az a'tulis %0a(i'us 4sat0na vide a%e-t.
0LOSE CszmU(( Cszm S1Qr
a Wsz+Q 0vn&es 4sat0nasz+a e%& n&ittt (ile-na'= a''0 azt lez0ja.
l. 5L"SE 1 lez0ja az 1-es 4sat0n;z ta0tz (ile-t.
0ODEP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ 'dinte0= '$l,nben CIL-t.
l. 5"?EP A.B.--Q CIL
5"?EP 5A:--Q
0OMMENT Ctet CtetW...U(( NIL Gs1Qr
A00a ;asznlju'= ;%& sz,ve%es +e%je%&zse'et ;el&ezz$n' el e%& 'i(ejezsben.
l. 5"99EC EV CE9 ]:EL9EV?I*--QCIL
0OND ll/tsUll/tsU...U(( TET S1Qr
Ez e%& +dsze0 a st0u't0a i0n&ts0a= s ;asnl a BASI5-beli IF EC ELSE
a0an4s;z.
7/25/2019 Is-Lisp Programozsi Segdlet
40/83
IF Wll1Q EC W'i(1Q
ELSE IF W112Q EC W'i(2Q
...
ELSE W'i(.Q
a LISP-ben %& 0;at8
5"C? Wll1Q W'i(1Q
Wll2Q W'i(2Q
... W'i(.Q
l. 5"C? E A 3 P:IC HAO3H
E A # P:IC HAO#H
CIL
0ONS CKar rszCKdr rszU(( lista S1Qr
fj listt al't a 't +e%adtt 'i(ejezsbl.
l. 5"CSAB--Q A.B
5"CSA5"CSB CIL--Q A B
0ONSTANTP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ sz+ va%& 'dinte0= '$l,nben CIL-t.
?EFJC 5"CSACP ": CJ9BE:P 5"?EP U
l. 5"CSACP 1N--Q
5"CSACP A--Q CIL
0OPJ C3U(( C3 S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
41/83
WQ e%& ldn&t adja.
?EFJC 5"PK
5"C?
A"9
5"CS5"PK5A: 5"PK 5?: U
l. 5"PKHAB5?E--Q AB5?E
0REATE Cszm CFile$&U(( Cszm S1Qr
Ez a ($%%vn& +e%n&itja a W(ilenvQ (ile-t a Wsz+Q 4sat0nasz+n. E'vivalensaz HA44ess ututH-tal se4i(i'lt BASI5 "PEC a0an4s;z -- ld. a BASI5
'zi',n&vet.
l. 5:EAE 1) HCA9EH
0RLG Var
5:LF 0t'e e%& '4si vissza!s0e+els
0*RSOR C'iFU(( NIL S1Qr
a W'i(Q ne+ CIL= a''0 a 'u0z0 az a'tulis utut 4sat0nn be'a4sldi'\
'$l,nben 'i'a4sldi'.
l. 5J:S": CIL--Q CIL 'u0z0 'i
5J:S": --Q CIL 'u0z0 be
DEGLIST Cdlista Ci$dU(( lista S1Qr
A WdlistaQ a0%u+entu+ l&an lista= a+el&i'ne' +inden ele+e 'tele+G lista\
WdlistaQ-ban +inden aznstna' +e%van az WindQ indi't00al jelzett
tulajdns%-listn el;el&ezett tulajdns%a. Az indi't0' e%& listjt 'aju'
vissza.
?EFIC ?EFLIS J IC?
7/25/2019 Is-Lisp Programozsi Segdlet
42/83
5"C?
A"9 J CIL
PJ5AA: J IC? 5A?A: J
5"CS5AA: J ?EFLIS5?: J IC?
l. ?EFLIS @ ?? :D CA9E--Q @
a+i u%&anaz= +int8
PJ @ CA9E ??--Q ??
PJ CA9E :D--Q :D
s vissza'a;at= %&8
DE @ CA9E--Q ??
DEGMA0 C$& Cparamter Ct#rzs... U(( C$& Gs1Qr
Ez a sz'ss +d +a'0' de(inils0a.
l. ?EF9A5 IF
LIS
H5"C?H
LIS 5A?: 5A??:
LIS 5A: 5???:
Ez az IF +a'0t de(inilja= a+el&et 3 a0%u+entu++al ;vun'8
l. IF A B 5
HAH 'i0t'eldi'=8 ;a i%az= e lesz az e0ed+n&\ '$l,nben 5.
l. IF VE:"P # )--Q #= ;a ON
IF VE:"P # )--Q )= ;a WQN
7/25/2019 Is-Lisp Programozsi Segdlet
43/83
DEG*N C$& Cparamtere' Ct#rzs...U(( C$& Gs1Qr
Ez a sz'ss +d ($%%vn&e' de(inils0a.
l. ?EFJC SJA:E I9ES2 --Q SJA:E
DEGVIDEO C@md Cg(md Cg(sz/$(( NIL S1Qr
Ez a ($%%vn& de(inilja az'at a a0a+te0e'et= a+el&e'et 4sa' a E s a
D:API5S ($%%vn&e' ;asznlna'.
WM+dQ #N va%& N s a 'e0n& szlaina' sz+t jel,li.
W%-+dQ a ',vet'ez' e%&i'e8
1 na%&(elbnts %0a(i'a
) 'is(elbnts %0a(i'a
1) att0ibtu+ +d
W%-sznQ a ',vet'ez' e%&i'e8
N 't-szn +d
1 n%&-szn +d
2 1-szn +d
3 2)-szn +d
l. ?EF@I?E" #N 1 N--Q CIL
DEL CKYU(( CKY S1Qr
Lez0ja a W4;Q E"S 4sat0nt. A le%t,bb be0endezs esetben e'vivalens a 5L"SE
($%%vnn&el.
l. ?EL 1--Q 1
DELETE C3 C%U(( lista S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
44/83
Az W&Q listt adja vissza= a+el&bl 'it,0,lte WQ els el(0dulst.
?EFJC ?ELEE A L
5"C?
A"9 L L
EJAL A 5A: L 5?: L
5"CS5A: L?ELEE A 5?: L
l. ?ELEE A B A 5 A--Q B 5 A
DIGGEREN0E C3 C%U(( szm S1Qr
Az W&Q sz+t 'ivnja az WQ sz+bl s 'iadja az e0ed+n&t.
l. ?IFFE:EC5E / 3--Q #
DIIT C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ aznst= a+el&ne' 'in&+tattt neve sz+je%%&el 'ezddi' N-6
l. ?IDI A--Q CIL
?IDI ZNA--Q
DISPLAJ CKsatCtlCsorC$lU(( NIL S1Qr
Ws0Q db. s0t jelent +e% a 'e0n&n= a W4satQ 4sat0na a%e-ne' WtlQ
s0tl 'ezdve= az els s0t a 'e0n& WnlQ s00a teszi. 9inden a0%u+entu+na'
e%szne' 'ell lennie.
l. ?ISPLAK # 1N / 1--Q CIL
a #-es 4sat0na a%e-ne' 1N.-1. s0ait jelenti +e%=
a 'e0n& le%(els s0ban 'ezdve.
DIVIDE C3 C%U(( CY$%ados.mar S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
45/83
Az WQ sz+t sztja el az W&Q sz++al s a ;n&ads.+a0ad' 0t adja vissza.
l. ?I@I?E / 3--Q 2.1
DOLLAR Var
Ez a 'a0a'te0.
EDIT C'iFU(( tet S1Qr
E%& sz,ve%es a%e-et 'szt= s a SP:IC ;asznlatval +e%jelenti W'i(Q-et.
E''0 editlni le;et W'i(Q-et= e;;ez ;asznl;at az ,sszes sz,ve%sze0'esztsi
le;ets%= a be(ejezs az HES5APEH %+b +e%n&+sval t,0tni'.. A +dsult
(0+a belvass0a 'e0$l s +e%jeleni' a 'e0n&n. F$%%vn&e' editls0a
visznt a sz'ss +d az FE?I ($%%vn& ;vsa.
ELLIPSE C3 C%U(( NIL S1Qr
Elliszist 0ajzl= az a'tulis 'e0n&-z4ival= +int ',znttal= az
a'tulis %0a(i'us 4sat0nn= az a'tulis elt0-sznnel. WQ= ill. W&Q 0end0e az
-su%a0at= ill. az &-su%a0at jel,li.
l. ELLIPSE 2NN 1NN--Q CIL
ENVELOPE Ce$Cer9CKpCKlCKrCpdZU(( NIL Gs1Qr
A ;an%bu0'lna' e%& teljes le0sa tall;at a BASI5 'zi',n&vben.
WenQ a ;an%bu0'l sz+ N-2)N
We0Q a (zis' sz+a a ;an%'ib4sts eltt 2))= ;a nin4s 'ib4sts
A sz,%letes z0jelben lev a0a+te0e' e%& (zist ;at0zna' +e% s le%(eljebb
12-sze0 is+tel;et'.
W4Q ;an%+a%ass%-vltzs (l;an%'ban
W4lQ a balldali ;an%sz0 ;an%e0eje -3...3
W40Q a jbbldali ;an%sz0 ;an%e0eje -3...3
WdQ a (zis idta0ta+a= 1!)N s-'ban.
l. EC@EL"PE 1 1 1N 3N 2N 1N--Q CIL
7/25/2019 Is-Lisp Programozsi Segdlet
46/83
EOGU(( T &ag% NIL S1Qr
9e%vizs%lja= ;%& az a'tulis inut 4sat0nn (ilev%nl ta0tun'-e. ]0t'e =
;a i%en= '$l,nben CIL.
E[ C'iF C'iFWU(( T &ag% NIL S1Qr
A ($%%vn& -t ad= ;a a0%u+entu+ai0a a ',vet'ez' e%&i'e i%az8
1. 9ind'ett u%&anaz az aznst.
2. 9ind'ett u%&anaz a sz+.
3. 9ind'ett u%&anaz a lista a LISP +e+0iban.
l. E 1 A--Q CIL
E 1N 1N--Q
E A B A B--Q CIL
E[*AL C'iF C'iFWU(( T &ag% NIL S1Qr
9e%vizs%lja= ;%& 't adtt ltalns 'i(ejezs azns-e.
?EFJC EJAL K
5"C?
E K
": A"9 A"9 K CIL
EJAL5A: 5A: K EJAL 5?: 5?: K
CIL
l. EJAL 1 A--Q CIL
EJAL A B A B--Q
ERROR CszmU(( $i$Ks rt'e S1Qr
Felldja a Wsz+Q LISP ;iba'dt
7/25/2019 Is-Lisp Programozsi Segdlet
47/83
ERRORSET CtetU(( szm &ag% tet Gs1Qr
*i0t'eli az a0%u+entu+t. a e',zben ne+ de0$l 'i ;iba= a''0 visszaadja WtetQ
'i0t'elsne' e0ed+n&t= +int e%& 0endezett 0t= a CIL-lel= '$l,nben a
;iba'dt.
l. E::":SE A"9 1N--Q
E::":SE A.B--Q 1/
EVAL CtetU(( Ctet S1Qr
A0%u+entu+na' +sdi' 'i0t'elst ;ajtja v%0e.
l. E@AL 5A: A B--Q A
EVLIS Clista(( lista S1Qr
*i0t'eli a lista ,sszes ele+t s az e0ed+n&e' listjt adja.
?EFJC E@LIS A:DS
5"C? A"9 A:DS CIL
5"CSE@AL5A: A:DS
E@LIS5?: A:DS
l. E@LIS5A:PV EAB--Q CIL
EOS(READ C&arU(( Cszm S1Qr
A Wva0Q E"S vltz a'tulis 0t't adja 'i.
l. E"S-:EA? 1N--g 23#
EOS(TOLE C&arU(( Cszm S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
48/83
*a4sl'nt +G',di' s HvltjaH a +e%(elel E"S vltzt. Az e0ed+n& a
vltz a'tulis sttuszna' '+le+ense.
l. E"S-"DDLE --Q N
EOS(\RITE C&ar C&alU(( C&al S1Qr
A Wva0Q E"S vltzt a WvalQ 0t'0e lltja be.
l. E"S-
7/25/2019 Is-Lisp Programozsi Segdlet
49/83
EPLODE Cazo$U(( list S1Qr
E%& listt ad= WaznQ 'in&+tattt nevne' 'a0a'te0eivel.
l. EPL"?E AB5?E--Q WA B 5 ? E
EPL"?E .... --Q CIL
GEDIT CFg&U(( NIL Gs1Qr
asnl E?I-;ez= de le;etv teszi= ;%& az W(%vQ ($%%vn&t +e%vltztassu'.
C&+ju' +e% az HES5APEH %+bt az editls v%eztvel= ;%& a ($%%vn&
j0ade(inildjn.
G"EJ C'$ CstrU(( NIL S1Qr
A W'nQ (un'4is %+b;z a Wst0Q st0in%et 0endeli= a+el& le%(eljebb 23 'a0a'te0
le;et.
W'nQ az 1-1 inte0vallu+ba esi'= 6-1 az 1--bl s;i(ttel llna' el.
l. F*EK 1 H9st be va%&' 0%0a+zvaZH--Q CIL
GLA Cazlis Ci$dU(( NIL S1Qr
A listban +inden aznstt az WindQ jelzvel lt el.
l. FLAD A B 5 ? FICE--Q CIL
GLAP Cazo$ Ci$d(( T &ag% NIL S1Qr
A00a ;asznlats= ;%& +e%vizs%lju'= az WaznQ aznst az WindQ jelzvel van-
e elltva.
l. FLADP A FICE--Q va%& CIL
GLATTEN C3U(( lista S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
50/83
WQ e%sz 0sz(a-st0u't0jt +e%sz$nteti.
?EFJC FLAEC
5"C?
CJL CIL
A"9 5"CS CIL
C5"C5 FLAEC5A: FLAEC5?:
l. FLAEC AB CIL 5.? E--Q A B 5 ? E
GL*S CKYU(( NIL S1Qr
*i$0ti a W4;Q ;lzati 4sat0nt.
l. FLJS 1/--Q CIL
GS*,RP C3U(( T &ag% NIL Gs1Qr
-t ad= ;a WQ e%& Fsub0 tus ($%%vn& 'dinte0e= CIL '$l,nben.
l. FSJB:P 5"C?--Q
FSJB:P A--Q CIL
G*NAR Id
FJCA:D 0t'e ;at0zatlan. Az inte00ete0en bel$l van se4ilis jelentse= n.
FJCA:D lez0s'nl.
G*N0TION CF$U(( G*NAR CF$ '#r$%ezet Gs1Qr
]en %& +G',di'= +int J"E W^uQ= de 4sa' ($%%vn&e'0e al'al+az;at. A+i'0 az
e0ed+n&$l 'att (0+ba n. FJCA:D lez0s bizn&s a0%u+entu+'at
;el&ettest$n'= +inden vltzna' u%&anaz lesz az 0t'e= +int a lez0si
e04i elv%zse eltt.
7/25/2019 Is-Lisp Programozsi Segdlet
51/83
ENSJMU(( azo$ S1Qr
E%&etlen aznstt ad vissza= enne' (0+ja DNNNN= DNNN1= stb.
l. DECSK9--Q NNN#2
ET Cazo$ Ci$dU(( tet S1Qr
Az WaznQ aznst listjn lev tulajdns%t adja e0ed+n&$l= az WindQ jelz
+ellett= va%& CIL-t= ;a il&en tulajdns% nin4s.
l. DE @ CA9E--Q ??
ET0ARU S1Qr
E%&etlen 'a0a'te0 lvasdi' be az a'tulis inut 0a+bl= ez lesz az e0ed+n&.
>e%&ezz$' +e%= ;%& az a ($%%vn& ne+ u%&anaz= +int a BASI5-beli IC*EK. IC*EK
LISP e'vivalense8
?EFJC IC*EK
:?S )
P:"D1 AC? VE:"P :EA?SAJS DE5A: :?S N
l. DE5A:--Q >
RAPI0SU(( NIL S1Qr
a van %0a(i'us 4sat0na= a''0 az a 'e0n&n +e%jeleni'\ '$l,nben standa0d
%0a(i'us a%e 'e0$l +e%n&its0a= s +e%jeleni' a 'e0n& (els ;sz s0ban. A%0a(i'us +d s a szne' a ?EF@I?E" a0an44sal de(inildna'.
REATERP C3 C%U(( T &ag% NIL S1Qr
-t ad= ;a az WQ sz+ na%&bb= +int az W&Q sz+\ '$l,nben CIL-t.
l. D:EAE:P / 3--Q
RS CKYU(( Cszm S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
52/83
ats0a W4;Q lesz az a'tulis %0a(i'us 4sat0na= az elz sz+a edi% az
e0ed+n&.
ANDLER Id
A LISP +G',dse ',zben Hs(t7a0e inte00ut'H 0'ez;etne' az e04is
0endsze0tl. A AC?LE: vltz bellt;at %&= ;%& az inte00ut 0'ezse'0 a
0endsze0 e%& bizn&s +Gveletet v%ezzen el. Lsd a /. (ejezetet.
EAD C3U(( tet S1Qr
Ez a ($%%vn& a 5A: ($%%vnn&el azns.
l. EA? A.B--Q A
IMPLODE CidlistU(( id S1Qr
_sszeln4lja az WidlistQ-ben lv at+'at= s az %& 'att aznstt adja
vissza.
l. I9PL"?E A B 5? EF D--Q AB5?EFD
IN CioportU(( szm S1Qr
A VN Wi0tQ inut!utut 0tjtl 'att 0t'et adja vissza.
l. IC 126--Q 3
IN" CKolU(( NIL S1Qr
A alett0l vlaszttt Hl%i'aiH szn0e 4se0li az a'tulis %0a(i'us 4sat0na
elt0-sznt.
l. IC* 1N--Q CIL
INTERN CidU(( Cid S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
53/83
*e0esi WidQ-et az blist listn. a tt ne+ tallja= 'ie%szti vele a listt s
e0ed+n&$l is WidQ-et ad.
l. ICE:C
7/25/2019 Is-Lisp Programozsi Segdlet
54/83
A"9 N
A??1 LECD5?:
l. LECD A--Q N
LECD A B 5.? E--Q #
LESSP C3 C%U(( T &ag% NIL S1Qr
-t ad= ;a az WQ sz+ szi%0an 'isebb= +int az W&Q sz+\ '$lnben CIL-t.
l. LESSP / Y--Q CIL
LINELENT CtetU(( szm S1Qr
E%& s0 ;sszt adja= a;%& azt a SP:IC utasts ;asznlja.
l. LICELECD N--Q # az elz 0t'
LIST Carg CargW ... U(( lista S1Qr
Az Wa0%1Q Wa0%2Q ... listt adja.
l. LIS A B -6 5--QA B -6 5
LISTP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ 0endezett 0\ '$l,nben CIL-t
l. LISP A B--Q
LITER C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ l&an aznst= a+ine' 'in&+tattt neve betGvel 'ezddi'\
'$l,nben CIL-t.
7/25/2019 Is-Lisp Programozsi Segdlet
55/83
l. LIE: A--Q
LIE: ZNA--Q CIL
LOAD CFile$&U S1Qr
Bet,lt e%& SA@E ($%%vnn&el 'i+entett +e+0ia0szt= va%& e%& LISP 'i(ejezse'bl
ll AS5II (ile-t.
l. L"A? HCA9EH
LOOP Cte& Cte&W ... U(( tet S1Qr
Addi% v%zi a Wtev1Q= Wtev2Q= ... tev'en&s%e'et= a+% a
7/25/2019 Is-Lisp Programozsi Segdlet
56/83
az A B 5 ? B 5 ? 5 ? ? CIL ututt (%ja adni.
MAP0 C3 CF$U(( NIL S1Qr
Az W(nQ ($%%vn&be ;el&ettesti s00a az WQ lista ele+eit= s ezen'v$l +% e%&CIL-t ad e0ed+n&$l.
?EFJC 9AP5 FC
L""P
JCIL A"9 CIL
FC 5A:
SE 5?:
l. 9AP5A B 5 ? LA9B?A P:IC --Q CIL
az AB5? CIL ututt adja.
MAP0AN C3 CF$U(( lista S1Qr
Az a ',vetel+n&= ;%& az W(nQ-be val +inden ;el&ettests listt ad
e0ed+n&$l. A 9AP5AC ($%%vn& az %& 'att list' ,sszeln4ltjt adja.
?EFJC 9AP5AC FC
5"C?
A"9 CIL
C5"C5 FC 5A: 9AP5AC5?: FC
l. 9AP5ACA B 5 ?LA9B?A LIS
--Q
A A B B 5 5 ? ?
MAP0AR C3 CF$U(( lista S1Qr
Azt a listt adja e0ed+n&$l= a+el& az WQ lista ele+eine' s00a W(nQ-be val
;el&ettestse'0 j,n lt0e.
?EFJC 9AP5A: FC
7/25/2019 Is-Lisp Programozsi Segdlet
57/83
5"C?
A"9 CIL
5"CSFC5A: 9AP5A:5?: FC
l. 9AP5A:A B 5 ?LA9B?A 5"C5
--Q
A.A B.B 5.5 ?.?
MAP0ON C3 CF$U(( lista S1Qr
*,vetel+n&= ;%& az W(nQ-be val +inden ;el&ettests listt adjn. 9AP5"C
W(nQ-be ;el&ettesti 0end0e WQ-et= 5?: WQ-et= 5??: WQ-et= a+% a lista el
ne+ (%& s a 'att list' ,sszeln4ltja lesz az e0ed+n&.
?EFJC 9AP5"C FC
5"C?
A"9 CIL
C5"C5 FC 9AP5"C 5?: FC
l. 9AP5"CA B 5 ?LA9B?A LIS
5"CS 1 --Q 1 A B 5 ?1 B 5 ?1 5 ? 1 ?
MAPLIST C3 CF$U(( lista S1Qr
Azt a listt adja 'i= a+el& az WQ-ne'= 5?:WQ-ne'= 5??:WQ-ne'=...= stb.
W(nQ-be val ;el&ettestse'0 addi'= +% a lista 'i ne+ +e0$l.
?EFJC 9APLIS FC
5"C?
A"9 CIL
5"CSFC 9APLIS5?: FC
l. 9APLISA B 5 ?LA9B?A
LECD --Q # 3 2 1
7/25/2019 Is-Lisp Programozsi Segdlet
58/83
MAW C3 C%U(( szm S1Qr
az WQ s az W&Q sz+' ',z$l a na%&bbi'at adja.
l. 9A2 / 3--Q /
MEM,ER C3 C%U(( NIL &ag% lista S1Qr
CIL-t ad= ;a WQ ne+ ele+e az W&Q listna'. *$l,nben W&Q-na' az -szel 'ezdd
szelett adja.
?EFJC 9E9BE: K
5"C?
A"9 K CIL
EJAL 5A: K K
9E9BE: 5?: K
l. 9E9BE:AB 5 A ? E--Q A ? E
MEM[ C3 C%U(( NIL &ag% lista S1Qr
J%&anaz= +int 9E9BE:= azzal a '$l,nbs%%el= ;%& az ,ssze;asnlts;z E-t
al'al+az= ne+ edi% EJAL-t.
?EFJC 9E9 K
5"C?
A"9 K CIL
E 5A: K K
9E9 5?: K
l. 9E9A B A B A B 5--Q CIL
MESSOGG CszmU(( szm S1Qr
A 9ESS"FF s a 9ESS"C ($%%vn&e' bizn&s 0endsze0$zenete' 'i0sna'
vez0ls0e al'al+asa'. E%& vez0l b&te-ban lev bite'et vez0el= az albbia'
7/25/2019 Is-Lisp Programozsi Segdlet
59/83
sze0int8
1 - ,ssze%&Gjt,tt 'nt0llszu++' "FF
2 - *nt0llszu++a "FF
# - iba'd s $zenet= ;a van "C
- iba'e0es "C
# - A J"EWidQ HWidQH-d val
'nve0zijt vez0li "C
Pldul= 9ESS"C 2 a 'nt0llszu++t 0ja 'i= +% 9ESS"FF lelltja a
;iba'e0esst.
l. 9ESS"FF 1N--Q 2))
MESSON CszmU(( szm S1Qr
ld. 9ESS"FF
MINW C3 C%U(( szm S1Qr
Az WQ s W&Q sz+' ',z$l a 'isebbi'et adja 'i.
l. 9IC2 / 3--Q 3
MIN*S CszmU(( szm S1Qr
A Wsz+Q ne%ltjt adja.
l. 9ICJS /--Q -/
9ICJS -3--Q 3
MIN*SP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ sz+ s WN\ '$l,nben CIL-t.
7/25/2019 Is-Lisp Programozsi Segdlet
60/83
l. 9ICJSP -3--Q
9ICJSP #--Q CIL
M"[*OTE C3U(( lista S1Qr
A J"EWQ listt adja.
l. 9*J"EA B 5--Q J"EA B 5
N0ON0 C3 C%U(( lista S1Qr
_sszeln4lja WQ-et s W&Q-t= anl'$l= ;%& WQ-et t+sln. %& +G',di'= +intAPPEC?= de ne+ l&an +e%bz;at. *ts%es esetben ;asznlju' APPEC?-etZ
?EFJC C5"C5A B
7/25/2019 Is-Lisp Programozsi Segdlet
61/83
N*LL C3U(( T &ag% NIL S1Qr
a WQ CIL= -t ad\ CIL-t '$l,nben. eljesen e'vivalens a C" ($%%vnn&el ld.
(ent.
l. CJLL 1--Q CIL
N*M,ERP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ sz+\ '$l,nben CIL-t.
l. CJ9BE:P /--Q
O,LISTU(( lista S1Qr
Listt ad az ,sszes= a 0endsze0 sz+0a is+e0t aznst0l. FLAEC "BLIS
e%& e%&sze0Gbb listt ad.
ONEP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ az 1-es sz+\ '$l,nben CIL-t.
l. "CEP 1--Q
OPEN Cszm CFile$&U(( Cszm S1Qr
9e%n&itja a W(ilenvQ nevG (ile-t= a Wsz+Q 4sat0nasz+n. asnlt a Basi4-
beli "PEC a0an4s;z.
l. "PEC 1) HCA9EH
OR C'iFC'iFWC'iF^...U(( tet Gs1Qr
Az els ne+-CIL a0%u+entu+t adja\ ;a il&en nin4s= a''0 CIL-t.
7/25/2019 Is-Lisp Programozsi Segdlet
62/83
l. ": CJ9BE:PA 5"CS A BVE:"P --Q A B
ORDERP Cid CidWU(( T &ag% NIL S1Qr
-t ad= ;a Wid1Q 'in&+tattt nevne' AS5II 'dja na%&bb= +int Wid2Q-\'$l,nben CIL-t ad.
l. ":?E:P A B--Q CIL
":?E:P B A--Q
":?E:P AB AA--Q
ORDINAL CidU(( szm S1Qr
WidQ 'in&+tattt nevne' els 'a0a'te0t adja= AS5II 'dban.
l. ":?ICAL APPLE--Q )
O*T Crt' CioportU(( Crt' S1Qr
El'$ldi W0t'Q-et a VN Wi0tQ-tal se4i(i'lt inut-utut 0tj;z.
l. "J 1N 2)#--Q 1N
PAINTU(( NIL S1Qr
*it,lti az ,sszes l&an vnalat= a+el& az a'tulis 'e0n&-z4itl l&an
;at0i% ta0t= a+el& az a'tulis 'e0n&-z4itl '$l,nb,z sznG.
PAIR C3 C%U(( eg% lista S1Qr
WQ s W&Q azns ele+sz+ list' 'ell= ;%& le%&ene'. PAI: 0endezett 0' e%&
listjt adja= a+el&e'ne' 5A:-ja WQ-bl= 5?:-je W&Q-bl van.
l. PAI:HA BH1 2--Q A.1B.2
PALETTE CK_ CKl CKW CK^ CK` CK CKb CKcU(( NIL S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
63/83
A alettt se4i(i'lja az a'tulis %0a(i'us 4sat0n0a= a W4NQ=...=W4/Q e%sz
sz+''al a N-2)) inte0vallu+ban= +inde%&i'$' e%&-e%& sznt se4i(i'l.
9e%je%&zs 2-szn-+dban 42=...=4/ (,l,sle%es= #-szn-+dban 4#=...=4/
(,l,sle%es= 1-szn-+bdban a t,bbi szn 4N=...=4/-bl a sz'ss +dnsz0+aztat;at.
l. PALEE 1N 2N #N ) /3 122 ) N--Q CIL
PAPER CKolU(( NIL S1Qr
[tvltztatja az a'tulis %0a(i'us 4sat0na ;tt0sznt W4lQ-0a. Enne' ;atsa
a''0 ltszi'= a+i'0 a 4sat0n0a le%',zelebb 5LEA: utastst adun' 'i.
l. PAPE: 26--Q CIL
PEE" CK/mU(( szm S1Qr
W4+Q ta0tal+t adja 'i.
l. PEE* 1N--Q
PERIOD Var
R0t'e a H.H 'a0a'te0.
PLIST CidU(( lista S1Qr
Az WidQ aznst tulajdns%-listjt adja.
l. PLISA--Q tul1. 0t1tul2. 0t2....
PLOT C3 C%U(( NIL S1Qr
9e%vil%tja a 'e0n& WQ=W&Q z4ijt= s ;a ez +e%t,0tnt= tt e%&
vnalat 0ajzl.
7/25/2019 Is-Lisp Programozsi Segdlet
64/83
l. PL" 2NN 1NN--Q CIL
PLOTR C3 C%U(( NIL S1Qr
Az a'tulis 'e0n&-z4itl i0n&ba WQ= & i0n&ba W&Q el+zdulst tesz=
+ajd vnalat 0ajzl.
l. PL": 1NN 2NN--Q CIL
PLOTMODE CszmU(( NIL S1Qr
A 0ajz+dt lltja be az a'tulis %0a(i'us 4sat0nn= a ',vet'ez'8
N. PJ 0ajz ala0tel+ezs
1. ": 0ajz
2. AC? 0ajz
3. ": 0ajz
l. PL"9"?E 2--Q CIL
PLOTSTJLE CszmU(( NIL S1Qr
A vnal tust adja +e% az a'tulis %0a(i'us 4sat0nn. Wsz+Q e%sz az 1-1#
inte0vallu+ban= 1-es (l&tns vnalat jelent= a t,bbi sz+ '$l,nb,z ntztt
vnala'at.
l. PL"SKLE )--Q CIL
PL*S CarglistaU(( szm Gs1Qr
Az Wa0%listaQ-ban +e%adtt e%sz sz+' ,ssze%t szl%ltatja.
l. PLJS 1N 3 1--Q 26
PL*SW C3 C%U(( szm S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
65/83
a ntsan 't sz+t 'ell ,sszeadni= a''0 ez a ;at'n&abb +dja.
Pl. PLJS2 / 3-- 1N
PO"E CK/m Crt'U(( Crt' S1Qr
A +e+0ia W4+Q ltal +e%adtt ;el&0e W0t'Q-et 0.
l. P"*E 1N 23--Q 23
PRIN 9CarglistaZU(( tet S1Qr
Az Wa0%listaQ-ban lev a0%u+entu+' 'i0t'eldne'= s 'i0dna'= ',zbens blan'
jele' nl'$l. A se4ilis 'a0a'te0e' el es4ae jel 'e0$l.
l. P:ICA BLAC*B--Q B ;ats0a AZ B 0di' 'i.
PRIN0 9CarglistaZU(( tet S1Qr
J%&anl&an= +int P:IC= azzal a '$l,nbs%%el= ;%& a se4ilis 'a0a'te0e' el ne+
'e0$l es4ae jel.
l. P:IC5A BLAC*B--Q B ;ats0a A B jeleni' +e%.
PRINT 9CarglistZU(( NIL S1Qr
J%&anaz= +int P:IC= azzal a '$l,nbs%%el= ;%& a 5:!LF-et is +a%ban (%lalja=
s CIL-t ad.
l. P:ICA BLAC*B--Q CIL ;ats0a AZ B jeleni' +e%.
PRINT0 9CarglistaZU(( NIL S1Qr
J%&anl&an= +int P:IC= de a se4ilis 'a0a'te0e' el ne+ 'e0$l es4ae jel.
7/25/2019 Is-Lisp Programozsi Segdlet
66/83
l. P:IC5A BLAC*B--Q CIL s
A B jeleni' +e%.
PRO C'iF C'iFWU(( C'iF S1Qr
Az els a0%u+entu+t adja vissza.
l. P:"D1 AB--Q A
PROW C'iF C'iFWU(( C'iFW S1Qr
A +sdi' a0%u+entu+t adja vissza.
l. P:"D2AB--Q B
PRON C'iFC'iFW...C'iF$U(( tet Gs1Qr
*i0t'eli 0end0e W'i(1Q-et= W'i(2Q-t=...= W'i(nQ-et= s W'i(nQ-et adja vissza.
l. P:"DCA 3 #B--Q B
P*T CidCi$dCt1lU(( Ct1l S1Qr
A WtulQ tulajdns%t WidQ tulajdns%listj0a teszi az WindQ indi't0 alatt.
l. PJ@CA9E??
[*OTE CtetU(( 'irt'eletle$Ctet Gs1Qr
Lelltja a 'i0t'elst= s LISP-en 'e0eszt$l 'i0ja8 WtetQ
l. J"E A--Q A
va%&
A--Q A
7/25/2019 Is-Lisp Programozsi Segdlet
67/83
[*OTEP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ idzett 'i(ejezs= '$l,nben CIL-t.
l. J"EPJ"E V--Q
[*OTIENT C3 C%U(( szm S1Qr
Elsztja az WQ sz+t az W&Q sz++al= s - a +a0ad't (i%&el+en 'v$l ;a%&va -
'iadja a H;n&adstH.
l. J"IEC / 3--Q 2
RANDOM CszmU(( szm S1Qr
@letlen sz+t ad a N-Wsz+Q-1 inte0vallu+ban= ;a4sa' a Wsz+Q ne+ N\ e''0
az inte0vallu+ N-32//. Wsz+Q +ai+lis le;ets%es 0t'e 2NNN.
l.:AC?"9 16/--Q 1)1N
RANDOMISE CmagU(( Cmag S1Qr
Al'al+az;at a vletlen sz+' ellen0zs0e. a W+a%Q N= a''0 a s0zat ne+
jsl;at= ;a visznt ne+ N= e%& 'n'0t is+telt s0zatt n&e0t$n'.
l. :AC?"9ISE #3--Q /#
RDS CKYU(( CKr S1Qr
W4;Q-t a'tulis inut 0a+na' vve= a +e%elz inut 0a+t adja.
l. :?S 1--Q N
READU(( tet Gs1Qr
A ($%%vn& az a'tulis inut 4sat0na s0n',vet'ez s-'i(ejezsbl 'ilvastt
7/25/2019 Is-Lisp Programozsi Segdlet
68/83
e0ed+n&t adja 'i.
READLINEU(( tet Gs1Qr
Az a'tulis inut 4sat0nbl a ',vet'ez s0 els 'a0a'te0i% lvas= ebble%&etlen aznstt 'ez= ezt adja e0ed+n&$l.
READ(STAT*SU(( Cszm S1Qr
Az a'tulis inut 4sat0na sttuszt adja 'i. ]0t'ei8
-1 - (ile-v%
N - a 'a0a'te0 lvass0a 'sz
1 - '$l,nben
RE0LAIMU(( Cszm S1Qr
,+,0tst v%ez. 9e%adja a szabad LISP 4ell' sz+t. Enne' a sz+na' 'b. az
,tsz,0,se lesz a szabad b&te-' sz+a.
REDIRE0T Crgi CXU(( NIL S1Qr
Az ,sszes utut e04it ti0n&tja a W0%iQ 4sat0n0l az WjQ 4sat0n0a.
l. :E?I:E5 #2 1N#--Q CIL
REMAINDER C3 C%U(( szm S1Qr
a QN= az e0ed+n& 9"?ABS &. a WN= az e0ed+n& &-ABS 9"? ABS &.
l. :E9AIC?E: / 3--Q 1
:E9AIC?E: -/ 3--Q 2
REMGLA Cazo$. listaCi$dU(( NIL S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
69/83
Az Wazn. listaQ aznst listt +e%(sztja a (la%-e'tl.
l. :E9FLAD A BFICE--Q CIL
REMO, CidU(( Cid S1Qr
9e%'e0esi az WidQ aznst blist-jt= s ;a van= eltvltja.
l. :E9"BA--Q A
REMPROP Cazo$ Ci$dU(( tet S1Qr
Az WaznQ aznst tulajdns%-listj0l eltvltja az WindQ tulajdns%t.
CIL-t ad= ;a ezt a tulajdns%t ne+ tallja.
l. :E9P:"P@CA9E--Q ??
REPEAT CszmC'iFU(( NIL Gs1Qr
*i0t'eli a W'i(Q 'i(ejezst= e%&+sutn Wsz+Q-sz0.
l. :EPEA ) P:IC5AB--Q CIL=
ABABABABAB jeleni' +e%.
REVERSE C3U(( lista S1Qr
Az WQ lista +e%(0dtttjt adja vissza.
l. :E@E:SEA B5 ? E
--QE 5 ? B A
REVERSEIP C3U(( lista S1Qr
J%&anazt teszi= +int :E@E:SE= 4sa' s''al %&0sabban= visznt 'evsb+e%bz;at.
7/25/2019 Is-Lisp Programozsi Segdlet
70/83
l. :E@E:SEIPA B 5 ?--Q ? 5 B A
RPAR Var
]0t'e a HH 'a0a'te0.
RPLA0A CmodC'iFU(( tet S1Qr
A W+dQ 5A: +ezejt ;el&ettesti W'i(Q-(el.
l. :PLA5AA B 1--Q 1 B
RPLA0D CmodC'iFU(( tet S1Qr
A W+dQ 5?: +ezejt ;el&ettesti W'i(Q-(el.
l. :PLA5?A B 1--Q A.1
SASSO0C'1lKsCalistaU(( '1lKsCrt'U &ag% tet S1Qr
E%& adtt W'ul4sQ 'ul4st 'e0es WalistaQ-ban= s ;a +e%tallta= a 'ul4s=0t'
0t adja vissza. *$l,nben a ($%%vn& a0%u+entu+' nl'$l 0t'eldi' 'i.
l.SASS"5AB.2/A.-3FC--Q A.-3
SASS"5AB.2/HLA9B?A CIL )--Q )
SAVE CFile$&U(( CFile$& S1Qr
*i+enti e 0endsze0 a'tulis llatt a+el& 'sbb L"A?-dal visszan&e0;et
l. SA@E HCA9EH
SET Cazo$C'iFU(( C'iF S1Qr
WaznQ 0t't W'i(Q-0e vltztatja.
7/25/2019 Is-Lisp Programozsi Segdlet
71/83
l. SE #2--Q #2
SETATTRI,*TES CszmU(( NIL S1Qr
A %0a(i'us att0ibtu+-(la%-b&te-t vltztatja Wsz+Q-0a az a'tulis %0a(i'us
4sat0nn. Alaveten ez a (la%-b&te ;at0zza +e%= ;%&an t,0tni' a 0ajzls
att0ibtu+-+dban. A teljes le0st lsd az E"S se4i(i'4i'nl. A ($%%vn&
CIL-t ad e0ed+n&$l.
l. SEA:IBJES 3--Q CIL
SET0OLO*R CszmCsz/$U(( NIL S1Qr
A Wsz+Q Hl%i'aiH sznt teszi a alettn a WsznQ szn ;el&0e.
l. SE5"L"J: 3 2#--Q CIL
SET[ Cazo$C'iFU(( C'iF Gs1Qr
J%&anl&an= +int SE= 4sa' az els a0%u+entu+ aut+ati'usan idzve sze0eel.
l. SE #2--Q #2
SET(TIME Cazo$U((( NIL S1Qr
Le;etv teszi= ;%& a 0endsze0 0jt tlltsu' ld. I9E. Az WaznQ
a0%u+entu+na' n&l4 'a0a'te0 ;ssz aznstna' 'ell lennie= a+el& az idt a',vet'ez (0+ban b0zlja8
;;8++8ss
l. SE-I9E HN183N8#2H--Q CIL
SETVIDEO Ci$dCKolC3C%U(( NIL S1Qr
E%& vide ldalt de(inil= ',zvetlen$l az ldal +e%n&itsa va%& '0elsa eltt
7/25/2019 Is-Lisp Programozsi Segdlet
72/83
'ell ;vni.
WindQ 0t'ei le;etne'8
N - 12 'is(elbnts 'a0a'te0 s0n'nt #2 'a0a'te0
1 - na%&(elbnts iel %0a(i'a /2 iel
2 - 12 na%&(elbnts 'a0a'te0 s0n'nt # 'a0a'te0
) - 'is(elbnts iel %0a(i'a #3 iel
1) - att0ibtu+ +d
A z0jelben +e%adtt (elbnts' a teljes 'e0n&0e vnat'zna'= 't-szn-
+dban. A ($%%le%es (elbnts teljes 'e0n&0e 2/ 'a0a'te0= azaz 2#3 iel.
W4lQ 0t'ei le;etne'8
N - 2 szn
1 - # szn
2 - 1 szn
3 - 2) szn
WQ s W&Q a vide ldal +0ett ;at0zza +e%.
1WW#2
NW&W2))
l. SE@I?E" 1 2 #N 2N--Q CIL
SNDS CKYU(( Cszm S1Qr
ats0a W4;Q lesz az a'tulis %0a(i'us 4sat0na= az elzt edi% e0ed+n&$l
adja.
l. SC?S )--Q 3#
SO*ND Ce$&CpC&lC&rCst%CKYCdCFU(( NIL S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
73/83
E%& ;an%t e0ed+n&ez (elttelezve= ;%& az a'tulis ;an%4sat0na n&itva van a
S"JC? esz',z0e. A a0a+te0e' jelentse8
WenvQ - AA ;an%;z ;asznlt ;an%bu0'l ld. EC@EL"PE.
2))-,s ;an%bu0'l 'nstans e0ejG s +a%ass%
HbiH-et ad a ;an%ads teljes idta0ta+0a.
WQ - A ;an% 'ezd +a%ass%a (l;an%'ban
WvlQ - A balldali ;an%sz0 +ai+lis ;an%e0eje
Wv0Q - A jbbldali ;an%sz0 +ai+lis ;an%e0eje
Wst&Q - A ;an%+dul4i-b&te. Enne' a b&te-na' a ;atst
le%jbban 's0letile% le;et +e%;at0zniZ A
nulla tiszta ;an%t ad a ;an%4sat0n'0a s
(e;0zajt a zaj4sat0n0a.
W4;Q - A ;an%(00s - N= 1= va%& 2 a +e%(elel
;an%4sat0n0a= s 3 a zaj4sat0n0a.
WdQ - A ;an%ads idta0ta+a 1!)N +-ben +0ve
W(Q - Fla%-b&te
N - a ;an% a v0a'z s0ba 'e0$l
12 - a ;an% +inden= e00e a 4sat0n0a
v0a'z ;an%t +e%elz.
A 0utin CIL-t ad e0ed+n&$l.
l. S"JC? 2)) 2N 3 1N 3N #N N N--Q CIL
SPRINT C'iFU(( NIL S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
74/83
Ez a 0%0a+ (0+attl. A W'i(Q 'i(ejezst szebb (0+ban jelenti +e%.
S*, CszmU(( szm S1Qr
Wsz+Q-1-et ad vissza.
l. SJB1 23--Q 22
S*,LIS Calista C'iFU(( tet S1Qr
Az e0ed+n& %& ala'ul 'i= ;%& W'i(Q 5A: 0szne' +inden el(0dulsba
WalistaQ 5?: 0szt ;el&ettestj$'.
l. SJBLISA.1NB.5 A B A
--Q 1N 5 1N
S*,RP C3U(( T &ag% NIL S1Qr
-t ad= ;a WQ e%& szub0utin0a +utat 'dinte0= '$l,nben CIL-t.
l. SJB:P 5A:--Q
S*,ST C3 C% C'iFU(( lista S1Qr
W'i(Q-ben +inden;l W&Q ;el&ett WQ-et ;el&ettest.
l. SJBSA B 5 B A B A
--Q5 A A A
T Id
A :JE i%azs%0t'et jelenti.
TAIL C3U(( tet S1Qr
7/25/2019 Is-Lisp Programozsi Segdlet
75/83
Ez a ($%%vn& a 5?:-0el azns.
l. AIL A.B--Q B
TERPRIU(( NIL S1Qr
A 'e0n&0e e%& '4si-visszt tesz 'i.
TETU(( NIL S1Qr
fj sz,ve%es ldalt n&it= az ldal szlaina' sz+t a le%utbbi ?EF@I?E" ;vs
;at0zza +e%.
TIMEU(( azo$os/t S1Qr
A illanatn&i idt adja= e%& n&l4'a0a'te0es aznstban= ebben a (0+ban8
;;8++8ss
Az 0a be'a4sls'0 indul= NN8NN8NN-0l= s a SE-I9E ($%%vnn&el llt;at
t ld. tt.
l. I9E--Q NN81N83
TIMES CarglistaU(( szm Gs1Qr
*i0t'eli Wa0%listaQ ele+eit= s ,sszesz0zza 'et= a sz0zatt adjae0ed+n&$l.
l. I9ES 2 ) -3--Q -3N
TIMESW C3C%U(( szm S1Qr
at'n&abb +d ntsan 't sz+= WQ s W&Q ,sszesz0zs0a.
l. I9ES2 3 /--Q 21
7/25/2019 Is-Lisp Programozsi Segdlet
76/83
*NDEGINED Id
A+i'0 e%& aznstt elsz,0 ;asznlun'= HJC?EFICE?H 0t'et 'a.
*NTIL C'iFU Gs1Qr
A L""P 4i'lusutastsban sze0eel.
l. JCIL E A 3
VERSION Id
St0in%= a+el& le0ja= +il&en LISP ve0zi +G',di' en.
\ILE C'iFU Gs1Qr
A L""P 4i'lusutastsban sze0eel.
l.
7/25/2019 Is-Lisp Programozsi Segdlet
77/83
1. F$%%el'
EOS V+LTO!"
Az albbi lista +e%adja az'at az E"S vltz'at= a+el&e' az E"S-:EA?= E"S-
7/25/2019 Is-Lisp Programozsi Segdlet
78/83
b LO0"4"EJ A 0,%ztett billent&G' a'tulis ;el&zete.
c 0LI0"4"EJ N A billent&Gzet ;an%ja be'a4slva=
1 'i'a4slva.
STOP4IR[ N A S"P billent&G +e%sza'tst 'z=
1 A S"P billent&G a 'djt adja vissza.
"EJ4IR[ N B0+el& billent&G +e%n&+sa s(t7a0e
+e%sza'tst 'z= s a 'djt is
visszaadja.
_ RATE4"EJ A le$t,tt billent&G 1!)N s-n'nt is+tli
+a%t.
DELAJ4"EJ *sleltets az ,nis+tls 'ezdeti%
N _nis+tls letiltva.
W TAPS4SND N +a%n 'nt0ll ;an% en%edl&ezve.
^ \AIT4SND N a a S"JC? ?:I@E: u((e0je +e%telti= v0.
WQN SFJL ;iba'dt ad.
` M*TE4SND N A'tivizlja a bels ;an%sz0t=
WQN letiltja a bels ;an%sz0t.
,*G4SND A ;an%bu0'l u((e0jne' +0ete (zis'ban.
b ,A*D4SER A s0s 4sat0na sebess%e
3NN baud
12NN baud
1N 2#NN baud
12 #NN baud
1# 6NN baud
7/25/2019 Is-Lisp Programozsi Segdlet
79/83
c GORM4SER A s0s 4sat0na (0+tu+t adja +e%.
N. bit adatbite' sz+a NO bit= 1O/ bit
1. bit a0its vez0ls NO'i'a4s.
2. bit a0its vlaszts NO0s=
1O0atlan
3. bit st= bite' sz+a NO2= 1O1
ADDR4NET A % ;lzati sz+a.
NET4IR[ N Adat 0'ezse a ;lzatn +e%sza'tst
'z.
W_ 0AN4NET A ;lzatn (%adtt adatbl'' 4sat0nasz+a.
W MA04NET Az ad % ;lzati sz+a.
WW MODE4VID @ide +d.
W^ 0OLR4VID Szn-+d.
W` 4SI4VID Az ldal +0ete.
W J4SI4VID Az ldal K +0ete.
Wb ST4GLA N +e%jelenti a sttusz s0t.
Wc ,ORD4VID *e0et-szn.
W ,IAS4VID A aletta ...1 szneit +e%;at0z 0t'.
W VID4EDIT Az edit0;z 0endelt vide a%e
4sat0nasz+a.
7/25/2019 Is-Lisp Programozsi Segdlet
80/83
^_ "EJ4EDIT Az edit0;z 0endelt billent&Gzet
4sat0nasz+a.
^ ,*G4EDIT Az edit0 u((e0ne' +0ete 2) b&te-s
la'ban.
^W GL4EDIT Az edit0 (la%-b&te-ja.
^^ SP4TAPE A ne+-N 0t' lass +a%n'ezelst e0ed+n&ez.
^` PROTE0T Ce+-N 0te' esetn vdett (ile-t '0el.
^ LV4TAPE A +a%n 'i+enet szintje.
^b REM. N :E9"E 1 be'a4s.
WQN :E9"E 1 'i'a4s.
^c REM.W N :E9"E 2 be'a4s.
WQN :E9"E 2 'i'a4s.
A ',vet'ez E"S vltz sz+'at a (el;asznl ne vltztassa8 N=1=2.
7/25/2019 Is-Lisp Programozsi Segdlet
81/83
2. F$%%el'
I,AHENETE"
Az albbi lista az IS-LISP inte00ete0 ltal adtt ;ibajelzse'et s0lja (el.
. 9e+0ia-tlls
W. A v%0e;ajts +e%sza'tva a st billent&Gt sz+ts
',zben +e%n&+t'
^. 9e%sza'ts n&+tats ',zben
`. S(t7a0e +e%sza'ts +e%;at0zatlan ;andle0
. A0it+eti'ai tl4s0duls
b. "szts nullval
c. A0%u+entu+'nt v0t sz+
. Elv0t8 aznst
. Elv0t8 b&te sz+ a N-2)) inte0vallu+ban
_. Elv0t8 b&te va%& ne%atv sz+
. Elv0t8 4sat0na sz+ a N-2)) inte0vallu+ban
W. Elv0t8 indi't0
^. F,l,sle%es H.H va%& HH lvass'0
`. Ille%lis nt-jel,ls
. l na%& sz+ lvass'0
b. l ;ssz st0in% +inden st0in% le%(eljebb 2))
'a0a'te0 ;ssz le;et
c. ?e(inilatlan ($%%vn&
. Adtt Fsub0 al'al+azsa ($%%vn&'nt
. Adtt sz+ al'al+azsa ($%%vn&'nt
W_. :ssz LA9B?A 'i(ejezs
W. :ssz FJCA:D 'i(ejezs
WW. l s' a0%u+entu+ e%& LA9B?A-'i(ejezs;ez
W^. l 'evs a0%u+entu+ e%& LA9B?A-'i(ejezs;ez.
W`. Az 4inlis a0%u+entu+'na' ',vetnie 'ne az e%&sze0G
7/25/2019 Is-Lisp Programozsi Segdlet
82/83
a0%u+entu+'at.
W. E%& at+ 5A:-jna' va%& 5?:-jne' 'zse
Wb. :ssz 5"C? 'i(ejezs
Wc. :ssz assz4i4is lista
W. :ssz tulajdns%-lista
W. P0i+itv ($%%vn& a0%u+entu+sz+a ne+ ;el&es
^_. A 0endsze0vltz' +dstsa le;etetlen
^. :endsze0-aznst e%& LA9B?A!9A5:" a0a+te0 listban
^W. 9A5:" (0+a e%& nulla a0a+te00el
^^. A 9A5:" a0a+te0ne' at+na' 'ne lennie
^`. :ssz 9A5:" 'i(ejezs
^. *$l,nb,z ;sszs% list' a PAI: ($%%vn&
a0%u+entu+ai'nt
^b. :ssz a0%u+entu+ e%& vletlen ($%%vn&;ez N-2NNN-i%
te0jed e%szne' 'ell lennie
^c. Is+tlsi (a't0'nt sz+t v0
^. :ssz idzend a0%u+entu+
^. :PLA5A!:PLA5? sz+0a listt v0
`_. Cin4s j aznst lista I9PL"?E sz+0a
`. l s' 'a0a'te0 I9PL"?E sz+0a
`W. SE= ill. SE aznstt v0
`^. Cin4s el% +e+0ia a (ile bet,lts0e8 0blju' +e% a
ne+ sz$'s%es 4sat0n'at lez0ni s 's0elj$' +e%
j0a
``. A bet,lt,tt 'ite0jesztse''el e%&$tt ne+ +ent;et 'i
`. :ssz a0%u+entu+ a SE-I9E sz+0a.
7/25/2019 Is-Lisp Programozsi Segdlet
83/83
3. F$%%el'
A G*N"0I!S ,ILLENTJf"
Az Ente00ise +i'0sz+t%ne' n&l4 (un'4is billent&Gje van= (1-tl (-i%
4+'zve. _nllan va%& s;i(ttel e%&$tt ;asznlva 1 (un'4it ltna' el
,sszesen= a+el&e'et a (el;asznl de(inil;at az F*EK ($%%vn& se%ts%vel.
Pl. F*EK ) HSVIA. ). D"9B 9EDCK"9@AH
be0%0a+zza *EK)-,t= ;%& a (enti $zenet 0djn 'i a +e%n&+sa'0.
Be'a4sls'0 va%& 0eset utn= az (1.... ( %+b' ala0tel+ezse az albbi8
OM, G*N"0I!
1 FLAEC "BLIS
2 ?EFJC
3 FE?I# E"S-"DDLE 3 vltja a 0e+te 1 'azettt.
) E
D:API5S
/ E"S-"DDLE / vltja a billent&G-;an%t
:E5LAI9
6-1 a null st0in%= HH.
9e%je%&zs Ala0tel+ezsben s(t7a0e inte00utt 'zna' +e%n&+s'0.