metódy tej Formula, ale toho čo tam naozaj je.
Kód: Vybrať všetko
class Formula
{
public override string ToString(){return "";}
public virtual bool Eval(Dictionary<string, bool> slovnik) {return false;}
}
class Premenna : Formula
{
string name;
public Premenna(string n) { name = n; }
public override string ToString() { return name; }
public bool Eval(Dictionary<string, bool> slovnik)
{
foreach (KeyValuePair<string, bool> pair in slovnik)
{
if (pair.Key == name) return pair.Value;
}
throw new NoValueException();
}
}
class Implikacia : Formula
{
Formula ls, rs;
public Implikacia(Formula _ls, Formula _rs) { ls = _ls; rs = _rs; }
public override string ToString() { return "("+ls.ToString() + "=>" + rs.ToString()+")"; }
public bool Eval(Dictionary<string, bool> slovnik)
{
if (ls.Eval(slovnik) == true && rs.Eval(slovnik)==false) return false;
return true;
}
}Kód: Vybrať všetko
var f = new Implikacia(new Premenna("a"),
new Implikacia(new Premenna("x"), new Premenna("y")));