Введение
В этом лабораторном практикуме вы научитесь вычислять текущую стоимость будущей суммы с использованием языка программирования C. Практикум охватывает основные шаги, включая ввод финансовых параметров (будущая стоимость, процентная ставка и период), а затем применение формулы текущей стоимости для расчета текущей стоимости. Практикум предоставляет пошаговое руководство с примерами кода, чтобы помочь вам понять и реализовать вычисление текущей стоимости на C.
Практикум демонстрирует, как использовать функцию scanf() для чтения пользовательского ввода, хранения его в виде чисел с плавающей запятой двойной точности, а затем выполнять вычисление текущей стоимости, используя формулу: Текущая стоимость (PV) = Будущая стоимость (FV) / (1 + Ставка)^Период. Вычисленная текущая стоимость затем выводится на консоль, позволяя вам увидеть результат вычисления.
Чтение будущей стоимости, ставки и периода
В этом шаге вы узнаете, как читать основные финансовые параметры для расчета текущей стоимости: будущую стоимость, процентную ставку и период.
Сначала создайте новый файл C для расчета текущей стоимости:
cd ~/project
nano present_value.c
Теперь напишем код для чтения входных значений:
#include <stdio.h>
#include <math.h>
int main() {
double future_value, rate, time;
printf("Введите будущую стоимость: ");
scanf("%lf", &future_value);
printf("Введите годовую процентную ставку (в десятичном виде): ");
scanf("%lf", &rate);
printf("Введите период (в годах): ");
scanf("%lf", &time);
printf("Ввод:\n");
printf("Будущая стоимость: %.2f\n", future_value);
printf("Процентная ставка: %.2f%%\n", rate * 100);
printf("Период: %.2f лет\n", time);
return 0;
}
Компилируем программу:
gcc -o present_value present_value.c -lm
Пример вывода при запуске программы:
Введите будущую стоимость: 1000
Введите годовую процентную ставку (в десятичном виде): 0.05
Введите период (в годах): 3
Ввод:
Будущая стоимость: 1000.00
Процентная ставка: 5.00%
Период: 3.00 лет
Этот код демонстрирует, как:
- Использовать
scanf()для чтения пользовательского ввода будущей стоимости, процентной ставки и периода - Хранить ввод как числа с плавающей запятой двойной точности
- Выводить введенные значения для подтверждения правильности ввода
PV = FV/(1+R)^T
В этом шаге вы реализуете вычисление текущей стоимости, используя финансовую формулу: Текущая стоимость (PV) = Будущая стоимость (FV) / (1 + Ставка)^Период.
Измените предыдущий файл present_value.c, включив в него вычисление:
nano ~/project/present_value.c
Обновите код, добавив вычисление текущей стоимости:
#include <stdio.h>
#include <math.h>
int main() {
double future_value, rate, time, present_value;
printf("Введите будущую стоимость: ");
scanf("%lf", &future_value);
printf("Введите годовую процентную ставку (в десятичном виде): ");
scanf("%lf", &rate);
printf("Введите период (в годах): ");
scanf("%lf", &time);
// Вычисление текущей стоимости
present_value = future_value / pow((1 + rate), time);
printf("\nРезультаты вычислений:\n");
printf("Будущая стоимость: %.2f\n", future_value);
printf("Процентная ставка: %.2f%%\n", rate * 100);
printf("Период: %.2f лет\n", time);
printf("Текущая стоимость: %.2f\n", present_value);
return 0;
}
Компилируйте и запустите обновлённую программу:
gcc -o present_value present_value.c -lm
./present_value
Пример вывода:
Введите будущую стоимость: 1000
Введите годовую процентную ставку (в десятичном виде): 0.05
Введите период (в годах): 3
Результаты вычислений:
Будущая стоимость: 1000.00
Процентная ставка: 5.00%
Период: 3.00 лет
Текущая стоимость: 862.07
Ключевые моменты в этом коде:
- Использование функции
pow()из<math.h>для вычисления (1 + ставка)^период - Реализация формулы текущей стоимости: PV = FV / (1 + R)^T
- Вывод подробных результатов вычислений
Вывод текущей стоимости
В этом шаге вы улучшите программу расчета текущей стоимости, добавив форматированный вывод и обработку ошибок для повышения удобства использования.
Обновите файл present_value.c, добавив улучшенное форматирование и валидацию:
nano ~/project/present_value.c
Измените код, добавив улучшенное форматирование вывода:
#include <stdio.h>
#include <math.h>
int main() {
double future_value, rate, time, present_value;
// Валидация ввода
printf("Калькулятор текущей стоимости\n");
printf("----------------------------\n");
printf("Введите будущую стоимость (должна быть положительной): ");
if (scanf("%lf", &future_value) != 1 || future_value <= 0) {
printf("Ошибка: Неверная будущая стоимость. Пожалуйста, введите положительное число.\n");
return 1;
}
printf("Введите годовую процентную ставку (в десятичном виде, например, 0.05 для 5%%): ");
if (scanf("%lf", &rate) != 1 || rate < 0) {
printf("Ошибка: Неверная процентная ставка. Пожалуйста, введите неотрицательное число.\n");
return 1;
}
printf("Введите период (в годах, должен быть положительным): ");
if (scanf("%lf", &time) != 1 || time <= 0) {
printf("Ошибка: Неверный период. Пожалуйста, введите положительное число.\n");
return 1;
}
// Вычисление текущей стоимости
present_value = future_value / pow((1 + rate), time);
// Форматированный вывод
printf("\n--- Расчет текущей стоимости ---\n");
printf("Будущая стоимость: $%.2f\n", future_value);
printf("Годовая ставка: %.2f%%\n", rate * 100);
printf("Период: %.2f лет\n", time);
printf("Текущая стоимость: $%.2f\n", present_value);
return 0;
}
Компилируйте и запустите обновлённую программу:
gcc -o present_value present_value.c -lm
./present_value
Пример вывода:
Калькулятор текущей стоимости
----------------------------
Введите будущую стоимость (должна быть положительной): 1000
Введите годовую процентную ставку (в десятичном виде, например, 0.05 для 5%): 0.05
Введите период (в годах, должен быть положительным): 3
--- Расчет текущей стоимости ---
Будущая стоимость: $1000.00
Годовая ставка: 5.00%
Период: 3.00 лет
Текущая стоимость: $862.07
Основные улучшения:
- Добавлена валидация ввода для предотвращения некорректных значений.
- Улучшен форматирование вывода с ясными метками.
- Улучшена обработка ошибок для пользовательского ввода.
- Добавлены описательные подсказки и сводка расчета.
Резюме
В этом лабораторном практикуме вы изучите, как получать необходимые финансовые параметры для расчета текущей стоимости, включая будущую стоимость, процентную ставку и период. Затем вы реализуете расчет текущей стоимости, используя финансовую формулу: Текущая стоимость (PV) = Будущая стоимость (FV) / (1 + Ставка)^Период. Практикум демонстрирует, как использовать язык программирования C для запроса данных у пользователя, выполнения расчета и отображения полученной текущей стоимости.



