Часто в программе необходимо реализовать выбор более чем из двух вариантов. Множественный выбор можно реализовать при помощи нескольких инструкций if, вложенных одна в другую.
Рассмотрим пример вычисления дохода по вкладу в банке. Обычно, процент дохода зависит от суммы вклада - чем больше сумма, тем больше процент. Пусть, если сумма вклада меньше 10 тыс. руб., то процент – 8, от 10 до 50 тыс. руб. – процент – 8,5, от 50 до 100 тыс. руб. – 9.5, свыше 100 тыс. руб. – 10,5. Таким образом, в зависимости от величины вклада, необходимо выбрать одно значение процентной ставки из четырех возможных.
Алгоритм выбора процентной ставки приведен на рис. 6.1.
Если внимательно присмотреться, то на приведенном алгоритме можно увидеть три алгоритмические структуры, соответствующие инструкции if, которые "вложены" одна в другую. В ветку else первой инструкции if вложена вторая инструкция if, в ветку else которой вложена еще одна инструкция if. В итоге алгоритм разветвляется на четыре направления.
Текст программы Доход приведен в листинге 1.5.
Листинг 1.5. Доход по вкладу
static void Main(string[] args)
{
double sum; // сумма вклада
int period; // срок вклада, мес.
double pr; // процентная ставка
double profit; // доход
double total; // сумма в конце срока
string st;
Console.Write("Доход\n");
Console.Write("Сумма, руб. >> ");
sum = System.Convert.ToDouble(Console.ReadLine());
Console.Write("Срок, мес. >> ");
period = System.Convert.ToInt32(Console.ReadLine());
if (sum < 10000)
pr = 8.0;
else
if (sum < 50000)
pr = 8.5;
else
if (sum < 100000)
pr = 9.0;
else
pr = 10.5;
// т.к. ставка процентов годовых,
// а срок вклада в месяцах, вычислим процентов в месяц
profit = sum * (pr / 12 / 100) * period;
total = sum + profit;
Console.Write("---------------------\n");
Console.Write("Сумма: {0,6:n} руб.\n", sum);
Console.Write("Срок: {0} мес.\n\n", period);
Console.Write("Процентная ставка: {0,5:n}%\n", pr);
Console.Write("Доход: {0,6:n} руб.\n", profit);
Console.Write("Сумма в конце срока вклада: {0,6:n} руб.\n\n", total);
Console.Write("Press any key...");
Console.ReadKey();
}
Заданиe
По аналогии с приведенной программой, приведенной в этом уроке, напишите программу, при помощи которой можно вычислить массу стержня. Исходными данными для программы являются длинна и диаметр стержня (в миллиметрах) и номер материала стержня. Программа должна запросить у пользователя размеры стержня и номер материала, после чего вывести объем стержня в куб. сантиметрах и его массу в граммах.
Следующий урок
Предыдущий урок
Урок 5. Выбор действия. Инструкция IF