написать код на C# с в котором предусмотреть ветвь default и алгоритмами в старояпонском календаре был принят 60–летний цикл, состоящий из пяти 12-летних подциклов. подциклы обозначались названиями цвета: зеленый, красный, желтый, белый, черный. внутри каждого подцикла года носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи (1984 год – год зеленой крысы – был началом очередного цикла). напишите программу для ввода номера некоторого года нашей эры и вывода его названия по старояпонскому календарю.
```csharp
using System;
namespace OldJapaneseCalendar
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите номер года: ");
int year = Convert.ToInt32(Console.ReadLine());
int cycleNumber = (year - 1984) % 60; // вычисляем номер цикла
int subCycleNumber = cycleNumber % 12; // вычисляем номер подцикла
string subCycleName = "";
switch (subCycleNumber)
{
case 0:
subCycleName = "крысы";
break;
case 1:
subCycleName = "коровы";
break;
case 2:
subCycleName = "тигра";
break;
case 3:
subCycleName = "зайца";
break;
case 4:
subCycleName = "дракона";
break;
case 5:
subCycleName = "змеи";
break;
case 6:
subCycleName = "лошади";
break;
case 7:
subCycleName = "овцы";
break;
case 8:
subCycleName = "обезьяны";
break;
case 9:
subCycleName = "курицы";
break;
case 10:
subCycleName = "собаки";
break;
case 11:
subCycleName = "свиньи";
break;
default:
Console.WriteLine("Ошибка! Неверный номер подцикла.");
return; // выход из программы
}
int cycle = (year - 1984) / 60;
string cycleColor = "";
switch (cycle % 5)
{
case 0:
cycleColor = "зеленый";
break;
case 1:
cycleColor = "красный";
break;
case 2:
cycleColor = "желтый";
break;
case 3:
cycleColor = "белый";
break;
case 4:
cycleColor = "черный";
break;
default:
Console.WriteLine("Ошибка! Неверный номер цикла.");
return; // выход из программы
}
Console.WriteLine($"Год {year} на старояпонском календаре: {cycleColor} {subCycleName}.");
Console.ReadLine();
}
}
}
```
Чтобы запустить программу, нужно скопировать этот код в новый проект на языке C# и запустить его. После чего в консоли будет предложено ввести номер года, а программа выведет его название по старояпонскому календарю.
Объяснение кода:
1. Мы спрашиваем пользователя о номере года и сохраняем его в переменной `year`.
2. Вычисляем номер цикла, вычтя 1984 год (начало очередного цикла) и получив остаток от деления на 60.
3. Вычисляем номер подцикла, который является остатком от деления номера цикла на 12.
4. Используя оператор switch, определяем название животного внутри подцикла в зависимости от его номера.
5. Вычисляем номер цвета цикла, который является остатком от деления номера цикла на 5.
6. Используя снова оператор switch, определяем название цвета цикла в зависимости от его номера.
7. Выводим результат на консоль.
Надеюсь, этот код поможет школьнику понять, как реализовать алгоритм старояпонского календаря на языке C#. Если возникнут вопросы, не стесняйтесь задавать!