Autor Wiadomość
vbazyl
PostWysłany: Pon 22:23, 26 Maj 2008    Temat postu:

Da się to zmienić! Ja dziś swój kod edytowałem i tą część, która była zła zamieniłem na taką jak być powinna. I nie ma żadnych <>
eewkaa
PostWysłany: Pon 22:11, 26 Maj 2008    Temat postu:

Dopiero zauważyłam te zmiany w kodzie (a raczej mi powiedziano o nich).
Strzałki i nawiasy chyba tworza jakieś tagi... nie dam rady tego przeprawić...

Jeśli ktoś jest jeszcze tym zainteresowany to mogę na maila przesłać najwyżej.
Roberto
PostWysłany: Pon 18:48, 26 Maj 2008    Temat postu:

niezly lol...
denciaq
PostWysłany: Pon 18:31, 26 Maj 2008    Temat postu:

jak zwykly tekst wklejasz to tez jest no wiec nie wyjasnie Very Happy
Roberto
PostWysłany: Pon 18:07, 26 Maj 2008    Temat postu:

To moze nie robic [ code ] ? i bedzie ok??
boro
PostWysłany: Pon 17:48, 26 Maj 2008    Temat postu:

qrwa, faktycznie to popierdolone forum zamienia znaki na inne.
denciaq
PostWysłany: Pon 17:35, 26 Maj 2008    Temat postu:

powinno byc raczej tak:
?p3 <o>= ?o1 ?o2) (>= ?o1 ?o2)(>= ?o2 ?o3)))
=>

dałem spacje zeby nie pozmieniało

[EDIT]
lol znów i tak pozmieniało aj nie mam cierpliwosc do tego
boro
PostWysłany: Pon 17:30, 26 Maj 2008    Temat postu:

no dobra, mamy nastepujacy kod:


Kod:
(defrule wybierz_najmniejszy_najwiekszy_obwod
    ?p1 <- (obwody ?n1 ?o1)
    ?p2 <- (obwody ?n2 ?o2)
   ?p3 <obwody>= ?o1 ?o2) (>= ?o1 ?o2)
            (>= ?o2 ?o3)
            )
        )
    =>
    (retract ?p2)
   (printout t "Usuwamy prostokat " ?n2 crlf)
)


co powinno byc zamiast:

Kod:
?p3 <obwody>= ?o1 ?o2) (>= ?o1 ?o2)
            (>= ?o2 ?o3)



Kod:
?p3 <- (obwody ?o1 ?o2)
????????
denciaq
PostWysłany: Sob 21:04, 24 Maj 2008    Temat postu:

jezeli chodzi<Impuls> (<> ) nie ma takiego czegoś, to przy wklejeniu i dodaniu postu wrzuca Very Happy
dziemian_rec
PostWysłany: Sob 11:01, 24 Maj 2008    Temat postu:

dobra, tylko kto mi powie ocb w tych linijkach:
?p3 <pola>= ?po1 ?po2) (>= ?po1 ?po2)
(>= ?po2 ?po3)

albo

?i <Impuls> (- ?li ?liwa) 0) (> ?cz_ucz 36)))

Wink
denciaq
PostWysłany: Wto 22:07, 20 Maj 2008    Temat postu: Mulder and Scully czyli X-FILES


Kod:
(deftemplate Kosmita
   (slot Imie(type String))
    (slot Temperatura(type String))
    (slot Atmosfera(type String))
    (slot Towarzyskosc(type String))   
)

(deftemplate pom1
    (slot Imie(type String))
    (slot Temperatura(type String))
    (slot Atmosfera(type String))
)

(deftemplate pom2
    (multislot Imie(type String))
    (slot Temperatura(type String))
    (slot Atmosfera(type String))
)

(deftemplate pom3
    (multislot Imie(type String))
    (slot Temperatura(type String))
    (slot Atmosfera(type String))
)


