编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:    Password: 
  登记 登记    
 使用for循环引用具有相似名称的多个变量
指数 -> 编程,图灵 -> 帮助帮助
查看上一个主题 可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
狙击手




 邮政 发布: 星期四2017年10月19日下午1:58  post主题:使用for循环来引用具有相似名称的多个变量

你试图实现的是什么?
你好。我正在尝试将3D Rubik的立方体模拟作为我正在服用的G11计算机科学课程的最终项目。我想出了实际旋转三维空间立方模型所需的所有数学数学,但我的代码非常长,重复。


你有什么问题?
我的主要问题是我的大多数代码是重复过程,它接受顶点的实际坐标值,并输出新值以模拟立方体的旋转。
这是我的代码中的炼乳摘录:
(请假设下面使用的变量,x1,x2,x3等是已经在过程之外声明的全局变量)

图灵:


程序 rotateRight
    如果 x1 > 0 z1 >= 0 然后
        x1 := SQRT. (3 - y1 ** 2) * 科斯德 ( 圆形的 ( arctand. ( ABS ( Z1 / X1 ))) + 1)
        z1 := SQRT. (3 - y1 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z1 / X1 ))) + 1)
    埃莉丝 x1 < 0 z1 >= 0 然后
        x1 := SQRT. (3 - y1 ** 2) * - 科斯德 ( 圆形的 ( arctand. ( ABS ( Z1 / X1 ))) - 1)
        z1 := SQRT. (3 - y1 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z1 / X1 ))) - 1)
    结尾 如果

    如果 x2 > 0 z2 >= 0 然后
        x2 := SQRT. (3 - y2 ** 2) * 科斯德 ( 圆形的 ( arctand. ( ABS ( Z2 / X2 ))) + 1)
        z2 := SQRT. (3 - y2 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z2 / X2 ))) + 1)
    埃莉丝 x2 < 0 z2 >= 0 然后
        x2 := SQRT. (3 - y2 ** 2) * - 科斯德 ( 圆形的 ( arctand. ( ABS ( Z2 / X2 ))) - 1)
        z2 := SQRT. (3 - y2 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z2 / X2 ))) - 1)
    结尾 如果

    如果 x3 > 0 z3 >= 0 然后
        x3 := SQRT. (3 - y3 ** 2) * 科斯德 ( 圆形的 ( arctand. ( ABS ( Z3 / X3 ))) + 1)
        z3 := SQRT. (3 - y3 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z3 / X3 ))) + 1)
    埃莉丝 x3 < 0 z3 >= 0 然后
        x3 := SQRT. (3 - y3 ** 2) * - 科斯德 ( 圆形的 ( arctand. ( ABS ( Z3 / X3 ))) - 1)
        z3 := SQRT. (3 - y3 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z3 / X3 ))) - 1)
    结尾 如果

    如果 x4 > 0 z4 >= 0 然后
        x4 := SQRT. (3 - y4 ** 2) * 科斯德 ( 圆形的 ( arctand. ( ABS ( Z4 / X4 ))) + 1)
        z4 := SQRT. (3 - y4 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z4 / X4 ))) + 1)
    埃莉丝 x4 < 0 z4 >= 0 然后
        x4 := SQRT. (3 - y4 ** 2) * - 科斯德 ( 圆形的 ( arctand. ( ABS ( Z4 / X4 ))) - 1)
        z4 := SQRT. (3 - y4 ** 2) * s ( 圆形的 ( arctand. ( ABS ( Z4 / X4 ))) - 1)
    结尾 如果
结尾 rotateRight



正如您所能告诉的,如果过程中的过程中的第4个陈述是相同的,只是变量名称因单个数字而异。

我想知道是否有一种方法可以通过循环的每个迭代来修改变量名称,使得所有X1,Y1,Z1;可以在程序中引用X2,Y2,Z2等。
类似的事情:

图灵:


程序 rotateRight
    为了 i : 1 .. 4
        如果 xi > 0 zi >= 0 然后
            xi := SQRT. (3 - 义 ** 2) * 科斯德 ( 圆形的 ( arctand. ( ABS ( zi / xi. ))) + 1)
            zi := SQRT. (3 - 义 ** 2) * s ( 圆形的 ( arctand. ( ABS ( zi / xi. ))) + 1)
        埃莉丝 xi < 0 zi >= 0 然后
            xi := SQRT. (3 - 义 ** 2) * - 科斯德 ( 圆形的 ( arctand. ( ABS ( zi / xi. ))) - 1)
            zi := SQRT. (3 - 义 ** 2) * s ( 圆形的 ( arctand. ( ABS ( zi / xi. ))) - 1)
        结尾 如果
    结尾 为了
结尾 rotateRight



描述您尝试解决此问题的内容
我试图使用上面的代码,但正如所所料的那样,使用“xi,yi,zi等”将最终引用完全新的变量。如果您知道以这种方式正确地实现循环的方法,我的项目和我会非常感谢它,如果你有帮助。

请指定您使用的图灵版本
4.1.1
赞助
赞助
 赞助
 赞助
虫子




 邮政 发布: 星期四2017年10月19日下午4:29  post主题:Re:使用for循环来引用具有相似名称的多个变量

你要想看一下阵列。
从上一个显示帖子:   
    指数 -> 编程,图灵 -> 帮助帮助
查看上一个主题 告诉一个朋友可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题

11  [ 2 Posts ]
跳到:    


Style:  
搜索: