- Republika WWW

Transkrypt

- Republika WWW
1. Napisać prosty system ekspertowy (wykorzystujący instrukcje: „test” oraz „if”)
rozwiązujący układ równań postaci:
 a1 x + b1 y = c1

a2 x + b2 y = c2
wiedząc, że: W = a1b2-b1a2; W1 = c1b2-c2b1; W2 = a1c2-a2c1;
Jeżeli W ≠ 0, to układ ma dokładnie jedno rozwiązanie:
W
W
x= 1 ; y= 2
W
W
Jeżeli W = 0 i W1 ≠ 0 lub W2 ≠ 0, to układ jest sprzeczny
Jeżeli W = 0 i W1 = W2 = 0, to układ jest nieoznaczony
Program powinien posiadać następujące reguły:
R1: Reguła odpala się na fakt początkowy „initial-fact”, oraz umożliwia
wprowadzenie danych a1, b1, c1 z pierwszego równania.
R2: Reguła odpala się gdy wprowadzono dane odnośnie pierwszego
równania. Umożliwia ona wprowadzenie danych a2, b2, c2 z drugiego
równania.
R3: Odpala się gdy zaistnieją fakty a1, b1, c1, a2, b2, c2. Wyznacza ona
współczynniki W, W1, W2.
R4: Odpala się, gdy zaistnieją fakty W, W1, W2. Obliczane są wszystkie trzy
przypadki odnośnie istnienia rozwiązań, tzn.
Jeżeli W ≠ 0, to układ ma dokładnie jedno rozwiązanie:
W
W
x= 1 ; y= 2
W
W
Jeżeli W = 0 i W1 ≠ 0 lub W2 ≠ 0, to układ jest sprzeczny
Jeżeli W = 0 i W1 = W2 = 0, to układ jest nieoznaczony
W tej regule na ekran wyprowadzane są tylko komentarze odnośnie tego, że
„Układ rozwiązań jest sprzeczny” lub „Układ rozwiązań jest nieoznaczony”.
R5: Odpala się, gdy zaistnieją fakty „x” i „y”. Reguła wyprowadza informacje o
otrzymanym wyniku na ekran.
Przykłady do testowania:
-
układ równań sprzeczny
-
układ równań nieoznaczony
-
układ równań oznaczony
rozwiązanie x=3.0, y=-1.0
2. Zmodyfikować program z punktu 1, aby usuwane były na bieżąco niepotrzebne
fakty z listy faktów. Po zakończeniu działania program ma mieć pustą listę faktów.
3. Wprowadzić możliwość uruchomienia programu ponownie. Program ma
zapytać użytkownika czy obliczenia maja być przeprowadzone raz jeszcze. Jeśli
użytkownik odpowie TAK wówczas startuje reguła R1 itd. Jeśli NIE program
kończy działanie.
4. W programie z punktu pierwszego regułę numer cztery (wykorzystującą
instrukcję „if”) zastąpić trzema regułami w których będą tylko instrukcje „test”.
Efekt działania programu ma pozostać bez zmian.