Program TESTLOGICI;
Uses
  Crt,
  LOGICI;
Function MYNAND(A, B: LOGICO): LOGICO;
Begin
  MYNAND:=MYNOT(MYAND(A, B));
End;
Function MYNOR(A, B: LOGICO): LOGICO;
Begin
  MYNOR:=MYNOT(MYOR(A, B));
End;
Var
  A, B, C, R: LOGICO;
  SCELTA:     Byte; 
 Begin
 A:=VERO; B:=VERO; C:=VERO; R:=FALSO;
repeat
  clrscr;
  write('A = '); SCRIVI(A); writeln;
  write('B = '); SCRIVI(B); writeln;
  write('C = '); SCRIVI(C); writeln;
  write('R = '); SCRIVI(R); writeln;
  writeln(' 0. USCITA');
  writeln('11.12.13. Inserimento');
  writeln('21.22.23. MyAnd');
  writeln('31.32.33. MyOr');
  writeln('41.42.43. MyXor');
  writeln('51.52.53. MyNot');
  writeln('61.62.63. MyNand');
  writeln('71.72.73. MyNor');
  writeln; write(' SCEGLI ---> ');
  readln(SCELTA);
  case SCELTA of
    11: LEGGI(A);       12: LEGGI(B);       13: LEGGI(C);
    21: R:=MYAND(A,B);  22: R:=MYAND(B,C);  23: R:=MYAND(A,C);
    31: R:=MYOR(A,B);   32: R:=MYOR(B,C);   33: R:=MYOR(B,C);
    41: R:=MYXOR(B,C);  42: R:=MYXOR(B,C);  43: R:=MYXOR(B,C);
    51: R:=MYNOT(A);    52: R:=MYNOT(B);    53: R:=MYNOT(C);
    61: R:=MYNAND(A,B); 62: R:=MYNAND(B,C); 63: R:=MYNAND(A,C);
    71: R:=MYNOR(A,B);  72: R:=MYNOR(B,C);  73: R:=MYNOR(A,C);
  end;
until(SCELTA = 0);
End.
 |