加载中…
个人资料
林老师的LOGO_PYTHON_C语言之家
林老师的LOGO_P
YTHON_C语言之家
  • 博客等级:
  • 博客积分:0
  • 博客访问:45,449
  • 关注人气:563
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

LOGO编程三角形数字阵列

(2024-05-10 16:33:44)
标签:

林老师

pclogo

mswlogo

fmslogo

分类: WinXP~7~8~10运行Logo语言
LOGO编程三角形数字阵列
LOGO编程三角形数字阵列
  前面说过,在小学生学习的编程语言中,用数字组成“阵列”是一个大类的题型,说少也有数十种编程类型,是很能锻炼编程思维能力的。用LOGO语言、C++语言、PYTHON语言都能编制“数字阵列”程序。相比较起来,编制三角形的数字阵列比较容易。把“三角形”的原理搞清楚了,理解“正方形”或其他类型的阵列就会比较明白了。以下是比较典型的三角形数字阵列的源程序及输出图形,全部都是输出在文本窗口的。同样的图形也可以输出在作图窗口,但编程较为复杂,请大家自己琢磨编程。例一~例五适合输出N值不大于13的数字阵列。例六~例七可以输出N值更高的数字阵列。

例一.N阶正三角形数字阵列
to Asjx1 :n  
  make "s 1          
  for[i :n 1 -1][   
    for[j :i 1 -1][  
      type :s        
      ifelse :s<10[(type char 32 char 32)] 
        [type char 32]
      make "s :s+1   
        ]pr[]        
      ]
end
输出实例:
LOGO编程三角形数字阵列


例二.N阶倒三角形数字阵列
to Asjx2 :n  
  make "s 1        
  for[i 1 :n][       
    for[j :i 1 -1][  
      type :s        
      ifelse :s<10[(type char 32 char 32)] 
        [type char 32]
      make "s :s+1   
        ]pr[]        
      ]
end

输出实例:
LOGO编程三角形数字阵列


例三.N阶右对齐正三角形数字阵列
to Asjx3 :n  
  make "s 1         
  make "h 1         
  for[i :n 1 -1][   
    for[hh 1 :h][   
      (type char 32 char 32 char 32)]
    make "h :h+1    
    for[j :i 1 -1][ 
      type :s       
      ifelse :s<10[(type char 32 char 32)]
        [type char 32]
      make "s :s+1   
        ]pr[]        
      ]
End

输出实例:
LOGO编程三角形数字阵列

例四.N阶倒计数正三角形数字阵列
to Asjx5 :n 
  make "s (1+:n)*:n/2  
  for[i :n 1 -1][
    for[j :i 1 -1][
      type :s
      ifelse :s<10[(type char 32 char 32)]
        [type char 32]
      make "s :s-1
        ]pr[]
      ]
End

输出实例:
LOGO编程三角形数字阵列


例五.N阶右转倒计数正三角形数字阵列
to Asjx6 :n  
  make "h 1
  make "qm 0           ;在所有数字前面的数字个数为0个
  for[i 1 :n ][
    make "qm :qm+:i-1  ;计算当前行前面数字的个数
    make "s (1+:n)*:n/2-:qm  ;计算当前行左边首个数字的值
    for[hh 1 :h][            ;在当前行的左边预留空格
      (type char 32 char 32 char 32)]
    make "h :h+1             
    make "cha :i+1           ;计算当前行头两个数字的差
    for[j :n-:i+1 1 -1][  
      type :s
      ifelse :s<10[(type char 32 char 32)]
        [type char 32]
      make "s :s-:cha        
      make "cha :cha+1      
        ]pr[]
      ]
end

输出实例:
LOGO编程三角形数字阵列


例六.“逢5数”N阶正三角形数字阵列
to Asjx8 :n  
  make "w count(5*(1+:n)*:n/2)  
  make "s 1          
  for[i :n 1 -1][    
    for[j :i 1 -1][  
      type :s*5      
      make "ke :w+1-count(:s*5) 
      for[k 1 :ke][type char 32] 
      make "s :s+1   
        ]pr[]        
      ]
end

输出实例:
LOGO编程三角形数字阵列


例七.逆序平方数N阶正三角形数字阵列
to Asjx9 :n  
  make "ss (1+:n)*:n/2  
  make "zd :ss*:ss   
  make "w count :zd  
  make "s :ss        
  for[i :n 1 -1][   
    for[j :i 1 -1][  
      type :s*:s    
      make "ke :w+1-count(:s*:s) 
      for[k 1 :ke][type char 32] 
      make "s :s-1  
        ]pr[]        
      ]
end

输出实例:
LOGO编程三角形数字阵列


还能想出很多其他构成“三角形数字阵列”的模式来

LOGO编程三角形数字阵列
LOGO编程三角形数字阵列


LOGO编程三角形数字阵列

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有