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

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    293,16 Кб
  • Опубликовано:
    2013-05-14
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение Высшего профессионального образования

"Национальный исследовательский ядерный университет "МИФИ"

ФАКУЛЬТЕТ "Автоматика и электроника" КАФЕДРА "Автоматика"

Группа: А2-01




Реферат

По контрольному домашнему заданию

дисциплина

Компьютерный практикум

Выполнил: Мясников В.П.

Преподаватель: Лобашев Д.А.







Москва, 2012 г.

Реферат

 

Реферат ____ с., 1 ч., 5 рис.

ПРОГРАММА, КОМПЬЮТЕРНЫЙ ПРАКТИКУМ, С++, МАССИВ, ЦИКЛ, БЛОК-СХЕМА, АЛГОРИТМ, ОПЕРАТОР, СУММА, ТОЧНОСТЬ.

Цель работы - ознакомиться с применением операторов ветвления и циклов для расчета сумм и алгебраических выражений с заданной точностью.

Работа производилась в среде Microsoft Visual Studio с привлечением программы Microsoft Office Word 2010.

Характеристики: программа работает с рекуррентными формулами функций данных изначально используя входные данные вводимые пользователем.

Время работы программы для расчета одного значения - несколько миллисекунд (измерить точно не представляется возможным).


Содержание

 

Введение

Алгоритм решения

Блок-схема алгоритма

Таблица данных экспериментальных исследований алгоритма

Заключение

Введение

В работе требовалось написать программу на С++ которая:

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

. Находится соответствующее значение функции Z по формуле:

 (1.1)

Функции f (x,k), g (k), h (x,k) - заданы в соответствии с вариантом

. Проводит суммирование вида:

 (1.2)

. Суммирование до тех пор пока:

 (1.3)

. Организовать табличный вывод значений суммы ряда и номера последнего элемента суммы.++ - компилируемый статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщенное программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником - языком C, - наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.

Название "C++" происходит от названия языка C, в котором унарный оператор ++ обозначает инкремент переменной.

Алгоритм решения


. Разработать алгоритм рекуррентного вычисления суммы ряда по формуле вида:

. Подготовить текст программы, провести отладку программы, используя возможности встроенного отладчика интегрированной среды программирования.

. Определить границы динамического диапазона значений входных переменных x, eps. Объяснить причины найденных ограничений.

. Организовать табличный вывод значений суммы ряда и номера последнего элемента суммы в зависимости от значений величин входных параметров x, eps. Для хранения данных использовать массивы.

*. В границах найденных диапазонов величин x, eps построить графики зависимости величины суммы и номера N-ного элемента от значений входных параметров.

*. Предусмотреть возможность реализации алгоритма программы всеми видами циклов.

. Подготовить отчет о проделанной работе.

Блок-схема алгоритма

(x,k)

да

нет

Вывод: Summa, N

|Z (x,k) |>eps=K+1=N+1=1, Summa=0, N=0

Введение x, eps

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

#include <math. h>

#include <iostream>namespace std;main ()

{int n=100;p;x [n], eps [n];k, N [n], R, i;f, g, h, s, Summa [n], z, l=3;<<"Input Number"<<endl;>>R;(p=0; p<R; p++)

{<<"Input x & eps"<<endl;>>x [p];>>eps [p];

}(p=0; p<R; p++)

{=1.0/l;=sqrt (1/x [p]);=sin (x [p]);=1;[p] =0;[p] =0;(;;)

{=sqrt (1/x [p] + (1/x [p]) *f);=sin (x [p] *k);=1;(i=pow (k-1,2.0) +1; i<pow (k,2); i++)

}= (g* (2*k-1)) / ( (2*k+1) *s);=pow (-1.0,k-1) *g*f*h;[p] =Summa [p] +z;[p] =N [p] +1;=k+1;(abs (z) <eps [p]);

}

{<<" "<<endl;<<"OTBET"<<endl;<<N [p] <<endl;<<Summa [p] <<endl;

}

}. get ();. get ();. get ();. get (); }

Экспериментально определено, что адекватный ответ получается при вводе пользователем числа X порядка. В таком случае ответ получается в виде одного числа. Порядок числа EPS влияет, в основном, лишь на количество шагов, которые проделывает цикл для получения ответа.

Таблица данных экспериментальных исследований алгоритма


Рисунок 1 - Таблица трех значений при X

Рисунок 2 - Таблица трех значений при X

оператор ветвление цикл программа

Заключение


В данной работе требовалось организовать табличный вывод значений суммы ряда и номера последнего элемента суммы в зависимости от значений величин входных параметров X, EPS.

В ходе задания были разработаны рекуррентные формулы для функций g (k) и f (x,k) для упрощения написания алгоритма.

Экспериментально задавая параметры X и EPS установлено, что сумма получается рациональной при X.

При условии X = 10 и EPS = 0.001 сумма будет равна - 0.0256764 и получена за 3 шага. Причем значение EPS влияет лишь на количество шагов проходимых циклом.

А при условии X = 10000 и EPS = 0.01 сумма будет выводиться нерациональным числом 1.25807е-005.

Похожие работы на - Применение операторов ветвления и циклов для расчета сумм и алгебраических выражений с заданной точностью

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!