C++. Демонстрация использования цикла for в программах. Пример вычисления суммы ряда




Демонстрация использования цикла for в программах. Пример вычисления суммы ряда

 

В данной работе продемонстрировано применение циклического процесса для нахождения суммы ряда. Программа реализована на языке программирования C++ с использованием средств Microsoft Visual Studio.

 

Условие задачи

Используя оператор цикла с параметром for найти сумму ряда:

Выполнение

1. Создание проекта

Загрузить MS Visual Studio. Создать проект по шаблону «Visual C++ — Windows Forms Application«. Пример создания приложения по данному шаблону подробно описывается здесь.

 

2. Размещение элементов управления

В соответствии с условием задачи, в программе фигурирует переменная n, которую нужно ввести с клавиатуры. Поэтому, форма программы будет иметь вид, как изображено на рисунке 1.

Рисунок 1. Главная форма программы

На форме размещаются следующие элементы управления:

  • два элемента управления типа Label с именами label1 и label2;
  • элемент управления типа Button с именем button1;
  • элемент управления типа TextBox с именем textBox1.

 

3. Настройка свойств элементов управления

Пример создания формы и настройка свойств элементов управления более подробно описывается здесь.

В элементах управления настроить следующие свойства:

  • в элементе управления label1 свойство Text = «n = «;
  • в button1 свойство Text = «Вычислить«;
  • в Form1 свойство Text = «Сумма ряда«;
  • в label2 свойство Text = «Сумма ряда = «.

После настройки, форма программы примет вид как показано на рисунке 2.

Рисунок 2. Главная форма программы

 

4. Программирование события клика на кнопке «Вычислить«

При клике на кнопке «Вычислить» будет проводиться расчет суммы ряда.

В этом случае нужно запрограммировать событие Click элемента управления button1. Подробный пример программирования события Click описывается здесь.






Листинг обработчика события Click следующий:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
{
    float summa;
    int i, n;

    try
    {
        if (textBox1->Text == "") throw -1;

        // взять значение n
        n = n.Parse(textBox1->Text);

        // вычисление суммы
        summa = 0;
        for (i=1; i<=n; i++)
            summa = summa + (float)(1.0/i);

        // вывод результата на экран
        label2->Text = "Сумма ряда = " + summa.ToString();
    }
    catch (int e)
    {
        if (e == -1)
            label2->Text = "Ошибка! Не введено значение n";
    }
}

Для вычисления суммы ряда используется цикл for. Общий вид цикла:

for (инициализация; выражение; инкремент)
{
    последовательность_инструкций
}

где

  • инициализация – инструкция присваивания, которая устанавливает управляющую переменную цикла в начальное значение. Управляющая переменная цикла есть счетчиком. В нашем случае управляющей переменной цикла есть переменная с именем i. В начале переменной i присваивается значение 1 в соответствии с условием задачи;
  • выражение – условное выражение, в котором осуществляется проверка значения переменной i. Цикл выполняется до тех пор, пока значение элемента выражение есть истинным. В нашем случае осуществляется проверка i<=n;
  • инкремент – выражение, которое определяет изменение значения управляющей переменной цикла после каждой итерации. В нашем случае переменная i увеличивается на 1 (i++).