Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть...

Тематика Информатика
Уровень 10 - 11 классы
банковский вклад проценты округление Паскаль программирование вычисления цикл алгоритм целые числа прирост капитала
0

Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается. Каждый год сумма вклада становится больше. Определите, через сколько лет вклад составит не менее y рублей. Программа получает на вход три натуральных числа: x, p, y и должна вывести одно целое число. ТОЛЬКО НА ПАСКАЛЕ

avatar
задан 8 дней назад

2 Ответа

0

Для решения задачи на языке программирования Паскаль, необходимо написать программу, которая будет моделировать ежегодное начисление процентов на вклад и отбрасывание дробной части копеек. Мы будем использовать цикл для вычисления суммы вклада каждый год до тех пор, пока она не достигнет или превысит заданное значение. Вот пример программы на Паскале:

program BankDeposit;

var
  x, p, y: LongInt;
  years: Integer;
  current_amount: LongInt;

begin
  { Ввод начальных данных }
  ReadLn(x, p, y);

  { Инициализация начальных значений }
  current_amount := x;
  years := 0;

  { Цикл для расчета суммы вклада по годам }
  while current_amount < y do
  begin
    { Увеличение вклада на p процентов }
    current_amount := current_amount + (current_amount * p div 100);

    { Увеличение счетчика лет }
    Inc(years);
  end;

  { Вывод количества лет }
  WriteLn(years);
end.

Объяснение программы:

  1. Переменные:

    • x: начальная сумма вклада в рублях.
    • p: процентная ставка, на которую увеличивается вклад ежегодно.
    • y: целевая сумма, которую необходимо достичь.
    • current_amount: текущая сумма вклада, которая обновляется каждый год.
    • years: количество лет, необходимое для достижения или превышения целевой суммы.
  2. Ввод данных:

    • Используется ReadLn для ввода начальных значений x, p и y.
  3. Цикл while:

    • Продолжается до тех пор, пока current_amount не станет равной или больше y.
    • Внутри цикла каждый год увеличиваем current_amount на p процентов. Для этого используем целочисленное деление, чтобы автоматически отбрасывать дробную часть (копейки).
    • Увеличиваем счетчик years на 1 каждый год.
  4. Вывод результата:

    • После выхода из цикла выводим количество лет, необходимое для достижения цели.

Эта программа корректно учитывает условия задачи и использует целочисленное деление для отбрасывания дробной части копеек, что соответствует заданию.

avatar
ответил 8 дней назад
0

Программа на Паскале может быть следующей:

program Deposit;

var
  x, p, y, years: integer;

begin
  readln(x, p, y);
  years := 0;
  
  while x < y do
  begin
    x := x + (x * p) div 100;
    years := years + 1;
  end;
  
  writeln(years);
end.

Эта программа считывает значения x, p, y и затем в цикле увеличивает сумму вклада x каждый год на p процентов, отбрасывая дробную часть. Цикл продолжается до тех пор, пока сумма вклада не станет больше или равна у. После этого программа выводит количество лет, через которое вклад станет не менее y рублей.

avatar
ответил 8 дней назад

Ваш ответ

Вопросы по теме