Програмна реалізація алгоритмів циклічних структур - Формування навичок програмування з використанням алгоритмічної мови С++

Розгалужені алгоритми бувають двох типів: Повні (If...Else) і неповні (If).

Неповне розгалуження.

If (x > 100)

Сout << x << endl;

Прикладом роботи цієї програми може слугувати: if x<100, то програма завершує свою роботу і закривається.

Синтаксис:

If (x>100)

{

Блок операторів

}

Блок-схема:

Рис. 3.2. Блок-схема, що ілюструє виклик оператора If

Повне розгалуження.

Буває необхідно зробити одну дію у разі виконання деякої умови і іншу дію у разі не виконання.

Синтаксис:

If (...)

{

Блок операторів

}

Else

{

Блок операторів

}

Блок-схема:

Рис. 3.2.A. Блок-схема, що ілюструє виклик оператора If...Else

1. Надрукувати "стовпчиком" квадрати всіх цілих чисел від 10 до b (значення b вводиться з клавіатури; b>=10);

Вхідні дані:

- Число типу unsigned (b >= 10).

Вихідні дані:

- Текстове повідомлення (квадрати чисел b >= 10).

Текст програми:

#include <iostream>

Using namespace std;

Int main()

{

Setlocale(LC_ALL, "Russian");

Unsigned b;

Cout << "Программа будет выводить квадраты целых чисел до заданного числа b > 10: ";

Cin >> b;

For (unsigned i = 10; i <= b; ++i)

{

Cout << "pow(2, " << i << ") = " << i * i << ' ';

}

Cout << " ";

System("pause");

Return 0;

}

Результат:

2. Знайти добуток всіх цілих чисел від 8 до 15;

Вхідні дані:

- Відсутні.

Вихідні дані:

- Текстове повідомлення (Добуток чисел від 8 до15).

Текст програми:

#include <iostream>

Using std::cout;

Int main()

{

Setlocale(LC_ALL, "Russian");

Unsigned dob = 1;

For (unsigned i = 8; i <= 15; ++i)

Dob *= i;

Cout << "Произведение чисел от 8 до 15 = " << dob << " ";

System("pause");

Return 0;

}

Результат:

3. Обчислити і вивести на екран у вигляді таблиці значення функції F на інтервалі від Хнач. до Хкон. з кроком dX.

Вхідні дані:

- Три числа типу double(початкове xn, кінцеве xk, крок dx).

Вихідні дані:

- Текстове повідомлення (значення функції F на вибраному інтервалі).

Текст програми:

#include <iostream>

Using std::cin;

Using std::cout;

Int main()

{

Setlocale(LC_ALL, "Russian");

Double xn, xk, dx;

Cout << "Введите начальное значение: "; cin >> xn;

Cout << "Введите конечное значение: "; cin >> xk;

Cout << "Введите шаг: "; cin >> dx;

Cout << "X Y ";

For (double X = xn; X <= xk; X += dx)

{

Double Y;

Y = ((-X * X) + 1);

Cout << X << ' ' << Y << ' ';

}

Cout << " ";

System("pause");

Return 0;

}

Результат:

4. Обчислити суму при х = 2. Операцію піднесення до степені не використовувати.

Вхідні дані:

- Відсутні.

Вихідні дані:

- Текстове повідомлення (результат виразу).

Текст програми:

#include <iostream>

Using std::cout;

Int main()

{

Setlocale(LC_ALL, "Russian");

Double sum = 0;

Double x = 2, xi = x;

For (unsigned i = 1; i <= 11; ++i)

{

Sum += (xi / i);

Xi = (xi * (x * x));

}

Cout << "Реультат операции: " << sum << " ";

System("pause");

Return 0;

}

Результат:

5. Відома маса кожного предмету з деякого набору предметів. Визначити середню масу.

Вхідні дані:

- Відсутні.

Вихідні дані:

- Текстове повідомлення (середня маса та кількість елементів).

Текст програми:

#include <iostream>

#include <ctime>

Using std::cin;

Using std::cout;

Int main()

{

Setlocale(LC_ALL, "Russian");

Const int N = 10;

Srand((unsigned)time(NULL));

Int a[N], qua = 0;

Double middle = 0.0;

For (unsigned n = 0; n < N; ++n)

{

A[n] = rand() % N;

Cout << a[n] << ' ';

Middle += (double)a[n] / N;

++qua;

}

Cout << " Средняя масса: " << middle;

Cout << " Количесвто елементов: " << qua;

Cin. get();

Return 0;

}

Результат:

6. Розглянемо послідовність, утворену дробами: 1/1, 2/1, 3/2, ..., у якій чисельник (знаменник) наступного члена послідовності отримується складанням чисельників (знаменників) двох попередніх членів. Чисельники двох перших дробів дорівнюють 1 і 2, знаменники 1 і 1. Отримати перші n членів цієї послідовності.

Вхідні дані:

- Число типу unsigned(кількість дробів, що будуть виводитись).

Вихідні дані:

- Текстове повідомлення (дроби).

Текст програми:

#include <iostream>

Using std::cin;

Using std::cout;

Int main()

{

Setlocale(LC_ALL, "Russian");

Unsigned n;

Double sum = 0;

Int a = 1, b = 1, c = 1, z = 2;

Cout << "Введите число: "; cin >> n;

Cout << a << " / " << b << ' ';

Cout << c << " / " << z << ' ';

For (unsigned i = 0; i < n; ++i)

{

C = a + c;

Z = b + z;

A = c - a;

B = z - b;

Cout << c << " / " << z << ' ';

}

Cout << " ";

System("pause");

Return 0;

}

Результат:

    7. Скласти програму піднесення натурального числа до третьої степені, враховуючи наступну закономірність: 13 = 1 23 = 3 + 5 33 = 7 + 9 + 11 43 = 13 + 15 + 17 + 19 53 = 21 + 23 + 25 + 27 + 29

Вхідні дані:

- Число типу unsigned(число до якого буде виводитись 3-й ступінь).

Вихідні дані:

- Текстове повідомлення (таблиця чисел в 3-му ступені).

#include <iostream>

#include <math. h>

Using std::cin;

Using std::cout;

Int main()

{

Setlocale(LC_ALL, "Russian");

Double res;

Unsigned a;

Cout << "Выводить числа в третей степени до числа: "; cin >> a;

Const unsigned x = 3;

For (unsigned i = 1; i <= a; ++i)

{

Res = pow(x, i);

Cout << "pow(3, " << i << ") = " << res << ' ';

}

Cout << " ";

System("pause");

Return 0;

}

Результат:

Похожие статьи




Програмна реалізація алгоритмів циклічних структур - Формування навичок програмування з використанням алгоритмічної мови С++

Предыдущая | Следующая