Вычисление значения полинома

Автор работы: Пользователь скрыл имя, 28 Октября 2014 в 23:57, лабораторная работа

Краткое описание

Задание: вычислить значение полинома.
Цель работы: изучение возможностей библиотек stdio.h и iostream.h, функций ввода и вывода.

Прикрепленные файлы: 1 файл

1.docx

— 99.03 Кб (Скачать документ)

Задание: вычислить значение полинома.

Цель работы: изучение возможностей библиотек stdio.h и iostream.h, функций ввода и вывода.

Анализ задания, контрольный пример:

 

Пусть х=2,5;

Тогда f(2,5)= -123774264;

Математическая постановка задачи:

Дано:

,        

где х – целое число.

Найти: значение полинома.

Решение:

Разложим полином на множители, вычисляем промежуточные значения.

Тогда f(x)=(((((-31.902*x*x + 89.524)*-47.28)* -2.4214)*-52532.43)*+ 624.3);

= -31.902*x*x + 89.524        [1]

=*x*x-47.28         [2]

= * x * x -2.4214        [3]

= * x * x - 52532.43        [4]

= * x * x + 624.3        [5]

p= * x * x * x * x * x * x        [6]

Особенности решения на ПК:

Ограничения: +3,4E^-38≤ f(x)≤ +3,4E^38

 +3,8≤ x≤+3,8.

Интерфейс с пользователем:

Вывод сообщения(1)

Avtor: Khamluk Elena, gr. 4301

Вывод сообщения(2)

f(x)= -31.902*x^16+89.524*x^14-47.28*x^12-2.421*x^10-52532.43*x^8+624.3*x^6

Вывод сообщения(3)

Vvedite x

Ввод х

X=d..d.d..d

Вывод сообщения(4)

znachenie1:

Вывод сообщения(5)

znachenie2:

Вывод сообщения(6)

znachenie3:

Вывод сообщения(7)

znachenie4:

Вывод сообщения(8)

znachenie5:

Вывод сообщения(9)

rezultat: p (x) = p


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

В библиотеке stdio.h используются функции printf и scanf для вывода на экран и ввода текста с клавиатуры соответственно. Чтобы вывести некоторое количество знаков после запятой с помощью этой библиотеки, нужно в функции printf поставить точку, а затем необходимое количество знаков. В библиотеке iostream.h для вывода и ввода используются cout << и cin >> соответственно. Также использовалась библиотека iomanip.h для вывода на экран необходимого количества знаков после запятой. Для этого нужно использовать функцию setpresision (), а в скобках указать количество знаков.

Описание алгоритма решения:

 

Текст программы:

  1. #include <stdio.h>

int main()

{

    float x, p;

    printf ("%s", "Avtor: Khamluk Elena, gr. 4301 \n");

    printf ("%s", "f(x)= -31.902*x^16+89.524*x^14-47.28*x^12-2.421*x^10-52532.43*x^8+624.3*x^6 \n");

    printf ("Vvedite x \n");

    scanf ("%f", &x);

    p = -31.902*x*x + 89.524;

    printf ("%s %.2f \n", "znachenie1:  ", p);

    p = p * x *x - 47.28;

    printf ("%s %.2f", "\n znachenie2:  ", p);

    p = p * x * x -2.4214;

    printf ("%s %.2f", "\n znachenie3:  ", p);

    p = p * x * x - 52532.43;

    printf ("%s %.2f", "\n znachenie4:  ", p);

    p = p * x * x + 624.3;

    printf ("%s %.2f", "\n znachenie5:  ", p);

    p = p * x * x * x * x * x * x;

    printf ("%s %.2f %s %f", "\n rezultat p (",x,")= ", p);

}

 

  1. #include <iostream>

#include <iomanip>

using namespace std;

int main()

{

    float x, p;

    cout << "Avtor: Khamluk Elena, gr. 4301" << endl;

    cout << "f(x)= -31.902*x^16+89.524*x^14-47.28*x^12-2.421*x^10-52532.43*x^8+624.3*x^6" << endl;

    cout << "Vvedite x" << endl;

    cin >> x;

    p = -31.902*x*x + 89.524;

    cout.setf(ios::fixed);

    cout << setprecision(2) << "znachenie1:" <<p;

    p = p * x *x - 47.28;

    cout << setprecision(2) << "\n znachenie2:" <<p;

    p = p * x * x -2.4214;

    cout << setprecision(2) << "\n znachenie3:" <<p;

    p = p * x * x - 52532.43;

    cout << setprecision(2) << "\n znachenie4:" <<p;

    p = p * x * x + 624.3;

    cout << setprecision(2) << "\n znachenie5:" <<p;

    p = p * x * x * x * x * x * x;

    cout << setprecision(2) << "\n rezultat: p ("<<x<<") =" <<p<< '\n';

}

Тестовый пример:

Первый вариант:

Пусть x=3;

 

Второй вариант:

Пусть x=5;

Вывод: изучила возможности библиотек stdio.h и iostream.h, научилась пользоваться функциями ввода и вывода на языке C++.

 


Информация о работе Вычисление значения полинома