- 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.