Разработка приложения "Базовые логические операции"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
[0..1] of char = (0,1);res:string;0)do:=xmod2;:=t[d]+res;:=xdiv2;;:=res;;TForm3.FormCreate(Sender:TObject);,i,j:integer;">:0..1;:=;(x<>0) do:=x mod 2 ;:=t[d]+res;:=x div 2 ;;:=res;;TForm3.FormCreate(Sender: TObject);,i,j:integer;
s,s1,s2,s3,s4,s5:string;
f: TextFile; // файл
fName: String[80]; // имя файла
buf: string[80]; // буфер для чтения из файла
x1,x2,x3,x4:byte;.Clear;.Clear;.Clear;.Clear;.Clear;i:= 0 to 15 do
Memo1.Lines.Add(Bin(i));;i:= 0 to 15 doj:= 0 to 15 do
if length(Memo1.Lines[i])<4 then
Memo1.Lines[i]:=0+Memo1.Lines[i];
end;:=Memo1.Lines[13] ;
//ShowMessage(s[3]);(f, lab_rab\var1.txt);
Reset(f); // открыть для чтения
// чтение из файла
while not EOF(f) do
begin
readln(f, buf); // прочитать строку из файла
Memo2.Lines.Add(buf); // добавить строку в поле Memo1
end; // закрыть файл
CloseFile(f);;;TForm3.Button2Click(Sender: TObject);
sl: TStringList;
s,s1,s2:string;
x1,x2,x3,x4,i,res,j,k,o:integer;
a:array [1..5] of integer;
16)or(length(Edit2.text)16)then
begin
Showmessage(длина ответа должна рaвняться 16 символам!);
exit;
end;
for i:=1 to 16 do
if not(Edit1.Text[i] in [0,1]) or not(Edit2.Text[i] in [0,1]) or not(Edit3.Text[i] in [0,1]) or not(Edit4.Text[i] in [0,1]) or not(Edit5.Text[i] in [0,1]) then
begin
ShowMessage(Вводятся только "0" и "1"!);
Exit;
end;
s1:=Memo2.Lines[0] ;
Label2.Caption:=;
for i:= 0 to 15 do
begin
s2:=s1;
s:=Memo1.Lines[i] ;
x1:=StrToInt(s[1]);
x2:=StrToInt(s[2]);
x3:=StrToInt(s[3]);
x4:=StrToInt(s[4]);
case element(s2) of
1: res:=x1;
2: res:=1-x1;
3: res:=x2;
4: res:=1-x2;
5: res:=x3;
6: res:=1-x3;
7: res:=x4;
8: res:=1-x4;
end;
while length(s2)>0 do
begin
case oper(s2) of
1:
case element(s2) of
1: res:=res and x1;
2: res:=res and (1-x1);
3: res:=res and x2;
4: res:=res and (1-x2);
5: res:=res and x3;
6: res:=res and (1-x3);
7: res:=res and x4;
8: res:=res and (1-x4);
end;
2:
case element(s2) of
1: res:=res or x1;
2: res:=res or (1-x1);
3: res:=res or x2;
4: res:=res or (1-x2);
5: res:=res or x3;
6: res:=res or (1-x3);
7: res:=res or x4;
8: res:=res or (1-x4);
end;
3:
case element(s2) of
1: res:=res xor x1;
2: res:=res xor (1-x1);
3: res:=res xor x2;
4: res:=res xor (1-x2);
5: res:=res xor x3;
6: res:=res xor (1-x3);
7: res:=res xor x4;
8: res:=res xor (1-x4);
end;
end;
end;
label2.Caption:=Label2.Caption+IntToStr(res);
end;
// вторая функция
s1:=Memo2.Lines[1] ;
Label3.Caption:=;
for i:= 0 to 15 do
begin
s2:=s1;
s:=Memo1.Lines[i] ;
x1:=StrToInt(s[1]);
x2:=StrToInt(s[2]);
x3:=StrToInt(s[3]);
x4:=StrToInt(s[4]);
case element(s2) of
1: res:=x1;
2: res:=1-x1;
3: res:=x2;
4: res:=1-x2;
5: res:=x3;
6: res:=1-x3;
7: res:=x4;
8: res:=1-x4;
end;
while length(s2)>0 do
begin
case oper(s2) of
1:
case element(s2) of
1: res:=res and x1;
2: res:=res and (1-x1);
3: res:=res and x2;
4: res:=res and (1-x2);
5: res:=res and x3;
6: res:=res and (1-x3);
7: res:=res and x4;
8: res:=res and (1-x4);
end;
2:
case element(s2) of
1: res:=res or x1;
2: res:=res or (1-x1);
3: res:=res or x2;
4: res:=res or (1-x2);
5: res:=res or x3;
6: res:=res or (1-x3);
7: res:=res or x4;
8: res:=res or (1-x4);
end;
3:
case element(s2) of
1: res:=res xor x1;
2: res:=res xor (1-x1);
3: res:=res xor x2;
4: res:=res xor (1-x2);
5: res:=res xor x3;
6: res:=res xor (1-x3);
7: res:=res xor x4;
8: res:=res xor (1-x4);
end;
end;
end;
label3.Caption:=Label3.Caption+IntToStr(res);
end;
// третья функция
s1:=Memo2.Lines[2] ;
Label4.Caption:=;
for i:= 0 to 15 do
begin
s2:=s1;
s:=Memo1.Lines[i] ;
x1:=StrToInt(s[1]);
x2:=StrToInt(s[2]);
x3:=StrToInt(s[3]);
x4:=StrToInt(s[4]);
case element(s2) of
1: res:=x1;
2: res:=1-x1;
3: res:=x2;
4: res:=1-x2;
5: res:=x3;
6: res:=1-x3;
7: res:=x4;
8: res:=1-x4;
end;
while length(s2)>0 do
begin
case oper(s2) of
1:
case element(s2) of
1: res:=res and x1;
2: res:=res and (1-x1);
3: res:=res and x2;
4: res:=res and (1-x2);
5: res:=res and x3;
6: res:=res and (1-x3);
7: res:=res and x4;
8: res:=res and (1-x4);
end;
2:
case element(s2) of
1: res:=res or x1;
2: res:=res or (1-x1);
3: res:=res or x2;
4: res:=res or (1-x2);
5: res:=res or x3;
6: res:=res or (1-x3);
7: res:=res or x4;
8: res:=res or (1-x4);
end;
3:
case element(s2) of
1: res:=res xor x1;
2: res:=res xor (1-x1);
3: res:=res xor x2;
4: res:=res xor (1-x2);
5: res:=res xor x3;
6: res:=res xor (1-x3);
7: res:=res xor x4;
8: res:=res xor (1-x4);
end;
end;
end;
label4.Caption:=Label4.Caption+IntToStr(res);
end;
// четвертая функция
s1:=Memo2.Lines[3] ;
Label5.Caption:=;
for i:= 0 to 15 do
begin
s2:=s1;
s:=Memo1.Lines[i] ;
x1:=StrToInt(s[1]);
x2:=StrToInt(s[2]);
x3:=StrToInt(s[3]);
x4:=StrToInt(s[4]);
case element(s2) of
1: res:=x1;
2: res:=1-x1;
3: res:=x2;
4: res:=1-x2;
5: res:=x3;
6: res:=1-x3;
7: res:=x4;
8: res:=1-x4;
end;
while length(s2)>0 do
begin
case oper(s2) of
1:
case element(s2) of
1: res:=res and x1;
2: res:=res and (1-x1);
3: res:=res and x2;
4: res:=res and (1-x2);
5: res:=res and x3;
6: res:=res and (1-x3);
7: res:=res and x4;
8: res:=res and (1-x4);
end;
2:
case element(s2) of
1: res:=res or x1;
2: res:=res or (1-x1);
3: res:=res or x2;
4: res:=res or (1-x2);
5: res:=res or x3;
6: res:=res or (1-x3);
7: res:=res or x4;
8: res:=res or (1-x4);
end;
3:
case element(s2) of
1: res:=res xor x1;
2: res:=res xor (1-x1);
3: res:=res xor x2;
4: res:=res xor (1-x2);
5: res:=res xor x3;
6: res:=res xor (1-x3);
7: res:=res xor x4;
8: res:=res xor (1-x4);
end;
end;
end;
label5.Caption:=Label5.Caption+IntToStr(res);
end;
// пятая функция
s1:=Memo2.Lines[4] ;
Label6.Caption:=;
for i:= 0 to 15 do
begin
s2:=s1;
s:=Memo1.Lines[i] ;
x1:=StrToInt(s[1]);
x2:=StrToInt(s[2]);
x3:=StrToInt(s[3]);
x4:=StrToInt(s[4]);
case element(s2) of
1: res:=x1;
2: res:=1-x1;
3: res:=x2;
4: res:=1-x2;
5: res:=x3;
6: res:=1-x3;
7: res:=x4;
8: res:=1-x4;
end;
while length(s2)>0 do
begin
case oper(s2) of
1:
case element(s2) of
1: res:=res and x1;
2: res:=res and (1-x