如何计算Perl中两点之间的距离?

时间:2010-10-27 21:30:01

标签: perl math

我需要帮助我的初学计算机科学课作业。我完全失去了!

我需要在Perl中编写一个程序,用我的教授用给定的公式计算两个点之间的距离和三个值(x,y,z)。该计划必须执行以下操作:

  • 提示'c'继续'q'退出
  • 提示第一组
  • 的x,y,z坐标
  • 提示第二组
  • 的x,y,z坐标
  • 计算两组之间距离之间的距离 然后显示该值并退出。

这是我到目前为止所做的:

Psuedo代码概述了上面的

如果那么过程大纲继续c和q退出部分 找到了计算距离的sqrt方程式

而不是获取代码,我真的在寻找从何处开始的提示。我是从定义变量开始的吗?第一个轮廓上的任何提示或方向都将非常感谢! ;)

3 个答案:

答案 0 :(得分:5)

你有三个主要问题,其中一个是微不足道的问题。

如果我这样做,我会做以下事情:

1)确保我的安装工作正常,没有什么比认为它的代码问题更糟糕了,并且发现你的安装已经坏了。你能跑出你好世界吗? (这应该是微不足道的。)

print "Hello World\n";

2)试验数学,使距离计算有效。从硬编码值开始:

$x = 1;
$y = 2;
$z = 3;
print (($x + $y ) / 3); #whatever

3)弄清楚如何阅读输入。您可能需要查看learn perl website

4)把它放在一起。

答案 1 :(得分:4)

首先使用良好做法。将它包含在Perl脚本的顶部。

use strict;
use warnings;

另一个好的做法是学习如何定义和调用子例程,包括如何将参数传递给它们并检索它们的返回值。您希望程序的每个组件都在一个子程序中,以便很好地执行一个任务。对于简单的第一次分配来说,这看起来似乎是不必要的开销,但是值得付出努力,特别是当事情不能正常工作时。

然后尝试找出一些子程序可能是什么,并开始将它们连接在一起,以便它们以正确的顺序相互调用。不要担心细节或让子程序做任何有趣的事情。只需放置一些主要组件即可。这是一个开始:

use strict;
use warnings;

main();

sub main {
    print "Running main().\n";
    my $reply = get_user_input("Enter something.");
    print $reply, "\n";
}

sub get_user_input {
    print "Running get_user_input().\n";
    my $message = shift @_;
    print $message, "\n";
    return 1234;
}

请注意子例程如何包含各种print语句。这些不一定是在最终的程序中,但它们在您开发它时非常有用 - 主要是提供额外的确认,确保每个步骤都按预期工作。

这可以用于另一个好习惯:迭代工作。得到一些简单的运行。做一个小调整。再次运行该程序。确认它正常工作(最初只是打印东西)。做一个小调整。再次运行。等

答案 2 :(得分:1)

与任何节目一样,从头开始。

  • 编写程序以向用户打印提示。

  • 修改该程序以接收用户的输入。

  • 修改该程序以检查用户的输入。

也就是说,在满足所有要求之前,先做好每一个步骤。

如果您需要先学习Perl,请先从 Learning Perl 开始。您只需要前四章就可以完成这个简单的程序。 :)