Sisteme Expert

Interfata Grafica

Aveti aici cursul.

Aici este arhiva cu proiectul in NetBeans. Nu uitati sa schimbati calea pentru executabilul sicstus.exe, altfel, evident, nu va merge. Proiectul a fost creat cu NetBeans 8.0.2. Daca aveti probleme, imi scrieti mail. Atentie, programul se blocheaza daca dati un set de raspunsuri care nu duc la o solutie. Acest lucru a fost lasat in mod voit nerezolvat deoarece face parte din taskurile pe care le aveti voi de implementat.

Se va adauga in curand un tutorial pentru a crea o aplicatie cu JFrame.

Exercitii. Punctajul din paranteza e de forma puncte_primite_in_clasa/puncte_pe_rezolvare_acasa. Exercitiile trebuie prezentate obligatoriu pentru a primi vreun punctaj. Un exercitiu prezentat partial in timpul cursului (studentul a ajuns la acel exercitiu cu lucratul dar nu a apucat sa il termine), poate primi punctaj complet daca e prezentat complet la ora urmatoare.

  1. (0.1/0.05) Modificati exemplul simplu de interfata astfel incat sa se poata introduce si un input de forma nr1 - nr2, de exemplu "5-4" si sa afiseze scaderea.
  2. (0.4/0.2) Creati un proiect nou dubland exemplul simplu de interfata (ca sa il aveti pastrat si pe primul). Creati (aliniate pe un rand) doua textbox-uri (cu valorile implicite 1 si 2) si cu etichetele nr1 si nr2 si intre ele un Combo Box cu optiunile: +, -. Pe acelasi "rand" va fi si un buton cu textul "calculeaza". Se va crea si un label, cu identificatorul labelRezultate (puteti pastra si textArea-ul pentru debug). In urma fiecarui calcul in labelRezultate, pe cate un rand nou se va afisa un text de forma "nr1 operator nr2 = rezultat", de exemplu "4 - 5 = -1". Pentru diferente, randurile trebuie sa fie scrise cu rosu, pentru sume randurile trebuie sa fie scrise cu albastru. Se dau 0.2/0.1 puncte in plus daca se verifica si corectitudinea datelor, si se afiseaza un alertbox daca nu s-au trecut numere valide.
  3. (0.5/0.25) Se considera baza de cunostinte: %descriere(nume, descriere,cale).
    descriere(pisoi, 'Un pisic fara descriere deosebita','http://irinaciocan.ro/imagini/pisoi.png').
    descriere(pisoi_albastru, 'Un pisoi albastru precum cerul','http://irinaciocan.ro/imagini/pisoi_albastru.png').
    descriere(pisoi_galben, 'Un pisoi blond','http://irinaciocan.ro/imagini/pisoi_galben.png').
    descriere(pisoi_negru, 'Un pisoi brunet','http://irinaciocan.ro/imagini/pisoi_negru.png').
    descriere(pisoi_mov, 'Un pisoi mov pentru ca e funky','http://irinaciocan.ro/imagini/pisoi_mov.png').
    Sa se scrie un textbox in care utilizatorul trece un id de pisoi. Va exista si un buton cu textul ok. La click pe ok, intr-un panel se va afisa imaginea pisoiului si intr-un label, textul corespunzator.
  4. Se dau (0.4/0.2) puncte in plus daca se incarca numele pisoilor automat din baza de cunostinte, sub forma unor butoane. La click pe butonul cu un anumit nume, se intampla ce s-a descris mai sus in cazul in care numele e trecut in textbox si se da click pe ok.
  5. Se dau (0.4/0.2) puncte in plus daca la afisarea descrierii si imaginii, dispar toate celelalte elemente de pe ecran, iar sub imagine si descriere apare un buton cu textul "inapoi" care, la cliclk pe el, revine la ecranul anterior. Se poate realiza asta punand elementele initiale pe un panel, iar imaginea si descrierea pe un alt panel care l-ar inlocui pe primul. La click pe butonul "inapoi" se revine la panelul anterior.
  6. (0.3/0.15) Pe exemplul dat, faceti ca solutiile din sistemul expert sa apara numerotate si cate una pe linie, pe cazul cu mai multe solutii.