Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

"Szejm on mi" czyli przykladow kilka

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Sob 16:51, 27 Sty 2007    Temat postu: "Szejm on mi" czyli przykladow kilka

Nie wiem jak inne grupy, ale my (gr dra Kozika) mielismy na ten fanatastyczny jezyk poswiecone az dwa cwiczenia :) Wykopalem z softlaba (thx Oin) plik majacy charakter takich luznych notatek, troche go obrobilem, podopisywalem komentarze i quicksorta :P Mozecie go znalezc tu: [link widoczny dla zalogowanych]. Przepraszam ze to wszystko jest w jednym pliku i ze uzycie czegokolwiek wymaga zmudnego odkomentowywania kazdej linijki (ale na szczescie nie jest tego jakos kosmicznie duzo). Plik jest podzielony na sekcje, ktore wg mnie (i dra Kozika :P) sa ulozone rosnaco wzgledem poziomu trudnosci, jesli jakies fragmenty wyzszych sekcji sa potrzebne nizej, ich kod jest przeklejony. No koncu niektorych sekcji sa umieszczone krotkie dema. Zycze milej zabawy, jakby cos bylo niejasne - pytac.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Fen
zielony żul



Dołączył: 22 Lut 2006
Posty: 946
Przeczytał: 0 tematów

Skąd: Bochnia

PostWysłany: Sob 17:06, 27 Sty 2007    Temat postu:

dzienks hansik... na pewno się przyda do obczajania tego języka!
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Yoter
zielony żul



Dołączył: 19 Lis 2005
Posty: 1033
Przeczytał: 0 tematów

Skąd: Gościeradów

PostWysłany: Sob 17:33, 27 Sty 2007    Temat postu:

oooo ładny quicksorcik :D a teraz go zrandomizuj :twisted:

a kto zgadnie co robi to:
Kod:
((lambda (x)
           (list x (list (quote quote) x)))
       (quote
           (lambda (x)
               (list x (list (quote quote) x)))))
?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Sob 18:01, 27 Sty 2007    Temat postu:

Usiluje wypisac sam siebie :P

Btw, poprawilem troche ten kod, dodalem obsluge jednego parszywego warunku brzegowego przy append i sprawilem ze qsort przestal sie zapetlac przy sortowaniu rownych elementow. Sorki za bledy.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Yoter
zielony żul



Dołączył: 19 Lis 2005
Posty: 1033
Przeczytał: 0 tematów

Skąd: Gościeradów

PostWysłany: Sob 18:32, 27 Sty 2007    Temat postu:

@hansu: zgadza się... to quine w scheme'ie... więcej quine'ów (w tym również ten) jest tu: [link widoczny dla zalogowanych]
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
pazabo
pijak



Dołączył: 02 Lut 2006
Posty: 60
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Sob 19:24, 27 Sty 2007    Temat postu:

Jakby ktoś chciał więcej, tu daję mergesorta:

Kod:
(define append
  (lambda (l1 l2)
    (if (pair? l1)
        (cons (car l1) (append (cdr l1) l2))
        l2)))

(define length
  (lambda (l)
    (if (pair? l)
        (+ (length (cdr l)) 1)
        0)))

(define getodd
  (lambda (l)
    (if (pair? l)
        (cons (car l) (geteven (cdr l)))
        ())))

(define geteven
  (lambda (l)
    (if (pair? l)
        (getodd (cdr l))
        ())))

(define merge
  (lambda (l1 l2)
    (if (pair? l1)
        (if (pair? l2)
            (if (< (car l1) (car l2))
                (cons (car l1) (merge (cdr l1) l2))
                (cons (car l2) (merge l1 (cdr l2))))
            l1)
        l2)))

(define mergesort
  (lambda (l)
    (let ((len (length l)))
      (if (> len 2)
           (merge
            (mergesort (getodd l))
            (mergesort (geteven l)))
           (if (= len 2)
               (if (< (car l) (cadr l))
                   l
                   (cons (cadr l) (cons (car l) ())))
               l)))))
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
hansu
Nieomylny Admin



Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów

Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?

PostWysłany: Sob 19:36, 27 Sty 2007    Temat postu:

Dobra, to teraz konkurs kto pierwszy skoduje dijkstre na kopcach fibbonacciego :P
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
oinopion
żul



Dołączył: 28 Lis 2005
Posty: 858
Przeczytał: 0 tematów

Skąd: Kraków

PostWysłany: Sob 19:51, 27 Sty 2007    Temat postu:

Coś z życia:
Cytat:
I did try to introduce Lisp to Google. (...) The only thing left was to get approval from the VP of engineering. The conversation went something like this:

Me: I'd like to talk to you about something...
Him: Let me guess - you want to use Smalltalk.
Me: Er, no...
Him: Lisp?
Me: Right.
Him: No way.
And that was the end of Lisp at Google.
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin