Главная страница
Навигация по странице:

  • Лабораторная работа по теме

  • Студент: Чегодаев А.С. группа УБВТ-1901 Вариант № 23 Москва, 2020 Тема и название лабораторной работы

  • Задание на разработку проекта

  • Формализация и уточнение задания

  • Разработана схема алгоритма процедуры Pos ()

  • Программный код проекта

  • Результат выполнения проекта

  • Доказательство правильности работы программы

  • ЛР 4 отчет. Лабораторная работа по теме Программирование алгоритмов итеративных циклических структур. Вычисление членов заданной последовательности, значения которых по модулю больше заданного числа Студент Чегодаев А. С


    Скачать 56.55 Kb.
    НазваниеЛабораторная работа по теме Программирование алгоритмов итеративных циклических структур. Вычисление членов заданной последовательности, значения которых по модулю больше заданного числа Студент Чегодаев А. С
    Дата17.05.2022
    Размер56.55 Kb.
    Формат файлаdocx
    Имя файлаЛР 4 отчет.docx
    ТипЛабораторная работа
    #534699

    Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

    «Московский технический университет связи и информатики»

    Кафедра информатики


    Отчёт

    Лабораторная работа по теме


    «Программирование алгоритмов итеративных циклических структур.

    Вычисление членов заданной последовательности, значения которых по модулю больше заданного числа»



    Студент: Чегодаев А.С.

    группа УБВТ-1901

    Вариант № 23

    Москва, 2020

    1. Тема и название лабораторной работы:

    Программирование алгоритмов итеративных циклических структур.

    Вычисление членов заданной последовательности, значения которых по

    модулю больше заданного числа.


    1. Задание на разработку проекта:

    Вычислить при |x|>1 с точностью до ε = 0.0001, воспользовавшись разложением в ряд:

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

    1. Формализация и уточнение задания:

    Для решения поставленной задачи необходимо вывести рекуррентную формулу вычисления члена последовательности. Очевидно, что выражение для n-го члена заданной последовательности имеет вид:




    Тогда формула для (n+1) члена последовательности имеет вид:








    Откуда получаем следующую рекуррентную формулу:



    ; - начальный член последовательности при n=1.


    Для решения поставленной задачи необходимо реализовать процедуру Pos(), которая в качестве входных параметров получает значение x, точность ε=10-4 и максимальное допустимое число итераций. Во время работы процедуры выводятся значения членов ряда, удовлетворяющие заданной точности и их номера. Процедура не имеет никаких выходных параметров.


    1. Разработана схема алгоритма процедуры Pos(), представленная на рисунке 4.






    Pos()




    a=2/x

    n=1

    t=a





    |a|>E и n<=Nmax


    Нет


    Да


    a =a * (2 * n + 1)/ (2 * n + 3

    t = t + a

    n = n + 1

    Вывод n, a



    Вывод t * 2


    Конец

    Рисунок 4 – Схема алгоритма процедуры Pos()

    Вычисление членов заданной последовательности, значения которых по модулю больше заданного числа






    1. Программный код проекта:

    Разработанный программный код проекта приведен на рисунок 5.

    //файл Pos
    #include

    #include

    using namespace std;

    void Pos(double x, double E, int Nmax)

    {

    int n= 1;

    double a = 2 / x;

    double t = a;

    cout << "\tВычисление членов последовательности:" << endl;

    cout << "\tНомер \tЗначение " << endl;

    while (abs(t) > E && n <= Nmax)

    {

    cout << '\t' << n << '\t' << a << endl;

    a = a*(2 * n + 1) / ((2 * n + 3)*pow(x, 2));

    t = a + t;

    n++;

    }

    cout << "Результат равен:" <
    }
    //Файл GetXEN

    #include

    using namespace std;
    void GetXEN(double& x, double& E, int& Nmax)

    {

    setlocale(LC_ALL, "rus");

    cout << "Введите x ";

    cin >> x;

    E = 0, 0001;

    cout << "Введите макс. число итераций ";

    cin >> Nmax;

    }
    //файл Main
    #include
    void GetXEN(double& x, double& E, int& Nmax);

    void Pos(double x, double E, int Nmax);
    int main()

    {

    double x, E;

    int Nmax;

    GetXEN(x, E, Nmax);

    Pos(x, E, Nmax);

    system("PAUSE");

    return 0;

    }



    Рисунок 5 – Программный код проекта 2-го примера

    Вычисление членов заданной последовательности, значения которых по модулю больше заданного числа



    1. Результат выполнения проекта

    Результат выполнения проекта приведен на рисунок 6.

    Рисунок 6 - Результаты выполнения проекта 2-го примера




    1. Доказательство правильности работы программы:

    Все выведенные значения последовательности больше 0.0001.


    написать администратору сайта