ugrás a tartalomhoz

logikai kapu

cica · 2013. Aug. 11. (V), 11.30
Üdv!

Szeretnék készíteni egy logikai feladatot.

pl. Ha a=1, b=0, c=1.

a and b or (a xor c)=?

Elindultam több irányba, ilyet szerettem volna de ez nem működik. Tudom.
<?
function sz() {
  $d=rand(0,2);
  switch ($d) {
    case 0:
        return and;
        break;
    case 1:
        return or;
        break;
	case 2:
        return xor;
        break;
  }
  }
  $a=rand(0,1);$b=rand(0,1);$c=rand(0,1);
  print $a sz() ($b sz() $c) sz() !$b;
?>


Probálkoztam ezzel is:

<?
$c='';
function sz($x, $y) { global $c;
  $d=rand(0,2);
  switch ($d) {
    case 0:
		$c.='$a and $b';
        return $x and $y;
        break;
    case 1:
		$c.='$a or $b';
        return $x or $y;
        break;
	case 2:
		$c.='$a xor $b';
        return $x xor $y;
        break;
  }
  }
  $a=rand(0,1);$b=rand(0,1);
  print "Ha a= ".$a." b= ".$b."<br/>";
  $d=sz($a,$b); 
  print $c.'  ='.$d; 
?>
Itt meg a feladatbővítésben akadtam el.
Másik gond az eredmény nullát nem írja ki. Az 1-et igen.
Köszi a segítséget.
 
1

A legkönnyebb (de a hibát

hunkris · 2013. Aug. 11. (V), 20.31
A legkönnyebb (de a hibát kerülőúton javító) út az, hogy a második kódod végére odabiggyesztesz egy if-et, ami nézi, hogy 1-e a kimenet, ha igen, kiírja, ha nem, nullát ír.

A feladatbővítés alatt mit értesz?