Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2011, 19:06   #1
Селякова Елена
 
Регистрация: 22.04.2009
Сообщений: 9
По умолчанию Машина Тьюринга в Delphi

Нужно реализовать в Delphi машину Тьюринга. Так что бы на вход подавалась строка текста в алфавите АВС. Символ "а" должен заменяться на 11, а другие символы на 0.

Я реализовала, чтоб символ "а" заменялся на 1, а остальные символы на 0.

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons,Grids;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    Memo1: TMemo;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    procedure qqq0(v:char);
    procedure qqq1(v:char);
  end;

var
  Form1: TForm1;
  p:string;
  j:integer;
  a:^char;

implementation

{$R *.dfm}


procedure TForm1.qqq0(v:char);
begin
case v of
  'a': begin
         a^:='1';
         inc(j);
         a:=@p[j];
         Form1.Memo1.Lines.Add('q0 a -> q0 a R'+' ->: '+p);
         qqq0 (a^);
       end;
  '#': begin
         a^:='#';
         a:=@p[j];
         Form1.Memo1.Lines.Add('q0 # -> q2 # S'+' ->: '+p);
         ShowMessage('HappyEnd');
       end;
       else
        begin
         qqq1 (a^);
        end;
  end;
end;

procedure TForm1.qqq1(v:char);
begin
  a^:='0';
  inc(j);
  a:=@p[j];
  Form1.Memo1.Lines.Add('q0 '+a^+' -> q1 0 R'+' ->: '+p);
  Form1.Memo1.Lines.Add('q1  -> q0 ');
  qqq0 (a^);
end;


procedure TForm1.BitBtn1Click(Sender: TObject);
var i:integer;
begin
Memo1.Clear;
new(a);
p:=Edit1.text;
j:=1;
p:=Edit1.Text+'#';
a:=@p[j];
qqq0(a^);
end;

end.
как изменить? и как сделать, чтоб только АВС в алфавите были, у меня был просто любой текст.




___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
len'

Последний раз редактировалось Serge_Bliznykov; 24.06.2011 в 08:55.
Селякова Елена вне форума Ответить с цитированием
Старый 23.06.2011, 23:35   #2
Селякова Елена
 
Регистрация: 22.04.2009
Сообщений: 9
По умолчанию

хнык...помогите кто-нибудь(
len'
Селякова Елена вне форума Ответить с цитированием
Старый 23.06.2011, 23:43   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

вы имете ввиду чтобы в меммо водилась только латиница большими буквами?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Машина Тьюринга namazi74 Помощь студентам 0 04.06.2011 21:29
Машина Тьюринга и алгоритмы Маркова. Машина Поста. MarkForMath Помощь студентам 0 27.04.2011 21:55
Машина Тьюринга ДваДваВо7 Помощь студентам 0 25.10.2010 16:43
Машина Тьюринга Irina87 Помощь студентам 0 17.03.2010 11:37
Машина Тьюринга NoHeart Помощь студентам 3 16.01.2009 20:40