Scratch编程之旅之运算专题篇

Pascal之父Nicklaus Wirth对程序的本质精炼地总结为“算法+数据结构=程序”,这个描述对我们而言多少有些抽象,我们可以更直观地表达为,程序就是为了处理数据,如何处理涉及到算法的选择,对数据的具体操作又必须选择合适的数据结构,算法和数据结构有优劣之分,合适的算法和数据结构对我们的程序会产生巨大的影响。很多人在工作中似乎并未感受到算法和数据结构的重要行,事实上简单如“hello world”,复杂如阿法狗,都离不开算法和数据结构的支撑。我们本次的分享内容是运算,它是构成一切精妙算法的基石。

Scratch中的运算主要包括:四则运算、关系运算、逻辑运算、字符串运算和数学函数。

加减乘除四则运算的原理和规则与我们数学启蒙学习的四则运算是一样的,这是所有数值运算的基础。四则运算符两边既可以显示地使用数字(这就是传说中的硬编码,我们应尽量避免),也可以使用数值型变量。通过四则运算我们可以构建更加复杂的运算表达式。

关系运算的对象也是一对数值型的数据,运算的结果是布尔值(也称真假值,反映在程序中就是True或False,1或0)。通过关系运算表达式的嵌套或组合,我们可以描述更加复杂的逻辑。

逻辑运算积木与前两者有所不同,逻辑运算符有三个“或”、“且”、“不成立”(实际上我们更习惯称之为“非”),操作的对象必须是布尔表达式,最终的运算结果是一个布尔值。四则运算和关系运算是双目运算(也就是有两个对象参与),逻辑运算的“不成立”是单目运算。

字符串运算是Scratch用于处理字符串类型数据的一类工具函数集合,它们可以实现字符串的连接、长度运算、获取首字符、是否包含。往往在更高级的编程语言中,我们可以自主拓展我们自己的字符串工具。

数学函数积木处理的对象是数字,我们可以有很多的选择,比如绝对值、三角函数、反三角函数等等,Scratch实现了这些常用的公式。还有几个诸如“取随机数”、“求模”、“四舍五入”等等。虽然有些函数我们不一定会用到,但是如果需要,使用起来相当方便的。

今天的分享就到这里,我希望大家明白编程的本质是处理数据,尽管用户可感知的可能是界面角色的运动、图表的变化等等,但是我们的任务往往都是围绕“处理数据”这个核心展开的。

技术服务于社会,让世界变得更美好。如果您或者您的小孩对编程有兴趣,请关注我,我是小码哥哥,我将尽我所能帮助你们,有任何问题可以帖下留言或者关注私信,共同探讨,共同进步,成就彼此。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191004A08EA800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券