Вопрос задан 15.07.2023 в 02:22. Предмет Информатика. Спрашивает Кузьмина Наталья.

СРОЧНО ПАСКАЛЬ Даны значения двух моментов времени: часы, потом минуты и секунды. Известно, что

второй момент времени наступил не раньше первого и разница между ними менее суток. Определите, сколько секунд прошло между двумя моментами времени. В первой строке входных данных находятся три целых числа — часы, минуты и секунды первого момента времени. Во второй строке три числа, характеризующие второй момент времени. Число часов лежит в диапазоне от 0 до 23, число минут и секунд — от 0 до 59. Выведите число секунд между двумя моментами времени. Пример входных данных 1 1 1 2 2 2 1 2 30 1 3 20 Пример выходных данных 3661 50
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Топская Анастасия.

xD

uses crt;

var

dt,t1,t2:LongInt;

function GetTime:LongInt;

var

substr,str:string;

ERR,step,spacepos,code,num:Integer;

t:longint;

begin

ERR:=0;

repeat

t:=0;

step:=1;

if ERR<>0 then writeln('Nepravilnie dannie, povtorite vvod:');

ERR:=0;

readln(str);

str:=str+' ';

repeat

spacepos:=pos(' ',str);

if (spacepos<>0) then

begin

substr:=copy(str,1,spacepos-1);

delete(str,1,spacepos);

val(substr,num,code);

if code=0 then

begin

if (step=1) then begin if (num>=0) and (num<=23) then t:=t+num*60*60 else ERR:=3; end;

if (step=2) then begin if (num>=0) and (num<=59) then t:=t+num*60 else ERR:=3;end;

if (step=3) then begin if (num>=0) and (num<=59) then t:=t+num else ERR:=3;end;

inc(step);

end

else ERR:=2;

end else ERR:=1;

until ((step=4) or (err<>0));

until err=0;

GetTime:=t;

end;

begin

writeln('pervoe vremy:');

t1:=GetTime;

writeln('vtoroe vremy:');

t2:=GetTime;

if t2>=t1 then dt:=t2-t1 else dt:=t2-t1+24*60*60;

writeln('raznica v sekundah: ');

writeln(dt);

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам необходимо вычислить общее количество секунд для каждого из моментов времени и затем вычислить разницу между ними.

Вот пример решения на языке Pascal:

pascal
program TimeDifference; var hours1, minutes1, seconds1: integer; hours2, minutes2, seconds2: integer; totalSeconds1, totalSeconds2, difference: integer; begin // Ввод данных первого момента времени readln(hours1, minutes1, seconds1); // Ввод данных второго момента времени readln(hours2, minutes2, seconds2); // Вычисление общего количества секунд для первого момента времени totalSeconds1 := hours1 * 3600 + minutes1 * 60 + seconds1; // Вычисление общего количества секунд для второго момента времени totalSeconds2 := hours2 * 3600 + minutes2 * 60 + seconds2; // Вычисление разницы между моментами времени if totalSeconds2 >= totalSeconds1 then difference := totalSeconds2 - totalSeconds1 else difference := (24 * 3600 - totalSeconds1) + totalSeconds2; // Вывод разницы в секундах writeln(difference); end.

При вводе значений 1 1 1 и 2 2 2 программа выведет результат 3661.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос