Разработка приложения "Базовые логические операции"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



[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