(deffacts XFILES
   (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "ASDDX")
        (Temperatura "upal")
        (Towarzyskosc "sam")   
    )
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "SZARAK")
        (Temperatura "pokojowa")
        (Towarzyskosc "sam")   
    )   
   
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "SSS")
        (Temperatura "upal")
        (Towarzyskosc "grupa")   
    ) 
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "QQW")
        (Temperatura "upal")
        (Towarzyskosc "para")   
    ) 
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "E.T.")
        (Temperatura "upal")
        (Towarzyskosc "para")   
    ) 
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "SZARAK")
        (Temperatura "pokojowa")
        (Towarzyskosc "grupa")   
    )
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "SZARAK1")
        (Temperatura "pokojowa")
        (Towarzyskosc "grupa")   
    )
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "SZARAK2")
        (Temperatura "pokojowa")
        (Towarzyskosc "grupa")   
    )
    (Kosmita
       (Atmosfera "tlenowo-azotowa")
        (Imie "SZARAK3")
        (Temperatura "pokojowa")
        (Towarzyskosc "grupa")   
    ) 
    (Kosmita
       (Atmosfera "weglowodory")
        (Imie "OBCY")
        (Temperatura "upal")
        (Towarzyskosc "sam")   
    )
    (Kosmita
       (Atmosfera "kwasy")
        (Imie "TABOK")
        (Temperatura "mroz")
        (Towarzyskosc "grupa")   
    )
    (Kosmita
       (Atmosfera "kwasy")
        (Imie "TABOK2")
        (Temperatura "mroz")
        (Towarzyskosc "grupa")   
    )
    (Kosmita
       (Atmosfera "weglowodory")
        (Imie "KKK")
        (Temperatura "pokojowa")
        (Towarzyskosc "sam")   
    )
    (Kosmita
       (Atmosfera "kwasy")
        (Imie "QWE")
        (Temperatura "mroz")
        (Towarzyskosc "grupa")   
    )
)





(defrule umiesc_samot
?k<Kosmita>
(retract ?k)
(assert (pom1 (Imie ?i)(Atmosfera ?a)(Temperatura ?t)))
(printout t "Pomieszczenie jednoosobowe z atmosfera " ?a " i temperatura " ?t crlf)       
)

(defrule umiesc_para
?k<-(Kosmita(Atmosfera ?a)(Imie ?i)(Temperatura ?t)(Towarzyskosc ?tow))
?k2<Kosmita>
   (assert (pom2 (Atmosfera ?a)(Temperatura ?t)))
    (retract ?k)
    (retract ?k2)
    (printout t "Pomieszczenie dwuosobowe z atmosfera " ?a " oraz  temperatura " ?t crlf)
)

(defrule umiesc_grupe
?k<-(Kosmita(Atmosfera ?a)(Imie ?i)(Temperatura ?t)(Towarzyskosc ?tow))
?k2<-(Kosmita(Atmosfera ?a2)(Imie ?i2)(Temperatura ?t2)(Towarzyskosc ?tow2))
?k3<Kosmita>
   (assert (pom3 (Atmosfera ?a)(Temperatura ?t)))
    (retract ?k)
    (retract ?k2)
    (retract ?k3)
    (printout t "Pomieszczenie grupowe z atmosfera " ?a " oraz  temperatura " ?t crlf)
)
(defrule reszta
(declare (salience -1))
    ?k<-(Kosmita(Atmosfera ?a)(Imie ?i)(Temperatura ?t)(Towarzyskosc ?tow))
    ?p<pom3>
     (retract ?k)
)

(defrule zgony
(declare (salience -3))
?k<Kosmita>
 (printout t "Zgon " ?i  crlf)   
 )

(reset)
(run)
eewkaa
PostWysłany: Pon 8:31, 19 Maj 2008    Temat postu:

zadania od Smolińskiej:


zadanie 4:

Kod:
(deftemplate lokal
   (slot wlasciciel (type string))
    (slot powierzchnia-calkowita (type float)(default 0))
    (multislot pomieszczenia (type integer))
)


(deftemplate pomieszczenie
   (slot id-pomieszczenia (type integer))
    (slot rodzaj (type string))
    (slot powierzchnia (type float))
)
   

(deffacts lokale
    (lokal  (wlasciciel "X") (pomieszczenia 1 2 3)  )

    (pomieszczenie
        (id-pomieszczenia 1) (rodzaj "jadalnia") (powierzchnia 4.0)  )
    (pomieszczenie
        (id-pomieszczenia 2) (rodzaj "sypialnia") (powierzchnia 3.0)  )
    (pomieszczenie
        (id-pomieszczenia 3) (rodzaj "pracownia") (powierzchnia 3.5)  )
)


