На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие друзья! Поздравляем вас с днём Победы!
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
  
> Нужен совет для построения конечных автоматов по грамматикам
    Добрый вечер!
    Я уже создавал тему в разделе алгоритме,но там уже исправил и проверили теперь осталось дело за малым написать программу.

    Реализовать на языке высокого уровня программное средство, реализующую следующие функции:
    1)Построение по заданной регулярной грамматике конечного автомата.
    2)Вывод графа результирующего конечного автомата на экран
    Грамматика:
    a)G=({S,C,D},{0,1},P,S),где P:
    S->1C|0D;C->0D|0S->1C|1S|0.
    b)G=({S,A,B,C},{a, b, c},P,S),где P:
    S->aA|bB|aC;A->bA|bB|c;B->aA|cC|b;C->bB|bC|a.

    Меня интересует литература и источники или ссылки где я могу взять информацию о построении автоматов на ПаскалеАБЦ например или на С++.

    у меня уже есть решенные автоматы вручную,осталось вбить в программу.(Они в прикреплённом файле)

    Можно ли например при нажатии кнопки(которую я создам) создать процедуру чтобы построило конечный автомат по заданной грамматике?

    Или как лучше реализовать.Код опять же не прошу,источники и сайты вот что я попрошу))

    Вот на основе этой программы хочу сделать задание по практике(Pascal ABC.NET)

    ExpandedWrap disabled
      program praktika;
       
      uses
         System.Windows.Forms, System.IO, System.Text, system;
      var
         ff: System.Windows.Forms.Form;
       
      type
         MainForm = class
         private
            f: file of char;
            list1, list2: system.Windows.Forms.ListBox;
            b1, b2, b3, b4, b5: System.Windows.Forms.Button;
        
         public
            
            
            procedure load1(sender: object; e: EventArgs);
            begin
               list1.Items.Clear;    
               foreach s: string in &File.ReadAllLines('Gram1.txt', Encoding.GetEncoding(1251)) do
                  list1.Items.Add(s);
            end;
            
            procedure load2(sender: object; e: EventArgs);
            begin
               list2.Items.Clear;    
               foreach s: string in &File.ReadAllLines('Gram2.txt', Encoding.GetEncoding(1251)) do
                  list2.Items.Add(s);
            end;
            
           procedure konavt1(sender: object; e: EventArgs);
           begin
           end;
          
           procedure konavt2(sender: object; e: EventArgs);
           begin
           end;
            
            procedure vixod(sender: object; e: EventArgs);
            begin
               exit;
            end;
            
            constructor Create;
            begin
               ff := new System.Windows.Forms.Form;
               ff.Width := 550;
               ff.Height := 530;
               ff.Text := 'Построение конечного автомата по заданным регулярным грамматикам ';
              
               b1 := new Button();
               b1.Text := '  Загрузить 1-ую грамматику ';
               b1.Left := 50;
               b1.Top := 15;
               b1.Width := 170;
               b1.Click += load1;
               ff.Controls.Add(b1);
              
               b2 := new Button();
               b2.Text := '  Построение 1-ого конечного автомата ';
               b2.Left := 20;
               b2.Top := 150;
               b2.Width := 230;
               b2.Click += konavt1;
               ff.Controls.Add(b2);
              
               b3 := new Button();
               b3.Text := ' Загрузить 2-ую грамматику ';
               b3.Left := 300;
               b3.Top := 15;
               b3.Width := 170;
               b3.Click += load2;
               ff.Controls.Add(b3);
              
               b4 := new Button();
               b4.Text := '  Построение 2-ого конечного автомата  ';
               b4.Left := 280;
               b4.Top := 150;
               b4.Width := 230;
               b4.Click += konavt2;
               ff.Controls.Add(b4);
              
              
               b5 := new Button();
               b5.Text := '  Выход ';
               b5.Left := 10;
               b5.Top := 450;
               b5.Width := 150;
               b5.Click += vixod;
               ff.Controls.Add(b5);
              
               list1 := new System.Windows.Forms.ListBox();
               list1.Left := 15;
               list1.Top := 50;
               list1.Width := 250;
               list1.Height := 100;
               ff.Controls.Add(list1);  
              
               list2 := new System.Windows.Forms.ListBox();
               list2.Left := 270;
               list2.Top := 50;
               list2.Width := 250;
               list2.Height := 100;
               ff.Controls.Add(list2);  
            end;
         end;
       
      begin
         var m := new MainForm;
         Application.Run(ff);  
      end.

    Прикреплённый файлПрикреплённый файл____________________222.png (24,08 Кбайт, скачиваний: 595)
    Прикреплённый файлПрикреплённый файл____________________1111.png (20,75 Кбайт, скачиваний: 595)
    Прикреплённый файлПрикреплённый файлGram1.txt (66 байт, скачиваний: 176)
    Прикреплённый файлПрикреплённый файлGram2.txt (90 байт, скачиваний: 178)
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0247 ]   [ 17 queries used ]   [ Generated: 12.05.24, 13:28 GMT ]