hondurasek
31.01.06, 06:48
Witam wszystkich mam napisać projekt na zaliczenie, mianowicie chodzi o
zasade działania maszyny TURINGA, użytkownik w programie wprowadza do komórek
A0, A1, B0 i B1 swoje wartości, taśma przesówa sie tylko w jedną strone - w
prawo. następnie wpisuje stan początowy składający sie z 0 i 1, i wybieram np
stan A od którego zaczynam. i to tyle. napisałem już w delphi jako aplikacja
konsolowa tyle:
Var
stanwej, i : Integer;
A0, A1, B0, B1 : String[2];
stanpocz : String;
A,B : String;
Begin
Writeln ('Program obrazujacy dzialanie maszyny Turinga');
Writeln;
Write ('Wprowadz wartosc do komurki A0 : ');
Readln (A0);
Write ('Wprowadz wartosc do komurki A1 : ');
Readln (A1);
Write ('Wprowadz wartosc do komurki B0 : ');
Readln (B0);
Write ('Wprowadz wartosc do komurki B1 : ');
Readln (B1);
Writeln;
Writeln ('-----------------');
Writeln ('| | A | B |');
Writeln ('-----------------');
Writeln ('| 0 | ',A0,'R | ' ,B0, 'R |');
Writeln ('-----------------');
Writeln ('| 1 | ',A1,'R | ' ,B1, 'R |');
Writeln ('-----------------');
Writeln;
Write ('Podaj stan wejsciowy skladajacy sie z 0 i 1 : ');
Readln (stanwej);
Writeln;
Write ('Wybierz stan od ktorego chcesz zaczac: A czy B ?? ');
Readln (stanpocz);
IF (stanpocz='A') OR (stanpocz='B') THEN
Writeln ('WYBRALES STAN',stanpocz) ELSE
BEGIN
REPEAT
Writeln ('Podales bledny stan!!!');
Write ('Wybierz stan od ktorego chcesz zaczac: A czy B ?? ');
Readln (stanpocz);
UNTIL ((stanpocz='A') OR (stanpocz='a')) OR ((stanpocz='B') OR
(stanpocz='b'));
END;
Readln;
end.
i nie wiem co dalej. a obiektowo napisałem tyle:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
RB1: TRadioButton;
RB2: TRadioButton;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
A0: TEdit;
A1: TEdit;
B1: TEdit;
B0: TEdit;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var wynik,lancuch: string;
z1,z2,z3,z4,l1,l2,l3,l4: string;
i: integer;
begin
z1:=A0.Text[1];
z2:=A1.Text[1];
z3:=B0.Text[1];
z4:=B1.Text[1];
l1:=A0.Text[2];
l2:=A1.Text[2];
l3:=B0.Text[2];
l4:=B1.Text[2];
wynik:=Edit2.Text;
lancuch:=Edit1.Text;
for i:=1 to Length(lancuch) do
begin
If RB1.Checked=True Then
begin
wynik:=wynik+l2;
if z1='B' then
wynik:=wynik+l1;
end;
end;
Edit2.Text:=wynik;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
end.
ale tyświetla mi same 1 i tez nie wiem co dalej
JEŻELI KTOS MI MOŻE POMÓC BEDE BARDZO WDZIĘCZNY.