Д.О. Игорь
?>

Идёт n-ая секунда года (31536000)определить какой по счёту день, час, минута и секунда. например: 1536036 секунда от начала года - это 17 дней 18 часов 40 минут 36 секунд. программа в pascal

Информатика

Ответы

Николаевич1033

var n:real;

   d,h,m,s:integer;

begin

 while (n <= 0) do Begin

   write('Введите n (n > 0): ');

   read(n);

 end;

 

 

 d := floor( n / ((60 * 60 * 24)) );

 n := n - (60 * 60 * 24)*d;

 

 h := floor( n / (60 * 60) );

 n := n - (60 * 60)*h;

 

 m := floor( n / 60 );

 n := n - (60)*m;

 

 s := floor(n);

 

 write(d+' дней ',h+' часов ',m+' минут ', s+' секунд.');

end.


Идёт n-ая секунда года (31536000)определить какой по счёту день, час, минута и секунда. например: 15
laktionova-natal

Цикл while i > 1 do begin означает что он будет выполняться до тех пор, пока i > 1. i изначально равно 7, и в конце каждого выполнения число уменьшается на единицу (i:=i-1). i div 2 означает деление числа на 2 с целым остатком. Исходя из вышесказанного имеем:

(Каждое выполнение цикла буду обозначать как №)

№1: 7>1 (Истина)

S:=0+3=3

i=6

№2: 6>1 (Истина)

S:=3+3=6

i:=5

№3: 5>1 (Истина)

S:=6+2=8

i:=4

№4: 4>1 (Истина)

S:=8+2=10

i:=3

№5: 3>1 (Истина)

S:=10+1=11

i:=2

№6: 2>1 (Истина)

S:=11+1=12

i:=1

№7: 1>1 (Ложь)

Вывод числа S со значением 12.

ответ: 12.

Test Станислав
Смотрим на этот фрагмент кода:
day := 1; m := Dat [1]
нц для k от 2 до 10
  если Dat[k] >= m то
    m := Dat[k]; day := k
  все
кц

Что происходит? Сначала day = 1, m = Dat[day]. Затем в цикле для каждого k сравнивается Dat[k] с m, и если Dat[k] не меньше его, то в day записывается k, а в m - Dat[k]. Значит, после завершения цикла в переменной m будет записано максимальное из всех значений Dat[i], а в day - номер дня, в который в последний раз был достигнут максимум.

Максимальное значение равно 7, в последний раз появилось в Dat[9], поэтому day = 9.

Команда вывод day выводит на экран значение переменной day, которое, как мы уже выяснили, равно 9.

ответ. 9.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Идёт n-ая секунда года (31536000)определить какой по счёту день, час, минута и секунда. например: 1536036 секунда от начала года - это 17 дней 18 часов 40 минут 36 секунд. программа в pascal
Ваше имя (никнейм)*
Email*
Комментарий*