我看不懂这类题,最好一句一句的解释,

1个回答

  • set talk off

    clear 清屏

    for i=1 to 3 变量i从1到3循环

    ?space(20-i) 每一行产生20-i个空格(当i=1时,为19个空格;i=2时,为18个;i=3时,为17个)

    for j=1 to 2*i-1 变量j从1到2*i-1循环(当i=1时,2*i-1=1,循环1次;i=2时,2*i-1=3,循环3次;i=3时,2*i-1=5,循环5次)

    ?"*" 每循环一次,就显示一个*号,?表示不换行

    endfor

    endfor

    return

    循环内:

    当i=1时,换行,前面产生19个空格,j从1到1,产生一个*号

    当i=2时,换行,前面产生18个空格,j从1到3,产生三个*号

    当i=3时,换行,前面产生17个空格,j从1到5,产生五个*号

    set talk off

    clear

    store 1 to i, j 同时为变量i和j赋值为1

    for n=1 to 4 变量n从1到4循环

    @i , j+1 say"AB" 在第i行,第j+1列显示“AB”

    j=j+1 变量j增加1

    endfor

    return

    循环内:

    当n=1时,i=1,j=1+1=2,在第1行,第2列显示“AB”,然后j=j+1=1+1=2

    当n=2时,i=1,j=2+1=3,在第1行,第3列显示“AB”,然后j=j+1=2+1=3,此时会将前面的“B”覆盖,变成“AAB”

    当n=3时,i=1,j=3+1=4,在第1行,第4列显示“AB”,然后j=j+1=3+1=4,此时会将前面的“B”覆盖,变成“AAAB”

    当n=4时,i=1,j=4+1=5,在第1行,第5列显示“AB”,然后j=j+1=4+1=5,此时会将前面的“B”覆盖,变成“AAAAB”