• 2006-07-12

    一台批改选择题试卷的计算机和它的程序设计语言的发展

    Views: 10392 | No Comments

    你见过老师们批改选择题吗?他们拿着一张上面打有孔的纸(答案板),铺到你的试卷上。每一个孔对应了一道选择题的答案,如果他们从一个孔中看到了一个黑点(你的选项),他们就给你的分数加一分。

    事实上,他们在运行一道程序。答案板就是程序的机器代码,由批卷老师(作为机器)运行。如果把答案板按照以下布局(当然试卷在空间上也要与它对应):

    0010
    0100
    0001
    1000
    ....
    

    上面的1表示孔,也就是答案。批卷者从左到右,从上到下查看每一个0或者1,运行这个程序。在这种情况下,批卷者的身体感观(手,眼)和大脑充当了计算机的角色。如果是另一次考试,我们再制作类似的答案板----我们在使用机器语言来写程序!

    怎么编写这种机器代码?假设我们已经制造出了这样一种机器。它的面板有4个按钮,还有放置还没有被打孔的答案板的白板。每按一个按钮,机器就在纸张的相应位置打出一个孔。打完一个孔后,我们卷动一下纸张,再打下一个孔。

    上面的选项很少(机器的位数少,只有4个位),而且指令只有16个中的4个(0001, 0010, 0100, 1000,也就是A, B, C, D四个选项,单选)。所以我们用机器语言来编写这种程序不会感到吃力。不过,我们还是不愿意按动机械按钮,不是吗?

    我们制作出另一种机器。它可以把输入的ABCD打成相应的孔。这时,我们遇到了一个问题。如何制造这样一种机器,它能读入某些输入,而这些输入能够被人轻易地认为是字母而且轻易地按照人脑中所想的字母输入给机器呢?

    我们别管它。我们就假设有这样的一台机器,它能足够聪明地读取我们人类手写的字母序列,并将这些字母序列输出为上面的二进制格式(制作答案板的机器,称做“制板机”)。好了,我们现在终于可以使用汇编语言编写程序了!

    如果有一次考试,试题的答案是1.A 2.B 3.A 4.D,我们就在一张白纸上写下ABAD,然后把这张纸给“制板机”扫描,然后它就生产出了若干张答案板。

    我们为什么不改用机器来判卷,而还是使用人呢?因为我们现在的目的是发展编程语言,而不是发展计算机硬件。虽然两者一般是同时发展的。为了更多关注程序设计,我们假设硬件不变。

    后来,有些人偷懒了。可能是程序员(编写制作答案板程序的人员),也可能是批卷者,谁知道呢?他们根据重排答案的选项,让答案变得很有规律。例如答案变为AABBCCDD(整张试卷一共8道题),或者全是A:AAAAAAAA。好吧,那么就全A或者全B。他们假设答题者足够笨,不会发现里面的玄机。

    于是,我们再造一种机器,我们输入一个A,它就把打印出8个A。或者我们输入(A,16),它就打印出16个A,然后我们把打印出的纸张送给“制板机”扫描并输出答案板。后来,我们又把这种机器和“制板机”结合,不再输出打印有若干个字母的纸张了,而是直接就输出答案板。

    酷啊,(A,16)这种程序代码是不是看起来更高级了!我们有一种比汇编语言更高级的程序设计语言了。

    到目前为止,我们从按动机械按钮的体力劳动者(制作答案板的)进化到了只需要在纸上写下几个字母的蓝领(还是制作答案板的)。

    不过,这里有一个致命的缺点----我们限制了答案必须是有规律的,而且这种规律太过严格,没有考生会认不出来。没有办法,为了发展我们的程序设计语言,我们这样做了。实际在不会有人这样做的。不过,如果你拥有足够的智慧,你可以不需要更改答案的规则,让它仍然有随机性,但是你看出了随机性中的规律性,于是你就根据这种随机中的规律发展出另一种高级语言。

    “制板”这种应用即其机器和程序设计语言发展到头了,我实在想不出如何发展它了。

    Posted by ideawu at 2006-07-12 13:30:18
  • 2006-07-09

    画流程图的软件 Dia Gnome Editor

    Views: 20630 | 5 Comments

    Dia Gnome Editor是一个很小巧的图表编辑软件,功能很丰富。有UML,FlowChart,Circuit,ER,Logic等图标。可以很方便的画各种流程图。生成dia文件后,你可以用dia2code程序把它转为C,C++,JAVA,PHP等代码。

    Dia Gnome

    Posted by ideawu at 2006-07-09 10:59:29
  • 2006-07-07

    麦当娜的 La isla bonita

    Views: 19880 | 2 Comments

    《La isla bonita》是Modonna麦当娜1986年《True Blue》专辑中西班牙曲风的单曲。因为被法国美女小天后Alizee艾莉婕翻唱而再次被大家认识。

    Last night I dreamt of San Pedro
    Just like I'd never gone, I knew the song
    A young girl with eyes like the desert
    It all seems like yesterday, not far away
    
    Tropical the island breeze
    All of nature wild and free
    This is where I long to be
    La isla bonita
    And when the samba played
    The sun would set so high
    Ring through my ears and sting my eyes
    Your Spanish lullaby
    
    I fell in love with San Pedro
    Warm wind carried on the sea, he called to me
    Te dijo te amo
    I prayed that the days would last
    They went so fast
    
    Tropical the island breeze
    All of nature wild and free
    This is where I long to be
    La isla bonita
    And when the samba played
    The sun would set so high
    Ring through my ears and sting my eyes
    Your Spanish lullaby
    
    I want to be where the sun warms the sky
    When it's time for siesta you can watch them go by
    Beautiful faces, no cares in this world
    Where a girl loves a boy, and a boy loves a girl
    
    Last night I dreamt of San Pedro
    It all seems like yesterday, not far away
    
    《La isla bonita》下载地址:
    Posted by ideawu at 2006-07-07 13:52:35
  • 2006-07-04

    Lenna(Lena) 的故事

    Views: 24677 | No Comments

    如果你曾经对数字图像处理感兴趣,并且试图阅读关于这方面的书籍,那么你应该对下面这幅图像感到熟悉:

    也许你也和我一样对这幅图片的使用感到好奇:为什么大家都使用它呢?

    这幅图片早先被使用在图像压缩的研究当中,并发表在论文中。在南加洲大学信号与图像处理学院网站(USC Signal and Image Processing Institute (SIPI))有图片的存档。你可能对这张图片的来历更感兴趣,因为他来自某一期的Playboy杂志的封面(November 1972)!

    多年来,这幅图片的使用一直存在争议。一些人提议禁止使用它因为它的来源。而且,Playboy威胁要起诉未经授权的对此图片的使用。----http://www.cs.cmu.edu/~chuck/lennapg/

    图片的完整版本在:http://www.lenna.org/full/len_full.html

    为何要使用Lenna图像

    David C. Munson. 在“A Note on Lena” 中给出了两条理由:首先,Lenna图像包含了各种细节、平滑区域、阴影和纹理,这些对测试各种图像处理算法很有用。它是一副很好的测试图像!第二,Lena图像里是一个很迷人的女子。所以不必奇怪图像处理领域里的人(大部分为男性)被一副迷人的图像吸引。

    摘抄自:http://bbs.csu.edu.cn/bbscon.php?board=Science&id=1073778035

    Posted by ideawu at 2006-07-04 21:30:24 Tags:
  • 2006-07-02

    白纸和黑点的故事

    Views: 9707 | No Comments

    在七八年前,当还是个小孩的我看到那个白纸和黑点的故事时,为编者制定的正常人(包括小孩子)无法想到的答案感到佩服。那个故事是:

    某人去应聘一个职位,考官给他一张画有明显黑点的白纸,问你看到了什么?然后就对假设的答案进行评论。对回答“黑点”者大加贬值。说他们不看到白纸,却看到黑点。意思是不关注主要事务。

    多么阴险的统治阶级或者多么愚蠢的故事编造者!

    在这个情形下,黑点事实上就是事情的关键部分。我们解决问题就应该从主要矛盾下手。所以回答“黑点”的人是具有分析能力的。

    考官(或者故事的编造者)为什么训导别人“应该看到”白纸呢?有两个目的:

    1. 考官(或者故事的编造者)是统治阶级的代言人,他想制造更多的被统治阶级的人。“阶级”这个词太抽象了。那么我们可以这样认为,公司的老板想制造更多的底层的打工仔,所以请人从思想上教育别人应该做和应该以某种方法做某些事(这些事当然是低级的事了)。

    2. 故事的编造者是一个愚蠢的人,他编造出这个做事,是为了愚弄或者娱乐他认为比他更愚蠢的人。

    Posted by ideawu at 2006-07-02 20:56:04
  • 2006-06-30

    编写简单的计算器。

    Views: 8389 | No Comments

    这个计算器在词法分析器和语法分析器的基础上创建。运行calc,进入下面的操作:

    >>9
    9
    >>3+3
    6
    >>3*6
    18
    >>3*5/2
    7.5
    >>2/3
    0.666667
    >>quit
    

    >>是提示符。

    已经知道的BUG: 不接受[0-9]和4个运算符以外的符号

    进入计算器的首页

    Posted by ideawu at 2006-06-30 09:52:53
|<<<115116117118119120121122123>>>| 119/138 Pages, 825 Results.