Я сделал простую программу на языке C#, которая реализует локатор со своими ориентациями и командами поворота. Вот пример кода⁚
csharp
using System;
class Program
{
static void Main(string[] args)
{
char C ‘C’; // исходная ориентация локатора
int N1 1; // первая команда
int N2 -1; // вторая команда
char[] orientations { ‘С’, ‘З’, ‘Ю’, ‘В’ };
int currentIndex Array.IndexOf(orientations, C);
// выполняем первую команду поворота
currentIndex (currentIndex N1) % 4;
if (currentIndex < 0)
{
currentIndex 4 currentIndex;
}
// выполняем вторую команду поворота
currentIndex (currentIndex N2) % 4;
if (currentIndex < 0)
{
currentIndex 4 currentIndex;
}
char newOrientation orientations[currentIndex];
// выводим новую ориентацию локатора
Console.WriteLine($″Ориентация локатора после выполнения команд⁚ {newOrientation}″);
}
}
Программа начинается с объявления и инициализации переменных⁚ символ C ⎼ исходная ориентация локатора, целые числа N1 и N2 ⎼ две посланные команды. Затем, с помощью массива orientations, мы создаем список доступных ориентаций ー Север, Запад, Юг, Восток. И находим индекс исходной ориентации локатора в этом списке. Далее, мы выполняем первую команду поворота, добавляя значение N1 к индексу ориентации и находим новый индекс ориентации после выполнения этой команды. Если новый индекс отрицательный, то мы используем формулу (4 индекс), чтобы получить корректный индекс ориентации. То же самое мы делаем и для второй команды поворота, заменяя N1 на N2. В результате получаем новую ориентацию локатора и выводим ее на экран.
В данном примере исходная ориентация локатора ー С, первая команда ー поворот налево (1), вторая команда ー поворот направо (-1). После выполнения этих команд, программа выводит новую ориентацию локатора ⎼ В.