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

2.1. Определить, какому интервалу из области определения функции принадлежит текущее значение х.

2.2. Вычислить значение функции y по соответствующей формуле.

2.3. Вывести значения X и y

  1. Алгоритм нахождения корня нелинейного уравнения методом половинного деления (метод. указания к лаб.работе 2: нахождение корня нелинейного уравнения методом половинного деления).

. Нахождение корня нелинейного уравнения методом половинного деления

Вычислить методом половинного деления корень трансцендентного уравнения 4e-2x cos x – 0.46 = 0 на отрезке [a,b] с точностью до ε =10-5. Вывести на печать значения корня x и количество итераций n.

A=0.5; b=1;

F(x)= 4e-2x cos x – 0.46

  1. Приемы эффективного программирования (л.7) .

Эффективное программирование – это использование для решения задачи ограниченных ресурсов компьютера (процессорного времени, объема оперативной памяти и пр.).

  1. Определить наибольшую степень заданного числа, которую можно вычислить, пользуясь типом long (метод. указания к лаб.работе 2) .

Определение наибольшей степени целого числа 100, которую можно вычислить, пользуясь типом long

#include <LIMITS.H> //LONG_MAX

int main ()

{int p=0; //искомая степень

float x=1.0f; //тип float позволяет иметь значение x до 3.4*10^38

while (x < LONG_MAX) // x< 2 147 483 648

{x*=100.;

p++;

}

cout << setiosflags(ios::fixed) << x/100. << setw(8) <<p-1 <<endl; //вывод с фиксир. точкой вывод в 8 позиций

getch();

return 0;

}

Результат работы:

100000000.000000 4 //до числа 4, после последнего 0, находится 7 пробелов

  1. Табулирование функции на отрезке с выбором расчетной формулы (л.7) . Табулирование функции на отрезке

Составим программу для вычисления и вывода на печать таблицы значения функции у = а*х2 при а =17.7, а х изменяется от xn=25.5 до xk=35.5 с шагом h=1.0.

С использованием оператора while:

int main ()

{double a=17.7, x, y, h=1.0, xn=25.5, xk=35.5, xend=xk+h/2;

x= xn; //первая точка отрезка

while (x < xend)

{ y = a*x*x;

printf ("x=%7.2lf y=%10.2lf\n", x, y);

x+=h; //очередная точка отрезка отсчитывается от предыдущей !!!

_getch(); //для задержки результатов вывода на экране, каждое

//следующее значение выводится после нажатия произвольной клавиши

}

return 0;

}

  1. Вычисление суммы членов бесконечного ряда (ряд Тейлора) на отрезке (л.7) .

Разложение функции в ряд Тейлора на отрезке представим в виде вложенных циклов. Внешний цикл (организация движения по отрезку) является циклом с параметром. Его можно реализовать циклами for, while или do-while. Внутренний цикл (вычисление функции в точке) – это итерационный цикл. Его желательно реализовать циклами while или do-while:

#include <math.h>

int main ()

{ double y, x_beg, x_end, h=0.1, S, eps = 0.00001;

int n;

cin >> x_beg >> x_end; //ввод значений границ отрезка

double x=x_beg; double b=x_end+h/2;

while (x < b) //внешний цикл движения по отрезку

{ n=0;

y=x;

S=y;

while (fabs(y) > eps) //цикл вычисления суммы ряда в точке

{n++;

y *=-x*x/(2*n*(2*n+1));

S +=y;

} //end цикла вычисления суммы ряда в точке

cout << "x=" << setw(5)<<setiosflags(ios::right)<< x << " S=" << setw(9) << setiosflags(ios::right)<< S << endl;

x=x+h; //переход к очередной точке отрезка !!!

} //end цикла движения по отрезку

_getch();

return 0;

}

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