Задача на систему циклов - Pascal
Формулировка задачи:
Доброго времени суток!
Хочу попросить помощи в решении данной задачи, т.к. у меня выходит очень длинный скрипт.
Задача:
Никола Тесла очень любил эксперименты с электричеством. Проведя со своим помощником первый успешный опыт при силе тока 0,001 Ампер в понедельник первого числа, Тесла ежедневно увеличивал силу тока в 1,5 раза, а его помощник втайне уменьшал в конце каждой недели силу тока на 0,005 Ампер. Какого числа Тесла лишится своего помощника, если сила тока в 0,2 Ампер для него смертельна?
Буду очень благодарен!
Решение задачи: «Задача на систему циклов»
textual
Листинг программы
const A = 0.001; B = 0.2; M = 1.5; D = 0.005; var amp: Real; i: Word; begin amp := A; i := 1; repeat Inc(i); amp := amp * M; if amp >= B then Break; // могло так случиться, что уменьшать уже некому if i mod 7 = 0 then amp := amp - D; until False; WriteLn('ANSWER - ', i, ': ', amp:0:5); end.
Объяснение кода листинга программы
- Объявляются константы:
-
A
со значением 0.001 -B
со значением 0.2 -M
со значением 1.5 -D
со значением 0.005 - Объявляются переменные:
-
amp
типа Real -i
типа Word - Присваивается значение переменным:
-
amp
присваивается значениеA
-i
присваивается значение 1 - Начинается цикл
repeat
1. Увеличивается значение переменнойi
на 1 (Inc(i)) 2. Умножается значение переменнойamp
наM
3. Проверяется условие, если значение переменнойamp
больше или равноB
, то происходит выход из цикла (Break) 4. Проверяется условие, если остаток от деления значения переменнойi
на 7 равен 0, то к значению переменнойamp
прибавляется-D
- Цикл продолжается до тех пор, пока не будет выполнено условие
False
(при этом фактический выход осуществляется по командеBreak
) - Выводится на экран результат в виде строкового сообщения, которое включает значения переменных
i
иamp
с округлением до 5 знаков после запятой. Надеюсь, это поможет!
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д