Author Topic: UI zadanie v LISP  (Read 27387 times)

kane77

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
Re: UI zadanie v LISP
« Reply #75 on: 17.11.2007, 03:29:58 »
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 :)
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

vlkodlak

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: UI zadanie v LISP
« Reply #76 on: 17.11.2007, 17:45:40 »
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 -----

kane77

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
Re: UI zadanie v LISP
« Reply #77 on: 17.11.2007, 22:26:39 »
trocha som sa dnes nudil a spravil som toto:
Code: [Select]
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.. :)
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

gori

  • Newbie
  • *
  • Posts: 25
  • Peace
    • View Profile
    • Network
Re: UI zadanie v LISP
« Reply #78 on: 18.11.2007, 00:53:40 »
ja ta zboznujem :)
si uplny genius, dakujem ti  za tie zadania....
Nejak bolo, nejak bude :)

Ing. nemtom

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7709
  • lofr dyslektik
    • View Profile
Re: UI zadanie v LISP
« Reply #79 on: 18.11.2007, 01:03:29 »
kane teraz ti reputacia stupla vysoko daleko :D
brix will be shat

gori

  • Newbie
  • *
  • Posts: 25
  • Peace
    • View Profile
    • Network
Re: UI zadanie v LISP
« Reply #80 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
Nejak bolo, nejak bude :)

kOKTAVYaLOJZ

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: UI zadanie v LISP
« Reply #81 on: 18.11.2007, 01:39:09 »
fest fajne

paly-sk

  • Full Member
  • ***
  • Posts: 208
    • View Profile
    • Flexi Systems
Re: UI zadanie v LISP
« Reply #82 on: 18.11.2007, 01:55:54 »
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))
Jabber: paly@jabbim.sk
Web: www.flexisystems.sk

kane77

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
Re: UI zadanie v LISP
« Reply #83 on: 18.11.2007, 02:04:37 »
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...
« Last Edit: 18.11.2007, 02:09:16 by kane77 »
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

gori

  • Newbie
  • *
  • Posts: 25
  • Peace
    • View Profile
    • Network
Re: UI zadanie v LISP
« Reply #84 on: 18.11.2007, 15:53:03 »
dikes....takze mi uz len ostava pochopit kazde jedno pismenko v tom zadani ;)
Nejak bolo, nejak bude :)

santa_claus

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: UI zadanie v LISP
« Reply #85 on: 18.11.2007, 18:38:57 »
trocha som sa dnes nudil a spravil som toto:
Code: [Select]
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:

vlkodlak

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: UI zadanie v LISP
« Reply #86 on: 18.11.2007, 19:07:13 »
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ť.
« Last Edit: 18.11.2007, 19:29:49 by vlkodlak »

Ing. nemtom

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7709
  • lofr dyslektik
    • View Profile
Re: UI zadanie v LISP
« Reply #87 on: 18.11.2007, 19:13:30 »
cosi:)
brix will be shat

kane77

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
Re: UI zadanie v LISP
« Reply #88 on: 18.11.2007, 19:38:09 »
trocha som sa dnes nudil a spravil som toto:
Code: [Select]
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)))))

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

santa_claus

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: UI zadanie v LISP
« Reply #89 on: 18.11.2007, 22:34:35 »
trocha som sa dnes nudil a spravil som toto:
Code: [Select]
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 ?

misoka

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: UI zadanie v LISP
« Reply #90 on: 19.11.2007, 01:20:08 »
trocha som sa dnes nudil a spravil som toto:
Code: [Select]
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:

kane77

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
Re: UI zadanie v LISP
« Reply #91 on: 19.11.2007, 01:39:38 »
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...

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

malypali

  • Jr. Member
  • **
  • Posts: 53
    • View Profile
Re: UI zadanie v LISP
« Reply #92 on: 19.11.2007, 06:54:24 »
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:

Ev0

  • Jr. Member
  • **
  • Posts: 84
    • View Profile
Re: UI zadanie v LISP
« Reply #93 on: 19.11.2007, 16:19:56 »
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)

trek

  • Hero Member
  • *****
  • Posts: 568
  • cestu sme mali spolo?nú ale nohy ma bolia vlastné
    • View Profile
Re: UI zadanie v LISP
« Reply #94 on: 19.11.2007, 18:12:04 »
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? ???

checky

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: UI zadanie v LISP
« Reply #95 on: 19.11.2007, 18:23:10 »
jj, to staci

Ev0

  • Jr. Member
  • **
  • Posts: 84
    • View Profile
Re: UI zadanie v LISP
« Reply #96 on: 19.11.2007, 22:32:45 »
trocha som sa dnes nudil a spravil som toto:
Code: [Select]
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.

checky

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: UI zadanie v LISP
« Reply #97 on: 19.11.2007, 22:39:36 »
napriklad skus zadat : (lst '(a b c d))

Ev0

  • Jr. Member
  • **
  • Posts: 84
    • View Profile
Re: UI zadanie v LISP
« Reply #98 on: 19.11.2007, 22:42:54 »
cheky diq

btw to si ty cheklovsky ? :D

Ing.Veduci

  • Hero Member
  • *****
  • Posts: 2033
  • Ucit sa, ucit sa, ucit sa...
    • View Profile
Re: UI zadanie v LISP
« Reply #99 on: 20.11.2007, 04:26:10 »
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...)
Co bolo, to bolo. Terazky som Ing.Veduci
Predpokladám, že väčšina z vás má doma počítač. Buď to, alebo ste si túto stránku vycucali z vredu na nohe.