Через сколько дней в зоне заражения уровень радиации упадет до безопасного значения в 100 единиц, если начальное значение nZ и каждый день оно уменьшается на 5% по отношению к предыдущему дню — Pascal(Паскаль)

{   Через сколько дней в зоне заражения уровень радиации упадет до
    безопасного значения в 100 единиц, если начальное значение
    NZ и каждый день оно уменьшается на 5% по отношению к предыдущему
    дню.

    ╔════════════════════╤══════════╤══════════╤════════╤════════╗
    ║                    │   1      │    2     │   3    │  4     ║
    ╠════════════════════╪══════════╪══════════╪════════╪════════╣
    ║ Начальное значение │  1 000   │   10 000 │ 88 000 │ 20 000 ║
    ╟────────────────────┼──────────┼──────────┼────────┼────────╢
    ║ Срок (дней)        │  45      │   90     │ 133    │ 104    ║
    ╚════════════════════╧═════════════════════╧════════╧════════╝


program 6;
uses crt;
var
  nachyroven, prozent, i : Real;
  dni : Word;
begin
ClrScr;
     Write('Введите нач. знач. уровня радиации: ');
     ReadLn(nachyroven);
     prozent := 5;
     dni := 0;
     i := 0;
      if nachyroven <= 100 then
begin
      TextColor(Red);
      GotoXY(15,5);
      WriteLn('"Вы ввели некорректные данные (число не может равняться,');
      GotoXY(15,6);
      WriteLn(' либо быть меньше, чем сто).');
      GotoXY(15,7);
      WriteLn(' Попробуйте перезапустить программу и повторить снова."')
end
      else
begin
       repeat
         i := (nachyroven / 100) * prozent;
         nachyroven := nachyroven - i;
         Inc(dni)
       until  nachyroven <= 100;
     WriteLn('Срок (дней): ', dni)
end;
     WriteLn;
     Write('Press Enter');
     ReadLn
end.

Leave a Comment

9 + = 16