Scratch趣味数学
作者:***
来源:《电脑报》2020年第22期
        西汉的数学著作《周髀算经》中记载,周公问商高:“天不可阶而升,地不可将尽寸而度。”天的高度和大地的面积该怎样测得?商高说:“故折矩以为勾广三,股修四,经隅五。”古时候人们把手臂的上半部分称为“勾”,下半部分称为“股”。商高的意思是:当直角三角形的两条直角边分别为3(短边)和4(长边)时,径隅(就是弦)则为5。这就是我们常说的“勾三股四弦五”,也就是勾股定理。
        勾股定理:直角三角形的两条直角边a和b的平方之和等于斜边c的平方(a2+b2=c2),前提是满足三角形的定义(任意两边之和大于第三边),符合勾股定理的数字就是勾股数,勾股数又叫做毕氏三元数。比如勾股数32+42=52或者62+82=102。
        那么如何才能计算出边长在100以内所有的勾股数呢?如果我们单纯地用笔纸计算,显然不太合理,而且计算量太大,我们不妨试试Scratch,用编程的方法输出这些勾股数。
        首先各条边长不能超过100,并且三条边中的两条边长的平方之和等于第三条边长的平方。其次任意两条边之和大于第三条边,这样才可以避免产生重复的数字,比如3 4 5符合而5 4 3这个重复项就可以排除。这里我们定义三个变量a、b、c,并对应3个列表存储答案。
        看到勾股数程序的第一眼,聪明的同学可能马上会想到是不是和百元买百鸡的代码有点相似,没错两个程序确实都运用了循环嵌套的方式进行。但是勾股数程序还是有自己的特点的,为了提高程序执行的效率,起始数值设置a=3,然后一层一层嵌套,分别将b设置为a+1,c设置为b+1。为什么要这样设置呢?首先这样可以避免产生重复的解,并且在程序循环判断的过程中,减少计算量。当我们筛选符合两条边的平方之和等于第三条边平方条件的解之后,存储在对应的三个列表中,列表中的元素是一行行对应的。在每次循环结束后,不要忘记执行的变量加1。
        让我们一起来看看效果吧:
        100以内一共有52条记录,大家可以挑选出几个数字进行平方求和看看结果是否正确。计算勾股数的难度属于中等,重点还是循环嵌套。大家可以自己动手挑战一下。
        ASCII码是基于电脑编码系统的一种语言,是最通用的信息交换标准。在计算机中,所有的数据在存储和运算中都要使用二进制表示(0和1)。约定具体用哪些二进制数字表示像A、B、C这52个字母(包括大小写),叫编码规则。每个人虽然可以定一套自己的标准,但如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了常用符号用哪些二进制数来表示。
        ASCII码使用7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母、数字、标点符号或者控制字符。
        今天就和大家一起学习ASCII码和字符之间相互转换的知识。
        很多编程语言都是自带了ASCII码和字符之间的转换函数,只需要调用就可以实现,先來看看Python字符转ASCII码,我们输入一个字符A,然后调用Python中的ord()函数就可以实现将字符转化为ASCII码65了。
        反过来用ASCII码转换为字符可以用chr()函数,把ASCII码65转换为A。
        当然不同的程序所对应的转换函数也是不一样的。
        对比Python和VB我们可以发现ASCII码转换为字符都是使用了chr( )函数,但是将字符转化为ASCII码VB里则是ASC函数,所以对于不同的编程语言我们需要查询正确的语法后才能使用哦。
        学会了ASCII码与字符相互之间的转换我们可以做些什么呢?最简单的就是将我们所需要的数据进行“加密”了,就像恺撒密码那样,明文可以是65,密文可以变成B(先将数值65转换为ASCII码,再将ASCII码往后面移动一位)。大家可以尝试着编写看看,还是蛮有意思的。
        今天我们要开启学习VB的新篇章了,VB求解一元二次方程。
        只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。一元二次方程经过整理都可化成一般形式ax2+bx+c=0(a≠0)。其中ax2称作二次项,a是二次项系数;bx称作一次项,b是一次项系数;c称作常数项。
        一元二次方程必须满足三个条件:
        1.方程必须是整式方程,即等号两边都是整式,方程中如果有分母;且未知数在分母上,那么这个方程就是分式方程,不是一元二次方程;方程中如果有根号,且未知数在根号内,那么这个方程也不是一元二次方程(是无理方程)。
        2.方程中必须只有一个未知数X。
python和vb的代码可以通用吗
        3.未知数项的最高次数是2,否则就不是一元二次方程了。
        如何求解一元二次方程呢?根据不同的题目,解法也有不同,比如说配方法(如图1)、两根式(如图2)。
        配方法
        两根式
        不过配方法和两根式都有一定的适应性,只能求解部分特殊情况。我们还有一个万能的公式法,用公式法可以求解任意一元二次方程的答案哦(如图3)。
        公式法
        我们当然选用公式法来编写一个VB的一元二次解方程小程序,这样解方程的时候就可以适应各种情况了(如图4)。
        我们首先确定一元二次方程ax2
        +bx+c的三个系数,分别是a、b、c,将这三个变量定义成单精度,将方程的解X1和X2定义成双精度,然后带入公式法进行计算。在方程中特意加了一个判别式T,也是非常重要,判别式可以判断方程根的一些情况,告诉我们方程大致的结果,判别式分为三种情况
        1. 当时,方程有两个不相同的实数根
        2. 当时,方程有两个相同的实数根(也就是一个实数根)
        3. 当时,方程没有实数根

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。