М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
sspamit
sspamit
28.11.2022 18:39 •  Информатика

(pascal) нужно составить программу подсчета количества часов, минут и секунд в данном числе суток. число суток ввести с клавиатуры. неправильно считает секунды, в чём ошибка? var s,m,h,days: integer; begin writeln('введите кол-во дней'); read(days); s: =86400; m: =s div 60; h: =m div 60; for var i: =1 to days do s: =s*days; m: =m*days; h: =h*days; writeln(s,' — секунд в ',days,' днях'); writeln(m,' — минут в ',days,' днях'); writeln(h,' — часов в ',days,' днях'); end.

👇
Ответ:
Chuclplllpl
Chuclplllpl
28.11.2022

Секунды, нужно считать также как минуты и часы без цикла.

Закомментируйте строчку с циклом for var i =1 to days do...

4,4(80 оценок)
Ответ:
Mished
Mished
28.11.2022
Конечно! Давайте разберем эту программу пошагово, чтобы понять, в чем ошибка и как ее исправить.

Впервую очередь, посмотрим на объявление переменных:
var s, m, h, days: integer;
Здесь объявляются переменные s, m, h, days типа integer, которые, как я понимаю, будут использоваться для хранения количества секунд, минут, часов и дней соответственно.

Теперь перейдем к основной части программы:
writeln('введите кол-во дней');
read(days);
Здесь выводится сообщение "Введите кол-во дней" и значение вводится с клавиатуры и сохраняется в переменной days.

s := 86400;
m := s div 60;
h := m div 60;
Здесь переменной s присваивается значение 86400 (количество секунд в сутках), затем с помощью оператора div значения s и m делятся на 60, чтобы получить количество минут и часов соответственно.

Теперь у нас есть цикл for, который будет выполняться от 1 до days, где days - введенное нами значение количества дней:
for var i := 1 to days do begin
s := s * days;
m := m * days;
h := h * days;
end;
В каждой итерации цикла счетчик i не используется, а вместо этого переменные s, m, h умножаются на days. Цель этого цикла, вероятно, заключается в том, чтобы умножить количество секунд, минут и часов в сутках на количество дней.

В завершении программы выводятся значения переменных s, m и h, которые, я полагаю, соответствуют количеству секунд, минут и часов в заданном количестве дней.

Однако, в данной программе есть ошибка. Использование цикла счетчика i не является необходимым, поскольку мы уже умножаем переменные s, m, h на значение days. Если мы оставим этот цикл без изменений, то каждое значение будет умножаться на days еще раз для каждой итерации цикла, что приведет к неправильным результатам.

Исправим это. Удалите весь цикл и оставьте только вывод результатов:
writeln(s, ' — секунд в ', days, ' днях');
writeln(m, ' — минут в ', days, ' днях');
writeln(h, ' — часов в ', days, ' днях');

В результате исправления ваша программа будет выглядеть следующим образом:
```
var
s, m, h, days: integer;
begin
writeln('Введите кол-во дней');
read(days);

s := 86400;
m := s div 60;
h := m div 60;

writeln(s, ' — секунд в ', days, ' днях');
writeln(m, ' — минут в ', days, ' днях');
writeln(h, ' — часов в ', days, ' днях');
end.
```

Теперь программа должна правильно подсчитывать количество секунд, минут и часов в заданном количестве дней.
4,6(47 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