IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> type time = record (тип запись)
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Доброй ночи! Народ, как сделать, не представляю вообще... Помогите, пожалуйста!

Дано время, описанное следующим образом:
type time = record
h:0..23;
m,s: 0..59
end;
Описать логическую функцию erlier(t1,t2) для проверки, предшествует ли время t1 времени t2 (в рамках суток) и проиллюстрировать её работу в программе.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


type
Time =
record
h : 0 .. 23;
m, s : 0 .. 59
end;

function Earlier(T1, T2 : Time) : Boolean;
begin
result := (T1.h < T2.h) or
((T1.h = T2.h) and (T1.m < T2.m)) or
((T1.h = T2.h) and (T1.m = T2.m) and (T1.s < T2.s));

// или так:
// result := ((T1.s * 60 + T1.m) * 60 + T1.h) < ((T2.s * 60 + T2.m) * 60 + T2.h);
end;

var
t_1 : Time = (h:12; m:15; s:55);
t_2 : Time = (h:22; m:17; s:55);
t_3 : Time = (h:12; m:15; s:50);

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage( 't_1 earlier than t_2 : ' + BoolToStr(Earlier(t_1, t_2), True) );
ShowMessage( 't_1 earlier than t_3 : ' + BoolToStr(Earlier(t_1, t_3), True) );
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> result := (T1.h < T2.h) or
((T1.h = T2.h) and (T1.m < T2.m)) or
((T1.h = T2.h) and (T1.m = T2.m) and (T1.s < T2.s));

Как-то на матрёшку похоже...
Мне больше нравится так:


if T1.h<>T2.h then Result := T1.h<T2.h
else
if T1.m<>T2.m then Result := T1.m<T2.m
else
if T1.s<>T2.s then Result := T1.s<T2.s


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Спасибо за помощь, постараюсь разобраться.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 21:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name