Приблизительное время

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
program time;
uses
System;
var
Hour: integer;
R: integer := 0;
Hours : array [0..12] of string := ('полночь' ,'час', 'два', 'три', 'четыре', 'пять' , 'шесть', 'семь', 'весемь', 'девять', 'десять', 'одинадцать', 'двенадцать');
Nhours : array [1..12] of string := ('первого', 'второго', 'третьего', 'четвертого', 'пятого' , 'шестого', 'седьмого', 'восьмого', 'девятого', 'десятого', 'одинадцатого', 'двенадцатого');
begin
Hour := DateTime.Now.Hour;
case DateTime.Now.Minute of
59, 0, 1 : Write('Ровно ');
2..4:
begin
Write('Начало ');
R:= 1
end;
5, 6, 7:
begin
Write('Пять минут ');
R:= 1
end;
8..12:
begin
Write('Десять минут ');
R:= 1
end;
13..17:
begin
Write('Пятнадцать минут ');
R:= 1
end;
18..22:
begin
Write('Двадцать минут ');
R:= 1
end;
23..27:
begin
Write('Двадцать пять минут ');
R:= 1
end;
28..35:
begin
Write('Пол');
R:= 1
end;
36..42:
begin
Write('Без двадцати ');
end;
43..47:
begin
Write('Без пятнадцати ');
end;
48..52:
begin
Write('Без десяти ');
end;
53..56:
begin
Write('Без пяти ');
end;
57, 58:
begin
Write('Почти ');
end;
end;
if Hour <> 12 then Hour := Hour mod 12;
if R = 0 then
begin
Write(Hours[Hour+1]);
end
else
begin
Write(Nhours[Hour+1]);
end;
end.