Autor |
Wiadomość |
vbazyl |
Wysł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 |
Wysł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 |
Wysłany: Pon 18:48, 26 Maj 2008 Temat postu: |
|
niezly lol... |
|
|
denciaq |
Wysłany: Pon 18:31, 26 Maj 2008 Temat postu: |
|
jak zwykly tekst wklejasz to tez jest no wiec nie wyjasnie |
|
|
Roberto |
Wysłany: Pon 18:07, 26 Maj 2008 Temat postu: |
|
To moze nie robic [ code ] ? i bedzie ok?? |
|
|
boro |
Wysłany: Pon 17:48, 26 Maj 2008 Temat postu: |
|
qrwa, faktycznie to popierdolone forum zamienia znaki na inne. |
|
|
denciaq |
Wysł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 |
Wysł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 |
Wysłany: Sob 21:04, 24 Maj 2008 Temat postu: |
|
jezeli chodzi<Impuls> (<> ) nie ma takiego czegoś, to przy wklejeniu i dodaniu postu wrzuca |
|
|
dziemian_rec |
Wysł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)))
|
|
|
denciaq |
Wysł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 |
Wysł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 |
Wysł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 |
Wysł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 |
Wysłany: Śro 1:14, 16 Kwi 2008 Temat postu: |
|
Z Kasią Kościuk |
|
|