В банке открыт счет. Банк ежегодно начисляет фиксированный процент от вклада. Соответственно увеличивается сумма вклада. Составить программу, которая рассчитывает величину вклада и выводит эту величину для каждого года, пока величина вклада не увеличится вдвое. Для решения этой задачи предусмотреть клетки для ввода первоначальной величины вклада, учетной ставки процента от вклада, года помещения вклада в банк, а также для вывода года, когда сумма первоначального вклада удвоится.
Первое, что делаем, размечаем форму, определяем те ячейки, которые будут использоваться для ввода данных и определяем те, где будет выводиться информация. Для удобстава пользователя размещаем кнопку на листе.
Для входных данных будут использоваться ячейки 2,1; 2,2; 2,3.
А дальше в код.
Первое, что нужно сделать — определить переменные для работы.
В соответствии с названиями:
- year_put — Год когда был открыт счет в банке
- vklad — Размер вклада (первоначальный)
- stavka — Ставка.
- add_sum — Сумма, которая добавляется к вкладу
- current_sum — текущая сумма
- i — Счетчик + та переменная, с помощью которой вычисляется год + та переменная с помощью которой вычисляется ячейка, куда писать результаты вычислений
В переменные записываются значения ячеек с листа, а в current_sum пишется vklad, так как на первом этапе они равны.
i = 6, потому что будем писать с 6 ячейки. По условию задачи, нужно считать пока сумма вклада не будет в 2 раза больше чем первоначальный вклад. Это условие и прописываем в цикл While. Внутри цикла пишем в ячейки (i,1-2-3) сначала год (увеличив его и отняв начальное значение i, я делаю так что бы не использовать еще одну переменную). Дальше высчитываем сумму которая будет добавлена и пишем эту сумму на лист. Далее выводим полную сумму, которая сейчас на счете она получается из текущей + сумма, которая будет добавлена. Остается только поместить в current_sum новое значение. Ну и увеличить счетчик.
Таким образом полный код будет таким:
Sub Лист2_Кнопка1_Щелчок()
Dim year_put, vklad As Integer
Dim stavka, add_sum, current_sum As Double
year_put = Cells(2, 1).Value
stavka = Cells(2, 3).Value
vklad = Cells(2, 2).Value
current_sum = vklad
i = 6
While ((current_sum < vklad * 2))
Cells(i, 1).Value = year_put + i - 5
add_sum = 0.01 * stavka * current_sum
Cells(i, 2).Value = add_sum
Cells(i, 3).Value = add_sum + current_sum
current_sum = Cells(i, 3).Value
i = i + 1
Wend
End Sub
Пример работы программы (Excel 2010)