Разработка алгоритмов и их кодирование на алгоритмическом языке СИ
Автор: Бесстрашный Сын • Ноябрь 15, 2020 • Практическая работа • 1,003 Слов (5 Страниц) • 431 Просмотры
Научно-исследовательский университет
МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ
Институт дистанционного и дополнительного образования
Расчетно-графическая работа по курсу
«Программирование»
Тема: Разработка алгоритмов и их кодирование на алгоритмическом языке СИ
Выполнил: студент Екимов К. А.
Принял: преподаватель Батасова В. С.
Москва, 2020 год
Содержание
Раздел 1. Разработка циклических алгоритмов 3
Задача 1 3
Задача 2 6
Задача 3 9
Раздел 1. Разработка циклических алгоритмов
Задача 1
Условие
Клиент переводит на банковский̆ счет в начале каждого месяца А руб., банковская ежемесячная ставка р %. Определить, через сколько месяцев накопленная сумма превысит В руб., при условии, что начальный̆ вклад равен нулю. После N-го месяца вычисления прекратить, даже если требуемая сумма не будет получена.
Состав данных
Имя | Смысл | Тип | Структура |
Исходные данные | |||
MonthlyContrib | Ежемесячный взнос на счет | Вещественный | Переменная |
MonthlyRate | Ежемесячный процент по счету | Вещественный | Переменная |
TaskSummContrib | Желаемая сумма счета | Вещественный | Переменная |
LastMonthContrib | Срок жизни счета | Целый | Переменная |
SummContrib | Начальная сумма счета | Вещественный | Переменная |
Промежуточная переменная | |||
MonthlyProcContrib | Ежемесячный процент по счету, зависящий от текущего размера счета | Вещественный | Переменная |
Выходные данные | |||
i | Искомое количество месяцев, по прошествии которых, сумма счета будет соответствовать или превышать значение переменной TaskSummContrib | Целый | Переменная |
SummContrib | Итоговая сумма вклада | Вещественный | Переменная |
Блок-схема алгоритма
[pic 1]
Программа на СИ (консольное приложение)
#include <stdio.h>
void main (){
float MonthlyContrib, MonthlyRate, SummContrib = 0.0, TaskSummContrib, MonthlyProcContrib;
int LastMonthContrib;
printf("Укажите ежемесячный взнос по счету: ");
scanf("%f", &MonthlyContrib);
printf("Укажите ежемесячный процент по счету: ");
scanf("%f", &MonthlyRate);
printf("Укажите желаемую сумму накомпления по счету: ");
scanf("%f", &TaskSummContrib);
printf("Укажите срок жизни счета (в месяцах): ");
scanf("%d", &LastMonthContrib);
for (int i = 1; i <= LastMonthContrib; i ++){
SummContrib += MonthlyContrib;
MonthlyProcContrib = (SummContrib / 100) * MonthlyRate;
SummContrib += MonthlyProcContrib;
if (SummContrib >= TaskSummContrib){
printf("Сумма счета достигла желаемого значения за %d месяца (ев).\nСумма счета равняется %.2f руб\n", i, SummContrib);
break;
}
if (i == LastMonthContrib){
printf("Время жизни счета истекло!\nСумма счета составляет %.2f руб.\n", SummContrib);
...