Как я могу рассчитать расстояние между двумя точками в Perl? - PullRequest
0 голосов
/ 28 октября 2010

Мне нужна помощь с домашним заданием для моего начального класса по информатике.Я полностью потерян!

Мне нужно написать программу на Perl, которая вычислит расстояние между двумя точками с тремя значениями (x, y, z) по заданной формуле моего профессора.программа должна сделать следующее:

  • запрос для 'c', чтобы продолжить 'q', чтобы выйти
  • запрос для координат x, y, z независимо от первого набора
  • запросить координаты x, y, z отдельно от второго набора
  • вычислить расстояние между расстояниями между двумя наборами, а затем отобразить значение и выйти.

Это то, что я сделал до сих пор:

Код Psuedo обрисовывает в общих чертах вышеприведенное

ЕСЛИ ТО ЭТОТ схема процесса для продолжения c и q для выхода из части Нашли уравнение sqrt для вычисления расстояния

Вместо того, чтобы получать код, я действительно ищу советы о том, с чего начать.Должен ли я начать с определения моих переменных?Любые советы или указания в первом наброске будут очень благодарны!;)

Ответы [ 3 ]

5 голосов
/ 28 октября 2010

У вас есть три основные проблемы и одна, надеюсь, тривиальная.

Если бы я делал это, я бы сделал следующее:

1) Убедитесь, что моя установка работала, нет ничего хуже, чем думать, что это проблема с кодом, и узнать, что ваша установка не работает.Можете ли вы запустить привет мир?(Это должно быть тривиально.)

print "Hello World\n";

2) Поэкспериментируйте с математикой, чтобы вычисление расстояния работало.Начните с жестко заданных значений:

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

3) Выясните, как читать ввод.Возможно, вы захотите взглянуть на веб-сайт Learn Perl

4) Соберите все вместе.

4 голосов
/ 28 октября 2010

Начните с использования передового опыта.Включите это в начало вашего сценария 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.Их не обязательно будет в финальной программе, но они полезны по мере того, как вы ее разрабатываете - по сути, предоставляя дополнительное подтверждение того, что каждый шаг работает так, как вы ожидаете.

Что использует другую хорошую практику:1012 * работает итеративно .Получите что-то простое управление.Сделайте небольшую корректировку.Запустите программу еще раз.Убедитесь, что он работает (изначально просто печатая материал).Сделайте еще одну небольшую корректировку.Беги снова.И т.д.

1 голос
/ 28 октября 2010

Как и в любой программе, начинайте с начала.

  • Напишите программу для печати приглашения для пользователя.

  • Измените этопрограмма для приема ввода от пользователя.

  • Измените эту программу для проверки ввода от пользователя.

То есть, выполняйте каждый шаг ребенкапока вы не удовлетворите все требования.

Если вам нужно сначала изучить Perl, начните с Learning Perl .Вам нужно только первые четыре главы, чтобы завершить эту простую программу.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...