len podotykam kto si nevsimol ze zadania su uz pridelene na info stranke, a sa scem spytat ci pamata dakto v jakom programe sme to vlastne na cviku robili:D moze byt rovno aj link
sak to mas v topicu ze v LISP :hah:
nj ale som nasiel dost vela vselijakych lisp blbosti ta reku spytam sa mudrejsich bo ja som z toho mimo
mozes aj v prologuinac ake mate cisla ?
ja mam 4
10
ja mam 11
ake zadania ? WTF :D pls hodte niekto link na nich.
ja som kurva vyje...babrana a tak som si klikol na link co malu na ploche v ucebni a som si pozrel ze kam ukazuje ... a co saom sa dozvedel... C:/UIsoft/Allegro Common Lisp .. takze asi v tom by bolo vhodne to robit, ked sme uz v tom mastili na hodine
Apropoooooo ... skupiny, ktorym neodpadlo cvicenie v tom tyzdni ked bolo stvrtok volno (ked sme boli palit sviecocky na cintorinoch) ... ste robili co???? daco s Lispom ... bo ja mam stvrtok cviko a tym padom som bol ukrateny o jedno cviko lispu :j_undecided:
Quote from: Ev0 on 11.11.2007, 23:55:29
ake zadania ? WTF :D pls hodte niekto link na nich.
dobre rano, stara mama
http://www.ai-cit.sk/Courses
treba pohladat nejake definicie funkcii ako je lenght a proste tie co nam zakazali a podla toho to spravit. musi to byt niekde na nete proste ako a co presne dane funkcie robia... takze skuste a dajte vediet pls :j_kiss:
mno moje zadanie neznie velmi zlozito : najst najvacsie z troch cisel.. uz len zistit co je Lisp :D
to pUf: parada, ma to iste... :)
pri preberani zadania v lisp poetarju zdrojak, pytaju sa na neho a samy si vyskusaju ci naozaj funguje..... aspon jeden z cviciacich
podarilo sa niekomu uspesne stiahnut ten allegro onen? bo mne sa len robi ze taha ale nic z toho
jaj mam tiez najst najvasi ez troch cisel :D
AJ ja to mam :D Co to dali polovici tretiakom ? :D
ja mam najst posledny prvok v zozname ... takze kto ma take iste nech sa ozve tuna nieco poriesime.
Quote from: Ev0 on 14.11.2007, 02:00:33
ja mam najst posledny prvok v zozname ... takze kto ma take iste nech sa ozve tuna nieco poriesime.
ja mam najst predposledny.. len neviem kde ho mam hladat.. takze ked najdes posledny mi povedz ktory to je :j_tongue:
Quote from: Ev0 on 14.11.2007, 02:00:33
ja mam najst posledny prvok v zozname ... takze kto ma take iste nech sa ozve tuna nieco poriesime.
to je jedenastka??? ja mam to iste......
Quote from: buhehe on 14.11.2007, 02:45:49
Quote from: Ev0 on 14.11.2007, 02:00:33
ja mam najst posledny prvok v zozname ... takze kto ma take iste nech sa ozve tuna nieco poriesime.
to je jedenastka??? ja mam to iste......
ano je to 11tka a je toho na nete pozehnane... ujo google vam poradi ak sa spravne opytate. ja uz som nieco nasiel ale budem riesit az vo stvrtok vecer ked pridem z cvika domov a budem mat odovzdany perceptron .)
hmmmm.....to znie dobre.....esteze ujo googel existuje....asi ho poslem potom po bakalarsych skuskach prevziat titul zeby sa necitil ukrivdeny...
Quote from: kane77 on 14.11.2007, 02:33:58
Quote from: Ev0 on 14.11.2007, 02:00:33
ja mam najst posledny prvok v zozname ... takze kto ma take iste nech sa ozve tuna nieco poriesime.
ja mam najst predposledny.. len neviem kde ho mam hladat.. takze ked najdes posledny mi povedz ktory to je :j_tongue:
ja mam tiez toto, ja to budem riesit tak ze prehodim zoznam od konca a vyberem druhy
celkom dobra myslienka :D ... alebo prejdes vsetky prvky zoznamu a ked uz ti vrati 0 ze uz nieje ziadny tak vypises posledny ktory mas v registri alebo neviem co tam je medzi pamet alebo co ...
V lispe nemam ani sajnu co ako sa robi ... akoze fakt funkcionalne programovanie som mal predmet ale toto je rarita.... gratulujem vyucujucim, ze sa v zivote nestretnem s Lispom a ze tento predmet oproti minulemu roku stazili o 200 % ;) necakane, sak dajme tym studentom trochu zabrat, ako keby nemali toho dost, sak co.
ja chcem ten program co tam sme maliii na cviku, ja som stiahol dajaky international allegro cl free express edition 8.1 a nevjem v tom urobit ani hello world :D
Quote from: nemtom on 14.11.2007, 04:18:17
Quote from: kane77 on 14.11.2007, 02:33:58
Quote from: Ev0 on 14.11.2007, 02:00:33
ja mam najst posledny prvok v zozname ... takze kto ma take iste nech sa ozve tuna nieco poriesime.
ja mam najst predposledny.. len neviem kde ho mam hladat.. takze ked najdes posledny mi povedz ktory to je :j_tongue:
ja mam tiez toto, ja to budem riesit tak ze prehodim zoznam od konca a vyberem druhy
presne to mi napadlo, ale este sa pre istotu spytam. sice tam je vyslovne povedane ze nesmieme pouzivat funkciu length, cize reverse by malo byt ok..
alebo daco take ze
(car (reverse (butlast list)))
skuste sa pozriet na stranku:
http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html
v podstate by tam mohli byt riesenia na vsetky zadania.
Quote from: kane77 on 14.11.2007, 17:20:30
Quote from: nemtom on 14.11.2007, 04:18:17
Quote from: kane77 on 14.11.2007, 02:33:58
Quote from: Ev0 on 14.11.2007, 02:00:33
ja mam najst posledny prvok v zozname ... takze kto ma take iste nech sa ozve tuna nieco poriesime.
ja mam najst predposledny.. len neviem kde ho mam hladat.. takze ked najdes posledny mi povedz ktory to je :j_tongue:
ja mam tiez toto, ja to budem riesit tak ze prehodim zoznam od konca a vyberem druhy
presne to mi napadlo, ale este sa pre istotu spytam. sice tam je vyslovne povedane ze nesmieme pouzivat funkciu length, cize reverse by malo byt ok..
alebo daco take ze
(car (reverse (butlast list)))
jj len length zakazali
aky na to mate program?
ja zatial ziadny, ten allegro onen mi neslo stiahnut
ja mam ten allegro 8.1 ....http://franz.com/downloads/allegrodownload.lhtml islo stiahnut normalne...
ale to je len nejaky instal program ktory ked spustite tha musite stiahnut este 200mb hlavny program abo nieco podobne...neskusal som neviem....ked skusite tha dajte vediet...
no presne toto mam.. len to je velmi lowlife = treba vypnut kontrolu internetu v antiviraku, ja osobne mam NOD. ono to pri zaciatku instalacie oznami ze je zapnuty a treba vypnut IMON (internet monitor) abysa dalo stiahnut tych 200 MB co je az vlastne samotny program, ktory sa nasledne nainstaluje. mne az na nejaky 3. pokus :D a potom som sa dostal k tomu ze neviem spravit ani hello world.. pozriem sa na to po pisomecke zajtra
ja som tiez vypol IMON ale ajtak netahalo
ja mam daco taketo: ufasoft_lisp_3.2.7
vyzera to v pohodicke, ale zatial som tam nenapisal nic ineho ako (+ 3 5) :D
tak v tom allegro cl super extra free neviem co 8. daco treba spravit projekt, potom ked uz aj je dajaky kod tak to treba mat aj form na to.. no cisto visal studio :D ceknem ten tvoj krtek a uvidim :)
dpc v tom ultrasofte sa da pisat len do 1 riadku? he puf jak si stiahol to allegro?
vypol som imon
pustil som ten stiahnuty subor
ten stiahol to co bolo treba
nainstaloval to
a mal som stiahnute a nainstalovane :D
zapol som imon
v tom ultrasofte sa da pisat aj do viacerych riadkov ale musis si otvorit novy subor, lebo tamto je len terminal...
ale pre vasu radost vam dam link na nieco lepsie:
http://www.cormanlisp.com/download.html
tam si stiahnite ale pozor.... pri instalacii treba password... a a by ste nemuseli ani zadavat regulernu emailovu adresu tak vam dam aj heslo co prislo na moju: coltrane
nevie niekto ako sa spytat uja googla ako najst maximalny z troch prvkov v LISPe??? poradte, pls
kazdy prvok porovnas s ostatnymi dvoma a ked ti vyde ze je vacsi aj od jedneho aj od druheho tak mas vysledok, myslim ze v tomto zadani nieje co riesit, tak isto pri minimalnom
sa vam chcel pochvalit ze ja uz viem porovnat 2 prvky a vypisat ktory je vacsi. idem zaimplementovat pre 3. prvok :D
edit:
(https://www.tu-ke.com/forum/proxy.php?request=http%3A%2F%2Fimg410.imageshack.us%2Fimg410%2F4690%2Flispxt6.jpg&hash=414e31312c1da35b1cb122a0e612d5bcec2ae292)
:j_laugh:
akurat neviem preco dvakrat to pise ale ja to zistim :D
edit2: aha uz viem :D
no postup mi je akosi logicky znamy... keby v C or v hocicom inom tak to spisem ale LISP...?! uf...
Quote from: nemtom on 14.11.2007, 23:55:58
ja som tiez vypol IMON ale ajtak netahalo
no ja som musel odinstalovat cely nod az tak mi to stiahlo
na tie cisla staci vediet ze ako funguje podmienka
(cond
( (podmienka) a sem co sa ma stat ak plati) if plati podmienka vykona sa to co je zanou ak nie ide na dalsiu podmienku
( (dalsia podmienka) ak plati co urobit) ak plati tato podmienka urobi sa co je zanou zas ak nie ide nizsie
na koniec sa zvykne dat
(T cosa ma urobit) - T je akoze ta podmienka a T plati stale cize toto sa vykona ak ostatne podmienky neboli splnene
)
Quote from: trek on 15.11.2007, 21:50:08
Quote from: nemtom on 14.11.2007, 23:55:58
ja som tiez vypol IMON ale ajtak netahalo
no ja som musel odinstalovat cely nod az tak mi to stiahlo
uff no odinstalovat som zato nemusel, stacilo IMON-u dat quit
Quote from: pUf on 15.11.2007, 20:21:00
sa vam chcel pochvalit ze ja uz viem porovnat 2 prvky a vypisat ktory je vacsi. idem zaimplementovat pre 3. prvok :D
edit:
(https://www.tu-ke.com/forum/proxy.php?request=http%3A%2F%2Fimg410.imageshack.us%2Fimg410%2F4690%2Flispxt6.jpg&hash=414e31312c1da35b1cb122a0e612d5bcec2ae292)
:j_laugh:
akurat neviem preco dvakrat to pise ale ja to zistim :D
edit2: aha uz viem :D
tak nam hod zdrojak budeme ti vdacny :D
ale no .. ved to ma 13 riadkov a z toho 5 riadkov su iba zatvorky.. sak to je uplne easy bk
nechces aby sme ti boli vdacny ? :D
Before starting, look at your keyboard. You probably have two keys labeled Enter.
One of these is typically to the right of the character keys, and the other is on the
numeric keypad. The Corman Lisp IDE distinguishes between these two keys. We
will refer to the one near the character keys as the Enter key, and the one on the
numeric keypad as the Numeric Enter key.
:DD na notebooku mam len jeden enter , teraz co ? :DD
usb klavesnica
nemate nejaky tutorial ako programovat v lispe ? :D niekto totiz nemal funkcionaln eprogramovanie ...
Quote from: MKI on 16.11.2007, 01:09:15
nemate nejaky tutorial ako programovat v lispe ? :D niekto totiz nemal funkcionaln eprogramovanie ...
neboj ti co mali poculi o lispe asi tolko co ty.....teda aspon ja.....na FlP bol prolog aj to len asi 3 prednasky na konci a na skuske vobec nebol cize neviem kto by sa ho ucil....
neviem...mozno vam pomoze aspon zistit co je lisp
http://www.notam02.no/internt/cm-sys/cm-2.2/doc/clt.html (http://www.notam02.no/internt/cm-sys/cm-2.2/doc/clt.html)
kto pouziva ufasoft lisp???
jak sa v tom kodi do pimpilimpimpone kua neviem v tom nic urobit len ked do terminalu napisem nieco typu (+ 2 3) alebo (setf a 5) a pod...
ked si dam novy subor a dam ho prekompilovat a spustit furt dajaka chyba sa vypisuje a to mam stiahnuty skusobny zdrojak...(mal by ist ked sa nanho pozriem vedeckym okom :P)
nexapacka
nech sa paci vysledok pre najdenie najvacsieho z troch cisel :
(defun najdi (x y z)
(if (and (>= x y) (>= x z))
x
(if (and (>= y x) (>= y z))
y
(if (and (>= z x) (>= z y))
z
)
)
)
)
updated: tento zdrojak si davam patentovat :D
som zvedavy jak to budu hodnotit ked budeme mat vsetci tie iste fcie....a pri zdrojaku rozsahu maximalne 10 riadkov si to bude lahke vsimnut...
ja si davam patentovat algoritmus:D da sa pozret na fore ze som to prvy napisal:D
Quote from: nemtom on 16.11.2007, 04:16:56
ja si davam patentovat algoritmus:D da sa pozret na fore ze som to prvy napisal:D
hh tak ja tiez napisem a potom dam vascakovi link ze ked neveri nech sa presvedci...:D:D:D
Quote from: nemtom on 16.11.2007, 04:16:56
ja si davam patentovat algoritmus:D da sa pozret na fore ze som to prvy napisal:D
ty si hovoril ze mas iny dlhsi :D
Quote from: nemtom on 15.11.2007, 18:25:09
kazdy prvok porovnas s ostatnymi dvoma a ked ti vyde ze je vacsi aj od jedneho aj od druheho tak mas vysledok, myslim ze v tomto zadani nieje co riesit, tak isto pri minimalnom
kde?
Quote from: pUf on 15.11.2007, 22:53:32
ale no .. ved to ma 13 riadkov a z toho 5 riadkov su iba zatvorky.. sak to je uplne easy bk
moj ma len 11 :D
aha puf, ja ze to mne pises ked mna si quotoval
Quote from: nemtom on 16.11.2007, 15:50:48
aha puf, ja ze to mne pises ked mna si quotoval
aha to nesi ty :DD
to je jedno patent mam ako prvy ja :D
:D:D si jak M$ :D
podla vas aj to je zle ked si spravim vlastny length?
ale ja som oficialne prvy ktory to urobil a nepouzil som ani AND ani IF .. pouzil som iba oldschool lisp prikazy :D resp 1 prikaz :P a navyse som dokazal vypracovat aj ine zadanie s retazcami na 7 riadkov z toho 2 riadky su zatvorky :D
btw teda je mozne vytvorit viac algoritmov, ktore sa lisia podstatne alebo aj menej podstatne ale lisia sa
Quote from: nemtom on 16.11.2007, 15:58:47
:D:D si jak M$ :D
podla vas aj to je zle ked si spravim vlastny length?
to nemoze byt zle... ved je pisane ze nemozes pouzivat standardnu funkciu lispu.. ak si napises vlastnu tak je to ok.. ale aby nepindali tak si ju nazvi inak... napriklad funkcia nemtom.. :)
:) ee, uz mam riesenie, vdaka pufovi, je to na 7 riadkov a je to genialne:D
ja som ten moj upravil aby isiel rekurzivne :D
Quote from: nemtom on 16.11.2007, 20:34:52
:) ee, uz mam riesenie, vdaka pufovi, je to na 7 riadkov a je to genialne:D
ja mam na 5 :) a je to pologenialne a rekurzivne.. :)
:) nice, ja svoje viem dat do 1:D:D:D
V prípade, že existuje štandardná LISP-ovská funkcia, riešiaca Váš problém - NEPOUŽITE JU !!! (napr. funkcie LENGTH, LAST)
if a anad pouzit mozem nie ? :D
no snad hej...?! sak bez tooh to je somarina... netvrdim ze sa to mozno neda zrobit, ale naco si hlavku trapit???
skuste napisat reverse.....bo ja mam taky priklad ze sa da na 1 riadok zapisat s reversom
Quote from: nemtom on 16.11.2007, 21:58:35
:) nice, ja svoje viem dat do 1:D:D:D
hej.. aj ked poviem ze moj program ma 500 riadkov neznamena ze na kazdom daco je :j_tongue:
Quote from: MKI on 16.11.2007, 22:06:51
V prípade, že existuje štandardná LISP-ovská funkcia, riešiaca Váš problém - NEPOUŽITE JU !!! (napr. funkcie LENGTH, LAST)
if a anad pouzit mozem nie ? :D
ani if, ani cdr a car nesmies pouzit.. vlastne nemozes pouzivat ziadnu lisp funkciu a musis si napisat vlastny jazyk aj s interpreterom.. len nam to nechceli povedat priamo ta dali take easy priklady... :j_laugh:
hej, ale ved tam sa pise, ze...
V prípade, že existuje štandardná LISP-ovská funkcia, riešiaca Váš problém - NEPOUŽITE JU !!!
... to znamena, ze nemam pouzit fciu "MAX" (v mojom pripade), ale nikde sa tam nepise, ze nemozem pouzit "IF, AND,..." to potom ani "DEFUN" nemozem pouzit??? Nemam si potom nahodou podla nich stvorit vlastny programovaci jazyk??? sak ked uz vlastne file-systemy na nas usili tak preco nie aj toto??? ta ich vynaliezavost, aby nas vyhodili z FEI fakt uz nepozna hranice...
Quote from: m!x41 on 17.11.2007, 01:47:51
hej, ale ved tam sa pise, ze...
V prípade, že existuje štandardná LISP-ovská funkcia, riešiaca Váš problém - NEPOUŽITE JU !!!
... to znamena, ze nemam pouzit fciu "MAX" (v mojom pripade), ale nikde sa tam nepise, ze nemozem pouzit "IF, AND,..." to potom ani "DEFUN" nemozem pouzit??? Nemam si potom nahodou podla nich stvorit vlastny programovaci jazyk??? sak ked uz vlastne file-systemy na nas usili tak preco nie aj toto??? ta ich vynaliezavost, aby nas vyhodili z FEI fakt uz nepozna hranice...
ved to som povedal :)
Tak ja už som si svoje zadanie č. 3 urobil - to s najmenšim z troch čisel je lahke. Ale niektorym z vás fakt nezávidim tie prehladavania -----
trocha som sa dnes nudil a spravil som toto:
1.) Napíšte funkciu, ktorá vráti počet prvkov v zozname (neobsahujúcom ďalšie zoznamy) - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
2.) Napíšte funkciu, ktorá zistí, či počet prvkov v zozname (na najvyššej úrovni) je párny, alebo nepárny - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
(defun parny(list)
(if (eq (mod (len list) 2) 0) 'parny 'neparny))
5.) Napíšte funkciu, ktorá zistí, či daný prvok je prvkom zoznamu (neobsahujúceho ďalšie zoznamy).
(defun contains(c list)
(cond ((eql c (car list)))
((null (cdr list)) (not (null (cdr list))))
(t (contains c (cdr list)))
)
)
6.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun counter(c list)
(cond ((eql c (car list)) (1+ (count c (cdr list))) )
((null (cdr list)) 0)
(t (count c (cdr list)))
)
)
7.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun nthelm(n list)
(cond ((eq 1 n) (car list))
(t (nthelm (- n 1) (cdr list))))
)
8.) Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun evenelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 0) 1 0))
((eq (mod (car list) 2) 0) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
9.) Napíšte funkciu, ktorá vráti počet nepárnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun oddelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 1) 1 0))
((eq (mod (car list) 2) 1) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
11.) Napíšte funkciu, ktorá vráti posledný prvok zoznamu (neobsahujúceho ďalšie zoznamy) - nepoužite LENGTH !
(defun last(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (last (cdr list)))))
3. a 4. napisal MKI a 10. mam ja takze to tu nedavam.. :)
ja ta zboznujem :)
si uplny genius, dakujem ti za tie zadania....
kane teraz ti reputacia stupla vysoko daleko :D
este keby som to vedel spustit, mam staihnute to alegro ci co to je...
mohol by mi niekto poradit co mam presne spravit aby som to spustil???
zatial som pouzival takyto postup:
new/save/compile/load
a potom som napisal:
(konkretne mam 5 zadanie)
(contains(2(1 2 3 4 5)))
ale akosi mi stale vypisuje nieco s debugerom :( pls help me bu
fest fajne
Quote from: gori on 18.11.2007, 01:07:45
este keby som to vedel spustit, mam staihnute to alegro ci co to je...
mohol by mi niekto poradit co mam presne spravit aby som to spustil???
zatial som pouzival takyto postup:
new/save/compile/load
a potom som napisal:
(konkretne mam 5 zadanie)
(contains(2(1 2 3 4 5)))
ale akosi mi stale vypisuje nieco s debugerom :( pls help me bu
toto by malo fungovat: (contains 2 (1 2 3 4 5))
Quote from: paly-sk on 18.11.2007, 01:55:54
Quote from: gori on 18.11.2007, 01:07:45
este keby som to vedel spustit, mam staihnute to alegro ci co to je...
mohol by mi niekto poradit co mam presne spravit aby som to spustil???
zatial som pouzival takyto postup:
new/save/compile/load
a potom som napisal:
(konkretne mam 5 zadanie)
(contains(2(1 2 3 4 5)))
ale akosi mi stale vypisuje nieco s debugerom :( pls help me bu
toto by malo fungovat: (contains 2 (1 2 3 4 5))
spravne je (contains 2 '(1 2 3 4 5)) kedze pred stringy a listy sa dava apostrof...
dikes....takze mi uz len ostava pochopit kazde jedno pismenko v tom zadani ;)
Quote from: kane77 on 17.11.2007, 22:26:39
trocha som sa dnes nudil a spravil som toto:
1.) Napíšte funkciu, ktorá vráti počet prvkov v zozname (neobsahujúcom ďalšie zoznamy) - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
2.) Napíšte funkciu, ktorá zistí, či počet prvkov v zozname (na najvyššej úrovni) je párny, alebo nepárny - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
(defun parny(list)
(if (eq (mod (len list) 2) 0) 'parny 'neparny))
5.) Napíšte funkciu, ktorá zistí, či daný prvok je prvkom zoznamu (neobsahujúceho ďalšie zoznamy).
(defun contains(c list)
(cond ((eql c (car list)))
((null (cdr list)) (not (null (cdr list))))
(t (contains c (cdr list)))
)
)
6.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun counter(c list)
(cond ((eql c (car list)) (1+ (count c (cdr list))) )
((null (cdr list)) 0)
(t (count c (cdr list)))
)
)
7.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun nthelm(n list)
(cond ((eq 1 n) (car list))
(t (nthelm (- n 1) (cdr list))))
)
8.) Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun evenelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 0) 1 0))
((eq (mod (car list) 2) 0) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
9.) Napíšte funkciu, ktorá vráti počet nepárnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun oddelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 1) 1 0))
((eq (mod (car list) 2) 1) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
11.) Napíšte funkciu, ktorá vráti posledný prvok zoznamu (neobsahujúceho ďalšie zoznamy) - nepoužite LENGTH !
(defun last(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (last (cdr list)))))
3. a 4. napisal MKI a 10. mam ja takze to tu nedavam.. :)
:nevyhadzuje ti ta 11 pri kompilacii problem ?..lebo mne hej a nevem s tym ani pohnut, pls neskusil by si sa na to pozriet ? :lb:
Jedna blba otazočka: tie funkcie dufam že nemusia načitavat udaje zo suboru ???. Lebo to by som musel ten svoj programček dosť prerobiť.
cosi:)
Quote from: santa_claus on 18.11.2007, 18:38:57
Quote from: kane77 on 17.11.2007, 22:26:39
trocha som sa dnes nudil a spravil som toto:
1.) Napíšte funkciu, ktorá vráti počet prvkov v zozname (neobsahujúcom ďalšie zoznamy) - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
2.) Napíšte funkciu, ktorá zistí, či počet prvkov v zozname (na najvyššej úrovni) je párny, alebo nepárny - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
(defun parny(list)
(if (eq (mod (len list) 2) 0) 'parny 'neparny))
5.) Napíšte funkciu, ktorá zistí, či daný prvok je prvkom zoznamu (neobsahujúceho ďalšie zoznamy).
(defun contains(c list)
(cond ((eql c (car list)))
((null (cdr list)) (not (null (cdr list))))
(t (contains c (cdr list)))
)
)
6.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun counter(c list)
(cond ((eql c (car list)) (1+ (count c (cdr list))) )
((null (cdr list)) 0)
(t (count c (cdr list)))
)
)
7.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun nthelm(n list)
(cond ((eq 1 n) (car list))
(t (nthelm (- n 1) (cdr list))))
)
8.) Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun evenelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 0) 1 0))
((eq (mod (car list) 2) 0) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
9.) Napíšte funkciu, ktorá vráti počet nepárnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun oddelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 1) 1 0))
((eq (mod (car list) 2) 1) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
11.) Napíšte funkciu, ktorá vráti posledný prvok zoznamu (neobsahujúceho ďalšie zoznamy) - nepoužite LENGTH !
(defun last(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (last (cdr list)))))
3. a 4. napisal MKI a 10. mam ja takze to tu nedavam.. :)
:nevyhadzuje ti ta 11 pri kompilacii problem ?..lebo mne hej a nevem s tym ani pohnut, pls neskusil by si sa na to pozriet ? :lb:
eh no jasne ze vyhadzuje.. som si to nevsimol.. vyhadzuje preto lebo funkcia last uz v lispe existuje :)... takze staci premenovat last na co ja viem napriklad lst..
takze spravne takto:
(defun lst(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
Quote from: kane77 on 18.11.2007, 19:38:09
Quote from: santa_claus on 18.11.2007, 18:38:57
Quote from: kane77 on 17.11.2007, 22:26:39
trocha som sa dnes nudil a spravil som toto:
1.) Napíšte funkciu, ktorá vráti počet prvkov v zozname (neobsahujúcom ďalšie zoznamy) - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
2.) Napíšte funkciu, ktorá zistí, či počet prvkov v zozname (na najvyššej úrovni) je párny, alebo nepárny - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
(defun parny(list)
(if (eq (mod (len list) 2) 0) 'parny 'neparny))
5.) Napíšte funkciu, ktorá zistí, či daný prvok je prvkom zoznamu (neobsahujúceho ďalšie zoznamy).
(defun contains(c list)
(cond ((eql c (car list)))
((null (cdr list)) (not (null (cdr list))))
(t (contains c (cdr list)))
)
)
6.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun counter(c list)
(cond ((eql c (car list)) (1+ (count c (cdr list))) )
((null (cdr list)) 0)
(t (count c (cdr list)))
)
)
7.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun nthelm(n list)
(cond ((eq 1 n) (car list))
(t (nthelm (- n 1) (cdr list))))
)
8.) Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun evenelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 0) 1 0))
((eq (mod (car list) 2) 0) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
9.) Napíšte funkciu, ktorá vráti počet nepárnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun oddelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 1) 1 0))
((eq (mod (car list) 2) 1) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
11.) Napíšte funkciu, ktorá vráti posledný prvok zoznamu (neobsahujúceho ďalšie zoznamy) - nepoužite LENGTH !
(defun last(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (last (cdr list)))))
3. a 4. napisal MKI a 10. mam ja takze to tu nedavam.. :)
:nevyhadzuje ti ta 11 pri kompilacii problem ?..lebo mne hej a nevem s tym ani pohnut, pls neskusil by si sa na to pozriet ? :lb:
eh no jasne ze vyhadzuje.. som si to nevsimol.. vyhadzuje preto lebo funkcia last uz v lispe existuje :)... takze staci premenovat last na co ja viem napriklad lst..
takze spravne takto:
(defun lst(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
ja nechcem vyzerat ako totalny magor, ale mne to neslape ani s tym lst ani s nicim inym..postup je ako pisal uz ejden vyssie..new, save, compile a na zaver load ?
Quote from: santa_claus on 18.11.2007, 22:34:35
Quote from: kane77 on 18.11.2007, 19:38:09
Quote from: santa_claus on 18.11.2007, 18:38:57
Quote from: kane77 on 17.11.2007, 22:26:39
trocha som sa dnes nudil a spravil som toto:
1.) Napíšte funkciu, ktorá vráti počet prvkov v zozname (neobsahujúcom ďalšie zoznamy) - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
2.) Napíšte funkciu, ktorá zistí, či počet prvkov v zozname (na najvyššej úrovni) je párny, alebo nepárny - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
(defun parny(list)
(if (eq (mod (len list) 2) 0) 'parny 'neparny))
5.) Napíšte funkciu, ktorá zistí, či daný prvok je prvkom zoznamu (neobsahujúceho ďalšie zoznamy).
(defun contains(c list)
(cond ((eql c (car list)))
((null (cdr list)) (not (null (cdr list))))
(t (contains c (cdr list)))
)
)
6.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun counter(c list)
(cond ((eql c (car list)) (1+ (count c (cdr list))) )
((null (cdr list)) 0)
(t (count c (cdr list)))
)
)
7.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun nthelm(n list)
(cond ((eq 1 n) (car list))
(t (nthelm (- n 1) (cdr list))))
)
8.) Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun evenelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 0) 1 0))
((eq (mod (car list) 2) 0) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
9.) Napíšte funkciu, ktorá vráti počet nepárnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun oddelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 1) 1 0))
((eq (mod (car list) 2) 1) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
11.) Napíšte funkciu, ktorá vráti posledný prvok zoznamu (neobsahujúceho ďalšie zoznamy) - nepoužite LENGTH !
(defun last(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (last (cdr list)))))
3. a 4. napisal MKI a 10. mam ja takze to tu nedavam.. :)
:nevyhadzuje ti ta 11 pri kompilacii problem ?..lebo mne hej a nevem s tym ani pohnut, pls neskusil by si sa na to pozriet ? :lb:
eh no jasne ze vyhadzuje.. som si to nevsimol.. vyhadzuje preto lebo funkcia last uz v lispe existuje :)... takze staci premenovat last na co ja viem napriklad lst..
takze spravne takto:
(defun lst(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
ja nechcem vyzerat ako totalny magor, ale mne to neslape ani s tym lst ani s nicim inym..postup je ako pisal uz ejden vyssie..new, save, compile a na zaver load ?
(defun lst(list)
(cond
((null list) (list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
takto by to mohlo ist... :thumbsup:
inak niektore veci zrejme zavisia od pouziteho interpretera... ja som tieto priklady robil v clispe (Common LISP)...
zaroven nezabudnite ze funkcie sa volaju takto (funkcia argumenty) teda zatvorky su pred nazvom funkcie a argumenty idu bez zatvoriek...
No tak som pekne stravil nedelny vecer pri LISPe. Pri tolkom googleni som natrafil na to, co vlastne znamena LISP - Lost In Stupid Parenthesis bk, inac velmi mi pomohli sa zorientovat tie kody co su tu, otvoril som si flasu vina a kodil a kodil az sa mi podarilo urobit zadanie (In vino veritas :alc: )
Este sa chcem opytat, niekto tuna hovoril o new/save/compile a load ... prve tri sa mi podarilo bez vacsich problemov a co s tym 3tim :D ako tam dam zoznam a ako prinutim program aby si bral polozky z toho zoznamu (klucove slovo load som nenasiel v lispe nikde v menu :D:D:D)
chcem sa opytat v akej forme treba odovzdat tu funkciu v lispe? staci to doniest v txtecku a potom len prekopirovat do konzoly a ukazat ze ide? ???
jj, to staci
Quote from: misoka on 19.11.2007, 01:20:08
Quote from: santa_claus on 18.11.2007, 22:34:35
Quote from: kane77 on 18.11.2007, 19:38:09
Quote from: santa_claus on 18.11.2007, 18:38:57
Quote from: kane77 on 17.11.2007, 22:26:39
trocha som sa dnes nudil a spravil som toto:
1.) Napíšte funkciu, ktorá vráti počet prvkov v zozname (neobsahujúcom ďalšie zoznamy) - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
2.) Napíšte funkciu, ktorá zistí, či počet prvkov v zozname (na najvyššej úrovni) je párny, alebo nepárny - nepoužite LENGTH !
(defun len(list)
(cond ((null list) 0)
((null (cdr list)) 1)
(t (1+ (len (cdr list))))
)
)
(defun parny(list)
(if (eq (mod (len list) 2) 0) 'parny 'neparny))
5.) Napíšte funkciu, ktorá zistí, či daný prvok je prvkom zoznamu (neobsahujúceho ďalšie zoznamy).
(defun contains(c list)
(cond ((eql c (car list)))
((null (cdr list)) (not (null (cdr list))))
(t (contains c (cdr list)))
)
)
6.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun counter(c list)
(cond ((eql c (car list)) (1+ (count c (cdr list))) )
((null (cdr list)) 0)
(t (count c (cdr list)))
)
)
7.) Napíšte funkciu, ktorá zistí, koľkokrát sa daný prvok vyskytuje v zozname (neobsahujúcom ďalšie zoznamy).
(defun nthelm(n list)
(cond ((eq 1 n) (car list))
(t (nthelm (- n 1) (cdr list))))
)
8.) Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun evenelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 0) 1 0))
((eq (mod (car list) 2) 0) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
9.) Napíšte funkciu, ktorá vráti počet nepárnych čísel v zozname (neobsahujúcom ďalšie zoznamy).
(defun oddelm(list)
(cond ((null (cdr list)) (if (eq (mod (car list) 2) 1) 1 0))
((eq (mod (car list) 2) 1) (1+ (evenelm(cdr list))))
(t (evenelm(cdr list)))
)
)
11.) Napíšte funkciu, ktorá vráti posledný prvok zoznamu (neobsahujúceho ďalšie zoznamy) - nepoužite LENGTH !
(defun last(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (last (cdr list)))))
3. a 4. napisal MKI a 10. mam ja takze to tu nedavam.. :)
:nevyhadzuje ti ta 11 pri kompilacii problem ?..lebo mne hej a nevem s tym ani pohnut, pls neskusil by si sa na to pozriet ? :lb:
eh no jasne ze vyhadzuje.. som si to nevsimol.. vyhadzuje preto lebo funkcia last uz v lispe existuje :)... takze staci premenovat last na co ja viem napriklad lst..
takze spravne takto:
(defun lst(list)
(cond
((null list) (return list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
ja nechcem vyzerat ako totalny magor, ale mne to neslape ani s tym lst ani s nicim inym..postup je ako pisal uz ejden vyssie..new, save, compile a na zaver load ?
(defun lst(list)
(cond
((null list) (list))
((null (cdr list)) (car list))
(t (lst (cdr list)))))
takto by to mohlo ist... :thumbsup:
vypise to LST a co dalej, pls poradte.
napriklad skus zadat : (lst '(a b c d))
cheky diq
btw to si ty cheklovsky ? :D
ked sme uz pri menach .. tak mam odkaz pre Martina Kerekáča ... neviem presne ktory to je, tak ked ho dakto pozna nech mu tlamoci moj pozdrav ... ze ma kurevsky podobnu temu na esej ako ja ... vyuzitie neuronovych sieti pri rozpoznavani hlasu verzus moja Artificial Intelligence & voice/speech recognition .... mne je to lautr jedno, len ci cviciaci nebudu robit problem ze dost podobne temy (ja som si to vybral skor, takze mna sa to az tak netyka,ale...)
odkazuje ze aj jemu to je jedno:)
uz nic :)
5 bodov ze velmi pekne :DD u staci len tri body z eseje a je to :ropebanana:
tak nic uz som na to prisiel :P
to MKI: no asi tazko "len 3b. z eseje", ked musis mat zo seckeho nadpolovicnu vascinu... (aj z percetronu, aj z pisomky, aj z lispu, aj z eseje...)
bp
Quote from: m!x41 on 20.11.2007, 21:34:08
to MKI: no asi tazko "len 3b. z eseje", ked musis mat zo seckeho nadpolovicnu vascinu... (aj z percetronu, aj z pisomky, aj z lispu, aj z eseje...)
bp
# Študent musí napísa všetky kontrolné písomky aspoò za "E", t.j. po starom za 3.
# Študent musí úspešne vypracova a obháji zadania a esej.
teda nadpolovicna vacsina je len pri pisomke ... ostatne ma byt len uspesne ... aj 0b. je niekedy uspech nieee? :) ide o to ze to musis odovzdat....
a mas to overene? abo len tak tvoj subjektivny nazor???
neni to naisto bo nevieme co myslia pod uspesne:)
Quote from: m!x41 on 20.11.2007, 22:25:52
a mas to overene? abo len tak tvoj subjektivny nazor???
Subjektivny nazor ... ale vraj sa pytali vascaka a ze musi zo vsetkeho 50%+ :'(
esej vyzera byt najlahsim zadanim....a pod pojmom obhajit si predstavujem precitat vsetko zo slidov + sem tam daco obkecat......
no neviem ci lisp zadanie neni lahsie ako pisat referat
urcite ze referat nie je najlahsi... si sa s konom zrazil? :huh2:
no podla toho aku mate temu.......:P
ta ale ajtak, lisp zadania su dost lahke a su na max 10 riadkov, referat musis napisat 5 stran + pps + obhajovat
Podla mna bol Lisp ovela lahši než esej - to som mal urobene za 30 minut + inštalacia LISPU 10 min ( aj s hladanim ). A esej len temu som hladal hodinu a pritom som si ani nič nevybral.
dobre presvedcili ste ma sry ze som sa ozval:)
caute...ma nietko zadanie c.8? Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy). zislo by sa mi :)
Quote from: ma5ter on 21.11.2007, 21:49:07
caute...ma nietko zadanie c.8? Napíšte funkciu, ktorá vráti počet párnych čísel v zozname (neobsahujúcom ďalšie zoznamy). zislo by sa mi :)
ved to je v tom co som postol...