Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3 С++.doc
Скачиваний:
2
Добавлен:
15.11.2019
Размер:
213.5 Кб
Скачать

Задание на выполнение лабораторной работы

Составить и отладить программу решения задачи согласно приведенным в табл. 2 вариантам заданий.

Таблица 2

Вариант

Варианты заданий

1

Вычислить значение интеграла по формуле трапеций:

где при a = 3, b = 8, n = 40

2

Найти значение степенного ряда при х = 2.2.

Вычисление осуществлять до выполнения условия

3

Вычислить по разностной формуле Ньютона

с точностью = 0,00001, при k=7, x=283,75; начальное приближение взять y0=1

4

Вычислить , используя два разных цикла, при x=3,84, n=10.

5

Вычислить , используя три разных цикла, при x=9,81, n=11.

6

Составить таблицу значений функции

с использованием операторов цикла while и do, при x = 1..5 , hx= 1 , y = 2,1..3 , hy= 0,2

7

Составить таблицу значений функции

с использованием операторов цикла while и for, при x = -1..2 , hx= 0,5 , y = 4..5 , hy= 0,2

8

Составить таблицу значений функции

с использованием операторов цикла for и do, при x = 0..5 , hx= 0,7 , y = 4..7 , hy= 0,5

9

Составить таблицу значений функции

с использованием операторов цикла do и for, при x = 4..5 , hx= 0,3 , y = 1,1..3 , hy= 0,5

10

Составить таблицу значений функции

с использованием операторов цикла for и while, при x = -1..2 , hx= 0,4 , y = 2..5 , hy= 0,9

Примеры составления прогамм

Пример 1. Найти значение степенного ряда

Вычисление осуществлять до выполнения условия .

В основе алгоритма лежит рекуррентная формула расчета следующего члена ряда по предыдущему: .

Листинг программы

//Пример_1

#include <iostream.h>

#include <math.h>

void main()

{

float x,y,z,eps;

cout<<"Задайте точность вычислений eps=";cin>>eps;

cout<<"Введите переменную x=";cin>>x;

while (fabs(x)>=1) // Цикл проверки правильности ввода

{

cout<<"Введите переменную x в диапазоне |x|<1";

cout<<"\nx=";cin>>x;

}

const int MaxIter=100; //Ограничитель количества итераций

y=z=x; //Множественное присваивание

int i=1; //Задание параметра цикла

do

{

z*=-x*i/(i+1); //Определение члена ряда

y+=z; //Текущая сумма ряда

i++; //Модификация параметра цикла

if(i>MaxIter) //Проверка зацикливания

{cout<<"\nРяд расходится!";

break;

}

}

while (fabs(z)>=eps); //Условие выхода из цикла

cout<<"y="<<y<<" при x="<<x<<" eps="<<eps;

}