составьте программу, которая запрашивает время в часах(0,3,6,9,12,15,18,21,24) и рисует
часы с показаниями часовой стрелки
Ответы
На языке python:
import matplotlib.pyplot as plt
import numpy as np
def hour_hand_angle(hour):
return np.radians(90 - hour * 30)
def minute_hand_angle(minute):
return np.radians(90 - minute * 6)
def draw_clock(hour, minute):
hour_angle = hour_hand_angle(hour)
minute_angle = minute_hand_angle(minute)
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})
ax.set_xlim(-1.2, 1.2)
ax.set_ylim(-1.2, 1.2)
hour_hand_length = 0.75
ax.plot([0, hour_hand_length * np.cos(hour_angle)], [0, hour_hand_length * np.sin(hour_angle)], color='black', linewidth=5)
minute_hand_length = 1
ax.plot([0, minute_hand_length * np.cos(minute_angle)], [0, minute_hand_length * np.sin(minute_angle)], color='black', linewidth=3)
circle = plt.Circle((0, 0), 1, fill=False)
ax.add_artist(circle)
plt.show()
hour = int(input("Введите часы (0, 3, 6, 9, 12, 15, 18, 21, 24): "))
if hour % 3 != 0 or hour < 0 or hour > 24:
print("Некорректный ввод. Пожалуйста, введите корректное время.")
else:
draw_clock(hour, 0)
Ответ:
Uses GraphABC;
Var g:integer;
Begin
SetWindowSize(400,400);
SetFontSize(9);
TextOut(1,379, 'Введите время в часах (0,3,6,9,12,15,18,21,24): ');
Read(g);
TextOut(273,379,IntToStr(g));
SetPenWidth(3);
Circle(200,200,100);
SetPenColor(clDarkGray);
Line(200,200,200,103);
SetPenColor(clBlack);
Circle(200,200,3);
if (g=0) or (g=12) or (g=24) then
Begin
SetPenWidth(5);
Line(200,200,200,125);
End;
if (g=3) or (g=15) then
Begin
SetPenWidth(5);
Line(200,200,275,200);
End;
if (g=6) or (g=18) then
Begin
SetPenWidth(5);
Line(200,200,200,275);
End;
if (g=9) or (g=21) then
Begin
SetPenWidth(5);
Line(200,200,125,200);
End;
End.
Объяснение:
фото