- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计题目
设计题目
构造一程序,实现:根据优先关系表构造首先函数。
设计思想
设计思想很简单,读入优先函数表,用邻接矩阵把它抽象为一张图(即构造出算法中f和g的关系),对所有的f和g根据那张图进行深度遍历,得到所有的f和g的值。
算法如下:(课本P94)
如果优先函数存在,那么,从优先表构造优先函数的一个简单方法是:
对于每个终结符a(包括#)令其对应两个符号fa和ga,画一张以所有符号fa和ga为节点的方向图,如果a=b,就从fa画一箭弧至gb;如果a=b,就画一条从gb到fa的箭弧。
对每个节点都赋予一个数,此数等于从该节点出发所能到达节点(包括出发节点自身在内)的个数。赋给fa的数作为f(a),赋给gb的数作为g(b)。
检查所构造出来的函数f和g,看他们同原来的关系表是否有矛盾。
用一个证明函数,判断函数和表是否有矛盾,有矛盾则输出不存在优先函数,无矛盾则将所得函数输出。
源程序
#include Classes.hpp
#include Controls.hpp
#include StdCtrls.hpp
#include Forms.hpp
//---------------------------------------------------------------------------
#include vcl.h
#pragma hdrstop
#include Unit1.h
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource *.dfm
class TForm1 : public TForm
{
__published: // IDE-managed Components
TEdit *Edit11;
TEdit *Edit12;
TEdit *Edit13;
TEdit *Edit14;
TEdit *Edit15;
TEdit *Edit16;
TEdit *Edit17;
TEdit *Edit21;
TEdit *Edit22;
TEdit *Edit23;
TEdit *Edit24;
TEdit *Edit25;
TEdit *Edit26;
TEdit *Edit27;
TEdit *Edit31;
TEdit *Edit32;
TEdit *Edit33;
TEdit *Edit34;
TEdit *Edit35;
TEdit *Edit36;
TEdit *Edit37;
TEdit *Edit41;
TEdit *Edit42;
TEdit *Edit43;
TEdit *Edit44;
TEdit *Edit45;
TEdit *Edit46;
TEdit *Edit47;
TEdit *Edit51;
TEdit *Edit52;
TEdit *Edit53;
TEdit *Edit54;
TEdit *Edit55;
TEdit *Edit56;
TEdit *Edit57;
TEdit *Edit61;
TEdit *Edit62;
TEdit *Edit63;
TEdit *Edit64;
TEdit *Edit65;
TEdit *Edit66;
TEdit *Edit67;
TEdit *Edit71;
TEdit *Edit72;
TEdit *Edit73;
TEdit *Edit74;
TEdit *Edit75;
TEdit *Edit76;
TEdit *Edit77;
TButton *Button1;
TLabel *Label1;
TLabel
文档评论(0)