关于 Data Maker

Data Maker 是针对广大oier、acmer、编程爱好者等等(正在)开发的一款简单数据生成软件

学习pascal不到一年(也就9个月吧),所做题目在众大牛中并不算多,算是积累了一些经验。我发现,oier所用的软件,除了freepascal、delphi、lazarus这几个编译器外,还有一个就是cene,除此以外,就没有什么了。编译器中,除delphi外,都是开源软件,而且做的也很不错(当然,fp for NOI的版本过低也是问题),但如果想该编译器,似乎不是一个小工程。而对于cena,最近看到某大牛(http://hi.baidu.com/lonelycorn)为linux/unix编写的SILICA测评器,很受鼓舞,尽管与cena90%相似(同),但也算是一大进步。然而,在数据制作方面,至今还没有看到比较系统的软件,平时做数据,都是写一个程序,一个批处理,确是麻烦,于是有了编写一个Date Maker的想法。

Data Maker 将使用delphi编写、编译、调试,但核心的数据处理将使用FreePascal调试,使用objict pascal语言编写(但愿不要想那位大牛所说:写成了record pascal),在界面上需要借鉴cene(btw:感谢北航的大牛们提供这么好的开源软件),软件运行于Windows系统(兼容win7),(32位应该没问题,64位的电脑我还没见过呢),会考虑linux的问题,但这是正式版以后的事了。当然,现在一切只是一个构想,实现起来有些难度(毕竟从来没用过object pascal)构想如下:

1.针对不同数据结构生成数据,比如线性数据结构(排序、一维DP)、树形数据结构(树的遍历、树形DP)、图结构(AOE、AOV)、与数论有关的结构等等,当然绝对不知是括号里提到的这么简单,DM(Data Maker)并不只是一个简单的程序集,于是,

2.可能会提供一种介于pascal与c之间的伪代码,比如:

graph a;   //定义一个图

limit a

{    //限制

 v<10;   //顶点数

 e<15;   //边数

}

print (a,1,e) path;  //输出所有边

甚至会兼容freepascal

当然,在最初的Beta版中暂时没有这些功能

同时,问题也不少:

1,之所以选用object pascal,一方面利于oier编辑源代码(毕竟绝大多数地区用的是pascal),另一方面是为了弘扬pascal。但是,用pascal编写应用程序的人还是比vc++少很多,DM甚至有可能左后变成了c++写的了,而我的delphi也是现学现用,甚至copy cena的。

2.前面说到,DM并不只是一个简单的程序集,但想要做到这一点并不容易,题目千变万化,数据亦然,我们无法用一个小程序生成所有能想到的数据。从另方面看,DM就如同从题库中选题一样,难以克服生硬死板的问题,所以就需要一个强大的“题库”,这是一个不小的工程

革命刚刚开始,同志需要努力!

我的计划是这样的:

最近要期末考试,看来是没有时间写了,多看看delphi的书,积累积累

7月11日放假,7月中旬夏令营,争取与各地大牛多探讨一下,完成核心工程,有可能推出DOS版的预测版,只是为了测试,然后在8月推出windows 下的Beta版,(期间有内部测试版)

俗话说:计划不如变化快。事实情况,以事实为准。

Malash

2009年6月6日23:37:37

文章评论: