Подскажите решение задачи о "Роботе" - C#
Формулировка задачи:
Робот может перемещаться в четырех направлениях («С» — север,
«З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые ко-
манды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот на-
право. Дан символ C — исходное направление робота и целое число N —
посланная ему команда. Вывести направление робота после выполнения
полученной команды.
Подскажите концепцию программы, ткк не понял нужно вывести направление только один раз или постоянно спрашивать и выводить направление, если так (то подскажите как это реализовать)
Решение задачи: «Подскажите решение задачи о "Роботе"»
textual
Листинг программы
- class Program
- {
- static char Next(char Current, int Command)
- {
- switch (Current)
- {
- case 'Ю':
- switch(Command)
- {
- case -1: return 'З';
- case 0: return 'Ю';
- case 1: return 'В';
- default: throw new ArgumentException();
- }
- case 'В':
- switch (Command)
- {
- case -1: return 'Ю';
- case 0: return 'В';
- case 1: return 'С';
- default: throw new ArgumentException();
- }
- case 'С':
- switch (Command)
- {
- case -1: return 'В';
- case 0: return 'С';
- case 1: return 'З';
- default: throw new ArgumentException();
- }
- case 'З':
- switch (Command)
- {
- case -1: return 'С';
- case 0: return 'З';
- case 1: return 'Ю';
- default: throw new ArgumentException();
- }
- default: throw new ArgumentException();
- }
- }
- static void Main()
- {
- try
- {
- Console.Write("Направление: ");
- var d = Console.ReadLine()[0];
- Console.Write("Команда: ");
- var c = int.Parse(Console.ReadLine());
- Console.WriteLine("Новое направление: " + Next(d, c));
- Console.ReadLine();
- }
- catch (Exception)
- {
- Console.WriteLine("Ошибка");
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д