Unit
LOGICI;
Interface
Const
VERO = 1;
FALSO = 0;
Type
LOGICO = byte;
Procedure LEGGI (Var A: LOGICO);
Procedure SCRIVI( A: LOGICO);
Function MYAND(A,B: LOGICO): LOGICO;
Function MYOR (A,B: LOGICO): LOGICO;
Function MYNOT(A : LOGICO): LOGICO;
Function MYXOR(A,B: LOGICO): LOGICO;
Implementation
Const
StrVERO = 'VERO';
StrFALSO = 'FALSO';
Procedure LEGGI(Var A: LOGICO);
Var
S: String;
I: Integer;
Begin
repeat
write('Inserisci VERO o FALSO ---> ');
readln(S);
For I:=1 to length(S) do
S[I]:=upcase(S[I]);
until(S = StrVERO) or (S = StrFALSO);
If(S = StrVERO) then
A:=VERO
else
A:=FALSO;
End;
Procedure SCRIVI(A: LOGICO);
Begin
If(A = VERO) then
write(StrVERO)
else
write(StrFALSO);
End;
Function MYAND(A, B: LOGICO): LOGICO;
Begin
If(A = VERO) and (B = VERO) then
MYAND:=VERO
else
MYAND:=FALSO;
End;
Function MYOR(A, B: LOGICO): LOGICO;
Begin
If(A = FALSO) and (B = FALSO) then
MYOR:=FALSO
else
MYOR:=VERO;
End;
Function MYNOT(A: LOGICO): LOGICO;
Begin
If(A = FALSO) then
MYNOT:=VERO
else
MYNOT:=FALSO;
End;
Function MYXOR(A, B: LOGICO): LOGICO;
Begin
If(A = B) then
MYXOR:=FALSO
else
MYXOR:=VERO;
End;
Begin
writeln("Unit Logici.");
End.
|