(defrule oblicz_powierzchnie_calkowita
    ?l <-(lokal (wlasciciel ?w) (pomieszczenia $? ?id $?) (powierzchnia-calkowita ?pow_c))
    ?pom <pomieszczenie>
    (bind ?pow_calk (+ ?pow_c ?pow))
    (modify ?l (powierzchnia-calkowita ?pow_calk))
    (retract ?pom)
)


(defrule wypisz_powierzchnie
    (declare (salience -1))
    (lokal (wlasciciel ?w) (powierzchnia-calkowita ?pow_c))
  =>
    (printout t "Powierzchnia calkowita lokalu " ?w " wynosi "?pow_c crlf)   
)


(reset)
(run)



zadanie 5:

Kod:
(deftemplate zamowienie
   (slot typ_produktu (type string))   ; nazwa produktu
    (slot liczba_jednostek (type integer))
    (slot wartosc_calkowita (type float)(default 0))
    (slot ocena (type string)(default "brak"))   
)


(deftemplate produkt
   (slot nazwa (type string))
    (slot cena_jednostkowa (type float))   
)


(deffacts zamowienia

    (zamowienie (typ_produktu "x") (liczba_jednostek 2)  )   
    (zamowienie   (typ_produktu "y") (liczba_jednostek 402) )
    (zamowienie (typ_produktu "y") (liczba_jednostek 2)  )
    (zamowienie (typ_produktu "z") (liczba_jednostek 6) )

    (produkt (nazwa "x") (cena_jednostkowa 10.5) )
    (produkt (nazwa "y") (cena_jednostkowa 6.0)  )
    (produkt (nazwa "z") (cena_jednostkowa 50.0) )
)


; regułę obliczającą całkowitą wartość zamówienia na podstawie liczby jednostek oraz ceny jednostkowej (ma wstawiać wynik do slotu wartość_całkowita)

(defrule oblicz_calkowita_wartosc_zamowienia
    ?z <-(zamowienie (typ_produktu ?tp) (liczba_jednostek ?lj) (wartosc_calkowita ?wc))
    ?p <produkt>
    (bind ?wart_calk (* ?lj ?cj))
    (modify ?z (wartosc_calkowita ?wart_calk))

)


(defrule wypisz_calkowita_wartosc_zamowienia
    (declare (salience -1))
   (zamowienie (typ_produktu ?tp) (liczba_jednostek ?lj) (wartosc_calkowita ?wc))
  =>
    (printout t "Wartosc calkowita zamowienia " ?tp " wynosi " ?wc crlf)   
)


; regułę wstawiającą do slotu Ocena napis Wysoka, jeżeli wartość całkowita
; zamówienia jest większa od 200 lub liczba jednostek jest większa od 400.

(defrule wstaw_ocene
    ?z <zamowienie> ?wc 200) (> ?lj 400))) 
    =>
    (modify ?z (ocena "Wysoka"))
)


(defrule wypisz_ocene
    (declare (salience -2))
   (zamowienie (typ_produktu ?tp) (ocena ?o))
  =>
    (printout t "Ocena zamowienia: " ?tp ": " ?o crlf)   
)


(reset)
(run)



zadanie6:

Kod:
(deftemplate Rachunek
    (slot id-klienta (type string))
    (slot liczba-impulsow (type integer))
    (slot do-zaplaty (type float))
)


(deftemplate Klient
   (slot id-klienta (type string))
    (slot imie (type string))
    (slot nazwisko (type string))
    (slot adres (type string))
    (slot kwota-abonamentu (type float))
    (slot liczba-impulsow-w-abonamencie (type integer))
   (slot czas-uczestnictwa (type integer))    ;w miesiacach
)


(deftemplate Impuls
    (slot wartosc (type float))         ;w zlotych
    (slot czas-trwania (type integer))   ;w minutach
)


(deffacts Rachunki
   
    (Impuls
       (czas-trwania 1) (wartosc 0.2) )
   
    (Klient
      (id-klienta "001") (imie "A") (nazwisko "N") (adres "ul. XYZ") (kwota-abonamentu 25.0)
      (liczba-impulsow-w-abonamencie 10) (czas-uczestnictwa 4) )
   
     (Klient
      (id-klienta "002") (imie "B") (nazwisko "MK") (adres "ul. ABC") (kwota-abonamentu 100.0)
      (liczba-impulsow-w-abonamencie 60) (czas-uczestnictwa 20)  )
   
    (Klient
      (id-klienta "003") (imie "C") (nazwisko "TT") (adres "ul. QWERTY") (kwota-abonamentu 50.0)
      (liczba-impulsow-w-abonamencie 30) (czas-uczestnictwa 40)  )
   
    (Rachunek    (id-klienta "001") (liczba-impulsow 10)  )
    (Rachunek     (id-klienta "002") (liczba-impulsow 70)  )
    (Rachunek     (id-klienta "003") (liczba-impulsow 40)  )
)


