搜索
查看: 5907|回复: 46
打印 上一主题 下一主题

《啊哈!算法》题解-易语言版

[复制链接]
跳转到指定楼层
楼主
发表于 2014-7-19 14:49:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 llc_cn 于 2014-7-20 15:32 编辑

我是一个商人,但是喜欢编程,买了一本《啊哈!算法》,想提高提高。可惜一看内容都是C语言版的,我完全看不懂,就算照搬到TC2.0环境中,也编译无法通过,一堆错误,不知道怎么回事(第一节,桶排序,有明白人给解释一下么?书上的例子代码真的正确么?)

因为学过E,所以准备一边看书,一边用E的代码把书里的c代码都重写一遍。见笑了~~

第一章
第一节 桶排序
[mw_shl_code=c,true].
版本 2
.支持库 spec

.局部变量 a, 整数型, , "0"
.局部变量 b, 整数型, , "10"
.局部变量 i, 整数型
.局部变量 j, 整数型

置随机数种子 ()
.计次循环首 (5, )
    加入成员 (a, 取随机数 (1, 10))
.计次循环尾 ()
调试输出 (a)
.计次循环首 (4, i)
    b [a ] = 1
    .如果真 (a [i + 1] = a )
        b [a ] = b [a ] + 1
    .如果真结束
    b [a [i + 1]] = 1
.计次循环尾 ()
调试输出 (b)
.计次循环首 (10, j)
    .如果真 (b [j] ≠ 0)
        调试输出 (j)
    .如果真结束

.计次循环尾 ()
[/mw_shl_code]

第一章
第二节 冒泡排序
[mw_shl_code=c,true].版本 2
.支持库 spec

.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 a, 整数型, , "5"
.局部变量 m, 整数型
.局部变量 tmp, 整数型

置随机数种子 ()
.计次循环首 (5, m)
    a [m] = 取随机数 (1, 10)
.计次循环尾 ()
调试输出 (a)
.计次循环首 (4, i)
    .计次循环首 (5 - i, j)
        .如果真 (a [j] < a [j + 1])
            tmp = a [j]
            a [j] = a [j + 1]
            a [j + 1] = tmp
        .如果真结束

    .计次循环尾 ()
.计次循环尾 ()
调试输出 (a)
[/mw_shl_code]


沙发
发表于 2014-7-19 16:27:25 来自手机 | 只看该作者
沙发。            
板凳
发表于 2014-7-20 14:35:13 | 只看该作者
我也用过易语言,虽然我支持国货,支持纯中文编程;但是C语言可以说是全球程序员通用的编程语言。我作为一名编程纯业余爱好者,最后还是放弃了易语言。
C语言简洁,运算能力强,模块化,保留字只有32个,基本上不用英文都能够看明白。当然英语熟练学起来更得心应手。

C语言我断断续续学了近三年,不过真正花的时间不多,现在基本上快学完了,感觉自己已经有一只脚迈进了C语言中,更加感到C语言的优美!
地板
发表于 2014-7-20 14:37:20 | 只看该作者
还是别浪费时间了,等学会C语言再回头看易语言就会觉得它简单了,更加容易上手了。
5#
发表于 2014-7-20 14:39:01 | 只看该作者
一般是先学会语言再看算法,或者是边学边看算法,你怎么一上来就看算法了。
6#
发表于 2014-7-20 14:40:03 | 只看该作者
语言是工具用来描述算法,你不会语言怎么写算法?
7#
发表于 2014-7-20 14:42:07 | 只看该作者
看看啊哈磊的代码,简洁优美!


#include <stdio.h>
int main()
{
    int a[11],i,j,t;
    for(i=0;i<=10;i++)
        a[i]=0;  //初始化为0
   
    for(i=1;i<=5;i++)  //循环读入5个数
    {
        scanf("%d",&t);  //把每一个数读到变量t中
        a[t]++;  //进行计数
    }

    for(i=0;i<=10;i++)  //依次判断a[0]~a[10]
        for(j=1;j<=a[i];j++)  //出现了几次就打印几次
            printf("%d ",i);

    getchar();getchar();
    //这里的getchar();用来暂停程序,以便查看程序输出的内容
    //也可以用system("pause");等来代替
    return 0;
}
8#
发表于 2014-7-20 14:44:50 | 只看该作者
本帖最后由 嗨,强哥! 于 2014-7-20 14:47 编辑

