База ответов ИНТУИТ

Программирование

<<- Назад к вопросам

Функция с прототипом
double root(double a, double b, double eps);
находит корень фиксированной функции
double f(double x);
на отрезке [a, b] методом деления отрезка пополамс точностью eps.Пусть функция f(x) определена следующимобразом:
double f(double x) {    double p = 1.;    double r = 1.;    while (r < 5.5) {        p *= (x - r);        r += 1.;    }    return p;}
Каким будет приблизительное значение переменной xв результате выполнения следующего фрагмента программы:
    double x = root(0., 5.9, 0.000001);

(Отметьте один правильный вариант ответа.)

Варианты ответа
Значение x приблизительно равно 1.
Значение x приблизительно равно 3.
Значение x приблизительно равно 5. (Верный ответ)
Значение x приблизительно равно 2.
Значение x приблизительно равно 4.
Похожие вопросы
Функция с прототипом
double root(double a, double b, double eps);
находит корень фиксированной функции
double f(double x);
на отрезке [a, b] методом деления отрезка пополамс точностью eps.Пусть функция f(x) определена следующимобразом:
double f(double x) {    return sin(x);}
Каким будет приблизительное значение переменной xв результате выполнения следующего фрагмента программы:
    double x = root(-1., 9., 0.000001);
Функция с прототипом
double root(double a, double b, double eps);
находит корень фиксированной функции
double f(double x);
на отрезке [a, b] методом деления отрезка пополамс точностью eps. Сколько примерно раз будет выполненотело цикла при поиске корня, когда используется следующий вызов:
    double x = root(1., 2., 0.001);
Функция ln(z) (натуральный логарифм z) представляетсяв виде степенного ряда следующим образом:
    ln(1+x) = x - x2/2 + x3/3 - x4/4 + ...
(мы обозначили z=1+x).Рассмотрим реализованную на C/C++ функцию myLog(z),вычисляющую значение логарифма с точностью до одной миллионной:
static const double EPS = 1e-6;double myLog(double z) {    double x = z - 1.;    double s = 0.;    double p = x;    double n = 1.;    double a = x;    while (fabs(a) > EPS) {        s += a;        p = (-p*x);        n += 1.;        a = p/n;    }    return s;}
Для каких значений z ее можно применять так,чтобы функция завершала работу за разумное время иошибка вычисления результата была бы не более 0.0001?Укажите все правильные ответы из числа перечисленных ниже.
Формула Бинома Ньютона дает следующее разложение в ряддля функции "квадратный корень из z":
(1+x)0.5 = sqrt(1+x) =    1 + 0.5 x + 0.5(-0.5)/2! x2 + 0.5(-0.5)(-1.5)/3! x3 + 0.5(-0.5)(-1.5)(-2.5)/4! x4 + ...
(мы обозначили z=1+x). Рассмотрим реализованную на C/C++ функцию mySqrt(z),вычисляющую значение квадратного корня с точностью до одной миллионной:
static const double EPS = 1e-6;double mySqrt(double z) {    double x = z - 1.;    double s = 1;    double k = 0.5;    double n = 1.;    double a = k*x;    while (fabs(a) > eps) {        s += a;        k -= 1.;        n += 1.;        a *= (k/n)*x;    }    return s;}
Для каких значений z ее можно применять так,чтобы функция завершала работу за разумное время иошибка вычисления результата была бы не более 0.0001?Укажите все правильные ответы из числа перечисленных ниже.
Функция arctg(x) раскладываетсяв ряд Тейлора следующим образом:
    arctg(x) = x - x3/3 + x5/5 - x7/7 + ...
Рассмотрим реализованную на C/C++ функцию myAtan(x),вычисляющую значение arctg(x) с точностью до одной миллионной:
static const double EPS = 1e-6;double myAtan(double x) {    double s = 0.;    double p = x;    double n = 1.;    double a = x;    while (fabs(a) > EPS) {        s += a;        p = (-p*x*x);        n += 2.;        a = p/n;    }    return s;}
Для каких значений x ее можно применять?Укажите все правильные ответы из числа перечисленных ниже.
Рассмотрим следующий фрагмент программы на C/C++:
    double x = 1.0;    double y = 1e-20;    double z = x + y - x;    double t = x - x + y;
Равны ли значения переменныхz и t после его выполнения?
Рассмотрим следующий фрагмент программы на C/C++:
    double x = 1.0;    double y = 1e-20;    double z = y - x + x;    double t = x - x + y;
Равны ли значения переменныхz и t после его выполнения?
Рассмотрим следующий фрагмент программы на C/C++:
    double x = 1.0;    double y = 1e-20;    double z = -x + x + y;    double t = x + y - x;
Равны ли значения переменныхz и t после его выполнения?
Рассмотрим следующую программу на C/C++:
#include <stdio.h>#include <math.h>int main() {    double x = pow(2., 1024.);    double y = x / 2.;    double z = pow(2., 1023.);    if (y == z) {        printf("y == z\n");    } else {        printf("y != z\n");    }    return 0;}
(Функция pow(a, b) возводитчисло a в степень b.)Что будет напечатано в результате ее выполнения?
Можно ли сохранить целое число типа int(4 байта) в переменной типа double без потериточности? То есть, если мы имеем целочисленнуюпеременную n типа int,то она не изменит своего значения в результе выполненияследующего фрагмента программы:
    int n;    . . .    double x = (double) n;    n = (int) x;