Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.16.54.63] |
|
Сообщ.
#1
,
|
|
|
Добрый вечер!
Я уже создавал тему в разделе алгоритме,но там уже исправил и проверили теперь осталось дело за малым написать программу. Реализовать на языке высокого уровня программное средство, реализующую следующие функции: 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) 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) |