Member 10571077 Ответов: 1

Может ли кто-нибудь дать мне несколько руководящих указаний о том, как начать с этой задачи?


Может ли кто-нибудь дать мне несколько руководств о том, как начать выполнение этой задачи
----------------------------------------------------------------------------
Флот роботов ручной сборки должен вступить в бой для ежегодного конкурса “войны роботов”. Каждый робот будет помещен в прямоугольную боевую арену и будет перемещаться по ней с помощью встроенной компьютерной системы.
Местоположение и курс робота представлены комбинацией координат x и y и буквой, представляющей одну из четырех основных точек компаса. Арена разделена на сетку для упрощения навигации. Например, позиция может быть 0, 0, N, что означает, что робот находится в левом нижнем углу и смотрит на север.
Чтобы управлять роботом, организаторы соревнований предусмотрели консоль для отправки простой строки букв в бортовую навигационную систему. Возможные буквы - "Л", " Р " и "М". ‘L " и " R "заставляют марсоход вращаться на 90 градусов влево или вправо соответственно, не двигаясь с его текущего места, в то время как" M " означает двигаться вперед на одну точку сетки и поддерживать тот же курс. Предположим, что квадрат непосредственно к северу от (x, y) равен (x, y+1).
ВХОД:
Первая строка ввода - это верхние правые координаты арены, нижние левые координаты принимаются равными (0, 0).
Остальная часть входных данных - это информация, относящаяся к роботам, которые были развернуты. Каждый робот имеет две линии ввода-первая дает положение робота, а вторая-серию инструкций, сообщающих роботу, как двигаться внутри арены.
Позиция состоит из двух целых чисел и буквы, разделенных пробелами, соответствующих координатам x и y и ориентации робота. Каждый робот будет двигаться последовательно, а это значит, что второй робот не начнет двигаться, пока не закончит движение первый.
ВЫХОД:
Выходными данными для каждого робота должны быть его конечные координаты и курс.


Что я уже пробовал:

Я пытаюсь начать кодировать это консольное приложение на C#, но на самом деле не знаю, как начать

Graeme_Grant

Для меня это звучит как домашнее задание... Эти вещи основаны на том, чему вас учат, чтобы проверить, как вы учитесь.

С чего начать? Разбейте требования на более мелкие этапы. Затем постройте логическую карту. Теперь вы готовы приступить к кодированию.

NotPolitcallyCorrect

Учитесь С#
Читать описание
Разбейте задачи на более мелкие задачи
Писать код
Тест
Исправление ошибок
И да, это домашнее задание. Это домашнее задание, которое ты сам себе задал.

Graeme_Grant

Если вы написали требование, то оно должно быть простым, так как вы уже знаете, что требуется.

Member 10571077

Мозговой штурм - это не выполнение чьей-то домашней работы! мне нужно было лучшее руководство

В любом случае спасибо

Member 10571077

Спасибо

Graeme_Grant

Овца есть овца. Называя его свиньей, это не делает его таковым.

NotPolitcallyCorrect

Это домашнее задание, и неважно, как сильно вы это отрицаете, это все равно домашнее задание.

NotPolitcallyCorrect

И если вы хотите, чтобы кто-то учил вас, вы находитесь не в том месте. Этот форум предназначен для реальных вопросов, для реальных проблем, а не для обучения программированию на форуме и не для дискуссий.

1 Ответов

Рейтинг:
1

Patrice T

Вам нужно проанализировать требования. Имитация проблемы с листом бумаги-это хорошее начало, чтобы понять, как она работает, программа будет следовать тем же шагам.

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, с которыми вы сталкиваетесь при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Итак, попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

Как программист, ваша задача-создавать алгоритмы это решает конкретные проблемы, и вы не можете полагаться на кого-то другого, чтобы вечно делать это за вас, поэтому есть время, когда вам придется научиться этому. И чем скорее, тем лучше.
Когда вы просто просите решение, это все равно что пытаться научиться водить машину, обучая кого-то другого.
Создание алгоритма-это в основном поиск математики и необходимая адаптация к вашей реальной задаче.

Интересная ссылка для начала работы над новым проектом: Жизненный цикл разработки систем - Википедия[^]

- Освоить некоторые методы анализа, Метод Дейкстры сверху вниз это хорошее начало.
https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design[^]
https://en.wikipedia.org/wiki/Structured_programming[^]
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra[^]
https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD316.PDF[^]

[Обновление]

Цитата:
Это не правильно это не домашняя работа ничему не учили это просто задача мне было интересно получить представление о том как начать

Даже назначенное самим собой, это домашнее задание. Домашние задания делаются для того, чтобы вы практиковались на уроках, которые вам преподали. Поскольку уроки и домашние задания совпадают, вам нужно выучить или найти правильные уроки или попрактиковаться в домашних заданиях, которые соответствуют урокам, которые вы изучали.
Цитата:
Мозговой штурм - это не выполнение чьей-то домашней работы! мне нужно было лучшее руководство

Если вы не понимаете своих уроков, спросите своего учителя.

[Обновление]
Цитата:
Может ли кто-нибудь дать мне несколько руководящих указаний о том, как начать с этой задачи?

В свете последних новостей ответ таков: сейчас:
- Учись программировать.


Valery Possoz

а как насчет этой ссылки?
https://github.com/samkelleher/node-robot-wars
Просто прочтите readme.md

Patrice T

Вы нашли, откуда он взялся. А после ?

Valery Possoz

Что значит "и после"?"
Он находится на github с полным исходным кодом! Вопрос не имеет ничего общего с домашним заданием или чем-то еще, это явно какой-то парень, который понятия не имеет ни о чем, связанном с кодом...

Но это очень мило с вашей стороны, что вы нашли время ответить ему/ей.

NotPolitcallyCorrect

"не имеет ничего общего с домашним заданием или чем-то еще", это, безусловно, так. Просто потому, что учитель не назначил его в классе, не означает, что это не домашнее задание. ОП решил поручить домашнее задание самому себе. Это все равно домашнее задание, не имеет значения, если ОП просто решил его сделать или учитель назначил его. Никакая разница.

Patrice T

-Что значит "и после"?
Хорошо, вы нашли текст на gitHub, но он ничего не меняет ни в вопросе, ни в моем ответе.
-Но очень мило с вашей стороны, что вы нашли время ответить ему.
Спасибо.

Member 10571077

АНК вам очень благодарен за ссылку Git hub, она дала мне представление о том, как запустить и написать мое консольное приложение.

Я очень ценю вашу помощь, вы очень полезный человек. немногие добрые люди настолько добры или полезны