forth探究 之 循环 --九九乘法表

循环在forth中很简单:

定循环 do ... loop ;

do先判断栈中前两位数值,作为循环的上限和初始值,如从0循环至9,用forth实现就是:

10 0 do i . loop 

双重循环一样这现:10 0 do 10 0 do i . j . loop 

i 是外循环值,j是内循环的值。

用forth实现的九九乘法表:

: 99tables  \ 九九乘法表
    cr 10 1 do
        cr 10 1 do 
        i J * 4 U.R 
        loop
    loop ;

程序运行后显示:

   1   2   3   4   5   6   7   8   9
   2   4   6   8  10  12  14  16  18
   3   6   9  12  15  18  21  24  27
   4   8  12  16  20  24  28  32  36
   5  10  15  20  25  30  35  40  45
   6  12  18  24  30  36  42  48  54
   7  14  21  28  35  42  49  56  63
   8  16  24  32  40  48  56  64  72
   9  18  27  36  45  54  63  72  81

 

如剔除多余重复部分:

: 99tables  \ 九九乘法表
    cr 10 1 do
        cr 4 i * spaces
        10 i do 
        i J * 4 U.R 
        loop
    loop ;

程序运行后显示:

 1   2   3   4   5   6   7   8   9
      4   6   8  10  12  14  16  18
           9  12  15  18  21  24  27
               16  20  24  28  32  36
                     25  30  35  40  45
                           36  42  48  54
                                49  56  63
                                       64  72
                                            81
Done.

 

你可能感兴趣的:(forth探究 之 循环 --九九乘法表)