去掉注释,看起来更加优美。

#include <stdio.h>
int main()
{
    int a[11], i , j, t;
    for (i=0; i<=10; i++)
    a = 0;
   
    for (i=1; i<=5; i++)
    {
        scanf ("%d", &t);
        a[t]++;
    }

    for (i=0; i<=10; i++)
        for (j=1; j<=a; j++)
            printf ("%d ", i);

    system ("pause");
    return 0;
}




9#
 楼主| 发表于 2014-7-20 14:45:33 | 只看该作者
嗨,强哥! 发表于 2014-7-20 14:37
还是别浪费时间了,等学会C语言再回头看易语言就会觉得它简单了,更加容易上手了。

嗯,理解你的心情,但是这世界上没有千篇一律的东西,你觉得这个好学,我觉得那个好学,都是对的,能学会就是正确的。
C在大学时自己看过,但是没有能够坚持下来,甚为遗憾。
工作后接触到了易语言,感觉很舒服,很多东西不用学就明白,基本没有投入过太多精力学习,也能做出不错的小程序来:http://www.duote.com/soft/32919.html

易语言准确的说不算一门真正的计算机语言,比较恰当的形容是一个款快速开发工具,相当快速,相当容易的开发工具。同其他编程语言在学习上的难度相比,低到几乎没有。特别是很多支持信息和资料都是全中文,这点比C啊,VB啊什么的有那么一些优势。当然,你可能能举出很多反例来反驳我,不过没意思,咱们就是交流一下,我又不会逼你也学易语言,你也没法逼我不用易语言,交流而已。
10#
 楼主| 发表于 2014-7-20 14:47:55 | 只看该作者
嗨,强哥! 发表于 2014-7-20 14:42
看看啊哈磊的代码,简洁优美!

嗯。。。。。。。

我想说,所谓的优美不优美都是自己觉着的,我倒不是说C不优美,而是不能因此说别人不优美不是?

这里是啊哈磊的论坛,他是用C的,所以你说这个肯定没问题,不过要是你到CSDN上去说,估计会有人和你吵起来吧,哈哈哈
11#
 楼主| 发表于 2014-7-20 14:50:47 | 只看该作者
嗨,强哥! 发表于 2014-7-20 14:39
一般是先学会语言再看算法,或者是边学边看算法,你怎么一上来就看算法了。

我说了我不是科班,你别考我“语言”的定义或者“算法”的定义,这个我肯定不知道,我就知道我运用易语言这个开发工具能够写出程序解决自己的问题。而当我遇到一些问题必须考虑算法来实现或者更高效率的实现时,我就需要看算法的东西,这不是很顺理成章么?
12#
发表于 2014-7-20 14:54:40 | 只看该作者
llc_cn 发表于 2014-7-20 14:47
嗯。。。。。。。

我想说,所谓的优美不优美都是自己觉着的,我倒不是说C不优美,而是不能因此说别人 ...

中文混杂着符号和英文,程序看起来有点别扭。这么说,并不是崇洋媚外,毕竟编程发源地是西方,没办法,我们只好先学习别人定的规矩,这就是差距。
易语言很容易上手,但是底层的东西你是学不到的,(如果有用到,)没有则关系不大。
13#
发表于 2014-7-20 14:56:58 | 只看该作者
llc_cn 发表于 2014-7-20 14:50
我说了我不是科班,你别考我“语言”的定义或者“算法”的定义,这个我肯定不知道,我就知道我运用易语言 ...

如果你运用易语言熟练,那肯定可以看算法的。
我是说如果你用C语言,那是肯定先学语言再看算法。

同样实现一个算法,C语言效率那是肯定高于易语言的。
14#
发表于 2014-7-20 14:57:50 | 只看该作者
llc_cn 发表于 2014-7-20 14:50
我说了我不是科班,你别考我“语言”的定义或者“算法”的定义,这个我肯定不知道,我就知道我运用易语言 ...

我初中毕业,学C语言纯粹是业余爱好。
15#
 楼主| 发表于 2014-7-20 14:58:06 | 只看该作者
嗨,强哥! 发表于 2014-7-20 14:54
中文混杂着符号和英文,程序看起来有点别扭。这么说,并不是崇洋媚外,毕竟编程发源地是西方,没办法,我 ...

一个商人而已~~我相信我不懂什么叫指针,不知道寄存器和累加器应该不会影响我写一个进销存的小程序,嘿嘿。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表