Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4lab.doc
Скачиваний:
4
Добавлен:
22.04.2019
Размер:
664.58 Кб
Скачать

5. Результаты работы программ:

2. 4_2: Вычислить сумму ряда 1 - 1/2 +1/3 - ... +1/999 - 1/1000

  1. слева - направо

  2. слева - направо, сначала все положительные, затем все отрицательные и вычесть из положительных отрицательные

  3. справа - налево

  4. справа - налево, сначала все положительные, затем все отрицательные и вычесть из положительных отрицательные

(0.603097183059945296917232371458)

3. Алгоритм решения задачи:

Для вычисления суммы ряда запускается цикл, в заданиях 2 и 4 положительные и отрицательные элементы суммируются по отдельности, и лишь потом находится их разница.

4. Текст программы решения задачи:

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <iostream>

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

{

setlocale(LC_ALL,"russian");

//Объявление переменных

int i=0;

float summa=0;

float intermediateValue=0;

float positive=0;

float negative=0;

printf("Вычисление суммы ряда 1 - 1/2 +1/3 - ... +1/999 - 1/1000 \n");

//Вычисление суммы ряда слева-направо

printf("\n");

i=1;

while (i<=1000)

{

intermediateValue = (i % 2 == 0)? (float)-1 /i : (float)1 / i ;

summa = summa+intermediateValue;

i=i+1;

}

printf("1)Cумма ряда слева-направо равняется %f\n", summa);

/*слева - направо, сначала все положительные, затем все

отрицательные и вычесть из положительных отрицательные*/

printf("\n");

i = 1;

summa=0;

while (i <= 1000)

{

intermediateValue = (i % 2 == 0)? (float)-1 /i : (float)1 / i ;

if (intermediateValue > 0)

positive = positive + intermediateValue;

else

negative = negative + intermediateValue;

i=i+1;

}

summa = positive - negative;

printf("2)Сумма положительных равняется %f , отрицательных %f , а разность положительных и отрицательных %f \n", positive, negative, summa);

//справа - налево

printf("\n");

i=1000;

summa=0;

while (i>=1)

{

intermediateValue = (i % 2 == 0)? (float)-1 /i : (float)1 / i ;

summa = summa+intermediateValue;

i=i-1;

}

printf("3)Cумма ряда справа-налево равняется %f\n", summa);

/*справа - налево, сначала все положительные, затем все

отрицательные и вычесть из положительных отрицательные*/

printf("\n");

i = 1000;

summa=0;

positive = 0;

negative = 0;

while (i >= 1)

{

intermediateValue = (i % 2 == 0)? (float)-1 /i : (float)1 / i ;

if (intermediateValue > 0)

positive = positive + intermediateValue;

else

negative = negative + intermediateValue;

i=i-1;

}

summa = positive - negative;

printf("4)справа - налево, Сумма положительных равняется %f , отрицательных %f , а разность положительных и отрицательных %f \n", positive, negative, summa);

getchar();

getchar();

return 0;

}

5. Результаты работы программ:

2. Задание 11: Деление числа А на число В с произвольной точностью. (Деление в столбик) 32/9.3 = 3.4408602150537

Вычисляется F = INT(A/B), а затем A i = (Ai-1 - F B) 10

3. Алгоритм решения задачи: После ввода данных, запускается цикл - счетчик, в ходе которого находятся числа, которые идут после запятой, при делении A на B

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]