(defrule wylicz_kwote_do_zaplaty_bez_przekroczenia_abonamentu
    ?r <-(Rachunek (id-klienta ?id) (liczba-impulsow ?li) (do-zaplaty ?dz))
    ?k <-(Klient (id-klienta ?id) (kwota-abonamentu ?ka) (liczba-impulsow-w-abonamencie ?liwa)
           (czas-uczestnictwa ?cz_ucz))
    ?i <-(Impuls (czas-trwania ?cz_trw) (wartosc ?wart))

    (test (<li>
   
    (modify ?r (do-zaplaty ?ka))   
)


(defrule wylicz_kwote_do_zaplaty_bez_znizek
    ?r <-(Rachunek (id-klienta ?id) (liczba-impulsow ?li) (do-zaplaty ?dz))
    ?k <-(Klient (id-klienta ?id) (kwota-abonamentu ?ka) (liczba-impulsow-w-abonamencie ?liwa)
           (czas-uczestnictwa ?cz_ucz))
    ?i <Impuls> (- ?li ?liwa) 0) (<cz_ucz>

    (bind ?do_zaplaty (+ ?ka (*  (- ?li ?liwa) ?wart)))
   
    (modify ?r (do-zaplaty ?do_zaplaty))   
)


(defrule wylicz_kwote_do_zaplaty_ze_znzka_5%
    ?r <-(Rachunek (id-klienta ?id) (liczba-impulsow ?li) (do-zaplaty ?dz))
    ?k <-(Klient (id-klienta ?id) (kwota-abonamentu ?ka) (liczba-impulsow-w-abonamencie ?liwa)
           (czas-uczestnictwa ?cz_ucz))
    ?i <Impuls> (- ?li ?liwa) 0) (and (> ?cz_ucz 18) (<cz_ucz>
   
    (bind ?zaplata (+ ?ka (*  (- ?li ?liwa) ?wart)))
    (bind ?do_zaplaty (- ?zaplata (* ?zaplata 0.05)))
   
    (modify ?r (do-zaplaty ?do_zaplaty))   
)


(defrule wylicz_kwote_do_zaplaty_ze_znizka_10%
    ?r <-(Rachunek (id-klienta ?id) (liczba-impulsow ?li) (do-zaplaty ?dz))
    ?k <-(Klient (id-klienta ?id) (kwota-abonamentu ?ka) (liczba-impulsow-w-abonamencie ?liwa)
           (czas-uczestnictwa ?cz_ucz))
    ?i <Impuls> (- ?li ?liwa) 0) (> ?cz_ucz 36)))
    =>
   
    (bind ?zaplata (+ ?ka (*  (- ?li ?liwa) ?wart)))
    (bind ?do_zaplaty (- ?zaplata (* ?zaplata 0.10)))
   
    (modify ?r (do-zaplaty ?do_zaplaty))   
)


(defrule wypisz_wartosc_rachunku
    (declare (salience -1))
   (Rachunek (id-klienta ?id) (do-zaplaty ?dz))
    (Klient (id-klienta ?id) (nazwisko ?n))
  =>
    (printout t "Klient " ?n " ma do zaplaty " ?dz crlf)   
)


(reset)
(run)

vbazyl
PostWysłany: Czw 12:05, 08 Maj 2008    Temat postu:

Czy mógłby ktoś zamieścić rozwiązania pozostałych zadań ze strony Smolińskiej?
wicher
PostWysłany: Śro 7:23, 16 Kwi 2008    Temat postu:

A my mamy z Rybakiem... Do pierwszego koła podał aż 9 przykładowych zadań, no i jeszcze będzie projekt na koniec.
vbazyl
PostWysłany: Śro 1:14, 16 Kwi 2008    Temat postu:

Z Kasią Kościuk

Powered by phpBB © 2001, 2005 phpBB Group