import java.applet.Applet;
import java.awt.Button;
import java.awt.Event;
import java.awt.Font;
import java.awt.Graphics;
public class index extends Applet {
Font f = new Font("Calibri", Font.BOLD, 20);
int valoare = 0;
Button next;
@Override
public void init() {
next = new Button("Urmatoarea ramura");
add(next);
}
@Override
public boolean action(Event e, Object args) {
if (e.target == next) //target = apasa
{
valoare++;
}
addNode();
return true;
}
@Override
public void paint(Graphics g) {
}
public void addNode() {
Graphics g = this.getGraphics();
g.drawString("1. initializeaza listele FRONTIERA ?{Si} si TERITORIU ?{}", 20, 560);
g.drawString("2. daca FRONTIERA={} atunci întoarce INSUCCES /*nu exista solutie*/", 20, 575);
g.drawString("3. elimina primul nod S din FRONTIERA si insereaza-l în TERITORIU", 20, 590);
g.drawString("4. daca adancime(S) = Hmax atunci repeta de la pasul 2 expandeaza nodul S", 20, 605);
g.drawString("4.1. genereaza toti succesorii directi Sj ai nodului S", 20, 620);
g.drawString("4.2. pentru fiecare succesor Sj (1=j=n) al lui S executa", 20, 635);
g.drawString("4.2.1. stabileste legatura Sj ? S", 20, 650);
g.drawString("4.2.2. daca Sj este stare finala atunci", 20, 665);
g.drawString("i. solutia este (Sj, S, ..., Si)", 20, 680);
g.drawString("ii. întoarce SUCCES /* a fost gasita solutia */", 20, 695);
g.drawString("4.2.3.Toate starile anterior generate în solutia partiala curenta atunci insereaza Sj în FRONTIERA,la inceput", 650, 560);
g.drawString("5. repeta de la pasul 2", 650, 575);
g.drawString("Dezavantajul cautarii este posibilitatea blocarii într-o cale gresit aleasa", 660, 590);
g.drawString("Pasul1: Pleaca din radacina se duce in nodul a1 si apoi in a1.1 si vede dk a gasit solutia prima data", 650, 605);
g.drawString("Pasul2: Revine in radacina", 650, 620);
g.drawString("Pasul3: Pleaca pe traseul Root a1 a1.1", 650, 635);
g.drawString("Pasul4: Pleaca pe traseul Root,a2,a2.1", 650, 650);
g.drawString("Pasul5: Pleaca pe traseul Root,a2,a2.2", 650, 665);
g.drawString("Pasul6: Revine in radacina", 650, 680);
g.drawString("Pasul7: Pleaca pe traseul Root,a3 si atat deoarece a3 nu are descendenti", 650, 695);
g.setFont(f);
g.drawString("Cautare in adincime limitata ", 20, 20);
g.drawString("Lungimea = 2", 20, 50);
g.drawRoundRect(615, 40, 40, 40, 40, 40);
g.drawString("1", 631, 67);
g.drawString("n=0", 431, 67);
if (valoare == 2) {
g.drawRoundRect(460, 140, 40, 40, 40, 40);
g.drawLine(616, 70, 500, 150);// ramura stinga
g.drawString("2", 475, 166);
g.drawString("n=1", 275, 166);
} else if (valoare == 3) {
g.drawRoundRect(760, 140, 40, 40, 40, 40);
g.drawString("3", 775, 166);
g.drawLine(656, 70, 762, 150);//ramura dreapta
} else if (valoare == 4) {
g.drawRoundRect(338, 268, 40, 40, 40, 40);//1 inel
g.drawString("4", 353, 294);
g.drawString("n=2", 163, 294);
g.drawLine(460, 165, 370, 270);//ramura stinga
} else if (valoare == 5) {
g.drawRoundRect(568, 268, 40, 40, 40, 40);//2 inel
g.drawString("5", 583, 294);
g.drawLine(500, 165, 580, 270);//ramura dreapta
} else if (valoare == 6) {
g.drawRoundRect(640, 268, 40, 40, 40, 40);//3 inel
g.drawString("6", 655, 294);
g.drawLine(760, 165, 670, 270);//ramura stinga
// g.drawLine(747, 165, 682, 240);//linia sageata
// g.drawLine(682, 240, 682, 230);//linia in sus
// g.drawLine(682, 240, 692, 240);//linia in dreapta ... sageata
} else if (valoare == 7) {
g.drawRoundRect(870, 268, 40, 40, 40, 40);//4 inel
g.drawString("7", 885, 294);
g.drawLine(800, 165, 880, 270);//ramura dreapta
// g.drawLine(814, 165, 870, 240);//linia sageata
// g.drawLine(870, 240, 870, 230);//sageata in uss
// g.drawLine(870, 240, 860, 240);//sageata in stinga
} else if (valoare == 8) {
g.drawRoundRect(240, 398, 40, 40, 40, 40);//1 inel
g.drawString("8", 255, 424);
g.drawLine(340, 300, 270, 400);//ramura stinga
} else if (valoare == 9) {
g.drawLine(600, 70, 510, 130);// linia de la sageata
g.drawLine(510, 130, 510, 120);//de la sageata linia in sus
g.drawLine(510, 130, 520, 130);//de la sageata linia orizont
g.drawString("2", 520, 490);
} else if (valoare == 10) {
g.drawLine(447, 165, 382, 240);//linia sageata
g.drawLine(382, 240, 382, 230);//linia in sus
g.drawLine(382, 240, 392, 240);//linia in dreapta ... sageata
g.drawString("4", 540, 490);
} /*
else if (valoare == 11) {
g.drawLine(328, 300, 272, 380);//
g.drawLine(272, 380, 282, 380);// in dreapta linia
g.drawLine(272, 380, 272, 370);//
g.drawString("8", 560, 490);
}
else if (valoare == 12) {
g.drawLine(345, 315, 289, 395);//
g.drawLine(345, 315, 335, 315);//
g.drawLine(345, 315, 345, 325);//
g.drawString("4", 580, 490);
}
*/ else if (valoare == 11) {
g.drawLine(458, 185, 401, 251);//linia sageata
g.drawLine(448, 185, 458, 185);//linia sageata in dreapta
g.drawLine(458, 195, 458, 185);//linia sageata in dreapta
g.drawString("2", 560, 490);
} else if (valoare == 12) {
g.drawLine(514, 165, 570, 240);//linia sageata
g.drawLine(570, 240, 570, 230);//sageata in uss
g.drawLine(570, 240, 560, 240);//sageata in stinga
g.drawString("5", 580, 490);
} else if (valoare == 13) {
g.drawLine(500, 185, 550, 250);//linia sageata
g.drawLine(500, 185, 500, 195);//linia sageata in jos
g.drawLine(500, 185, 510, 185);
g.drawString("2", 600, 490);
} else if (valoare == 14) {
g.drawLine(616, 85, 534, 140);// linia de la sageata
g.drawLine(616, 85, 606, 85);// linia de la sageata in sus
g.drawLine(616, 85, 616, 95);// linia din jos de la sageata
g.drawString("1", 620, 490);
} else if (valoare == 15) {
g.drawLine(672, 70, 752, 130);//linia de la sageata
g.drawLine(752, 130, 742, 130);//linia de la sageata
g.drawLine(752, 130, 752, 120);//linia de la sageata
g.drawString("1-3", 620, 490);
/* g.drawLine(672, 70, 752, 130);//linia de la sageata
g.drawLine(672, 70, 682, 70);//linia de la sageata in jos
g.drawLine(672, 70, 672, 80);//linia de la sageata in jos
*/
} else if (valoare == 16) {
g.drawLine(758, 185, 701, 251);//linia sageata
g.drawLine(701, 251, 711, 251);//linia sageata
g.drawLine(701, 251, 701, 241);//linia sageata
g.drawString("6", 657, 490);
} else if (valoare == 17) {
g.drawLine(747, 165, 682, 240);//linia sageata
g.drawLine(747, 165, 737, 165);
g.drawLine(747, 165, 747, 175);
g.drawString("3", 680, 490);
} else if (valoare == 18) {
g.drawLine(814, 165, 870, 240);//linia sageata
g.drawLine(870, 240, 870, 230);//sageata in uss
g.drawLine(870, 240, 860, 240);//sageata in stinga
g.drawString("7", 700, 490);
}
//Liniile
g.drawLine(500, 470, 712, 470);
g.drawLine(500, 495, 712, 495);
g.drawString("1", 500, 490);
}
}
Abonați-vă la:
Postare comentarii (Atom)
Niciun comentariu:
Trimiteți un comentariu