Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прогрессии и ряды.doc
Скачиваний:
5
Добавлен:
05.11.2018
Размер:
189.95 Кб
Скачать
    1. Расчет геометрической прогрессии

Пример программы расчета значений 5 членов геометрической прогрессии 2, 6, 18, … (a0 = 2, r = 3) с вещественными значениями членов и нахождения суммы ее членов приведен ниже.

#include "stdafx.h"

#include <conio.h>

#include <locale.h>

int _tmain(int argc, _TCHAR* argv[])

/* Программа расчета значений 10 членов геометрической

прогрессии с номерами от 0 до 9

2, 6, 18, . . . и нахождения суммы ее членов */

{

const

int n = 5;/* Количество членов геометрической прогрессии */

int

i; /* Номер члена прогрессии */

double

Sum; /* Сумма членов прогрессии */

double

ai; /* Значение i-го члена прогрессии */

setlocale(LC_ALL, "russian"); /* установка русского режима */

printf("Программа расчета значений %d членов \n",n);

printf("геометрической прогрессии 2, 6, 18, . . .\n");

printf("с номерами от 0 до %d и нахождения \n", n - 1);

printf("суммы ее членов\n");

printf("\n");

printf("Значения членов геометрической прогресси:\n");

Sum = 0.0; /* Начальное значение суммы членов прогрессии */

ai = 2.0; /* Первый член a0 = 3 */

/* Задание i - номера члена прогрессии */

for (i = 0; i <= n - 1; i++)

{

/* Печать i-го члена */

printf("%4d) =%3f\n",i,ai);

Sum = Sum + ai; /* Увеличение суммы на очередной член */

ai = ai * 3.0; /* Расчет значения следующего члена r = 3 */

}

printf("\nСумма членов прогрессии = %f\n",Sum);

/*Завершение выполнения программы*/

printf("\nНажмите любую клавишу\n");

_getch();

return 0;

}

Наглядный тест:

    1. Расчет факториала

Факториа́л числа n (обозначается n!, произносится эн факториа́л) — произведение всех натуральных чисел до n включительно:

.

По определению полагают 0! = 1. Факториал определён только для целых неотрицательных чисел.

Последовательность факториалов положительных целых чисел начинается так:

1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600, 6227020800, …

Факториалы часто используется в комбинаторике, теории чисел и функциональном анализе.

С ростом n значение факториала растет очень быстро! Поэтому расчет факториала 13! приведет к переполнению значения.

Входная и выходная информация программы определяется макетами:

Программа расчета n!

Введите значение аргумета факториала

Тест № 1: Тест № 2: Тест № 3: Тест № 4:

5 0 13 -2

5! = 120 0! = 1 Не могу рассчитать 13! Не могу рассчитать -2!

Выходная информация программы:

int f; //Значение факториала, если его можно рассчитать

Входная информация программы:

int n; //Аргумент факториала

Наглядные тесты:

n=5

f

i

1

1

1

2

2

3

6

4

24

5

120

6

n=0

f

i

1

1

n=1

f

i

1

1

1

2

Пример программы расчета значений факториала n для MVS2005 приведен ниже (комментарии в стиле C++):

#include "stdafx.h"

#include <conio.h>

#include <locale.h>

//Программа расчета значений n!

int main (void)

{

int

n; //Аргумент факториала

int

i; //Вспомогательная переменная

int

f; //Значение факториала, если его можно рассчитать

setlocale( LC_ALL, "russian" ); //Русский язык

printf ("Программа расчета n! \n");

printf ("Введите значение аргумента факториала \n");

scanf("%i",&n);

//Контроль n

if ((n<0)||(n>12))

{

printf ("Не могу рассчитать %i! \n", n);

return -1;

}

//Расчет факториала при корректном n

f = 1; //Начальное значение факториала

i = 1;

while(i<=n)

{

f = f * i; //i-ое значение факториала

i++;

}

//Печать факториала n

printf ("%i! = %i \n", n, f);

/*Завершение выполнения программы*/

printf("\nНажмите любую клавишу\n");

_getch();

return 0;

}