Kąt między wskazówkami

Kąt między wskazówkami

Jak znaleźć kąt między wskazówkami godzinowymi i minutowymi zegara w dowolnym momencie?

Użytkownik wprowadzi godzinę i minutę, a metoda powinna podać kąt między wskazówką godzinową a minutową w tym podanym czasie.

Logika polega na znalezieniu różnicy kąta wskazówki godzinowej i minutowej z pozycji zegara 12:00 gdy kąt między nimi wynosi zero.

Każda godzina na zegarze reprezentuje kąt 30 stopni (360 podzielone przez 12). Podobnie, każda minuta na zegarze będzie reprezentować kąt 6 stopni (360 podzielone przez 60), a kąt na godzinę będzie wzrastał wraz ze wzrostem minut dla tej godziny.

Czyli dla godziny 10:30 kąt między wskazówką godzinową a wskazówką minutową wynosi 135 stopni. dla godziny 12:15 kąt między wskazówką godzinową i minutową wynosi 82,5 stopni a dla godziny 3:15 kąt wynosi 7,5 stopnia.

private static double FindAngleinTime(int hours, int mins)
{
   double minuteDegrees = mins * 6;
   double hourDegrees = (hours * 30) + (mins * 30.0 / 60);

   double angle = Math.Abs(hourDegrees - minuteDegrees);

   if (angle > 180)
      angle = 360 - angle;

   return angle;
}

I teraz sprawdzamy nasze rozwiązanie.

static void Main(string[] args)
{
    var angle = FindAngleinTime(3, 15);
    Console.WriteLine("Kąt między wskazówką godzinową a minutową wynosi {0} stopni", angle);
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *