七周七语言·Io 第二天

代码使用Gist托管,部分地区可能加载不出来。点击查看更多以显示具体代码。

对应第二天自习的题解:

  1. 写一个计算第n个斐波那契数列的程序,递归、循环两种方法。

  2. 在分母为0的情况下,如何让运算符/返回0?

  3. 写一个程序,把二维数组中的所有数相加。

  4. 对列表增加一个名为myAverage的槽,以计算列表中所有数字的平均值。如果列表中没有数字会发生什么?(加分题:如果列表中有任何一项不是数字,则产生一个Io异常。)

  5. 对二维列表写一个原型。该原型的dim(x,y)方法可为一个包含y个列表的列表分配内存,其中每个列表都有x个元素,set(x,y,v)可设置列表中的值,get(x,y)方法可返回列表中的值。

  6. 加分题:写一个转置方法,使得原列表上的matrix get(x,y)与转置后列表的(new_matrix get(x,y))相等。

  7. 把矩阵写入文件,并从文件中读取矩阵。

  8. 写一个程序,提供10次尝试机会,猜一个1~100之间的随机数。如果你愿意的话,可以在第一次猜测后,提示猜大了还是猜小了。

参考: