Помощь в написании студенческих работ
Антистрессовый сервис

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

КонтрольнаяПомощь в написанииУзнать стоимостьмоей работы

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение Высшего профессионального образования

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

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

Группа: А2−01

Реферат По контрольному домашнему заданию дисциплина

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

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

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

Москва, 2012 г.

Реферат

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

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

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

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

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

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

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

  • Введение
  • Алгоритм решения
  • Блок-схема алгоритма
  • Таблица данных экспериментальных исследований алгоритма
  • Заключение

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

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

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

(1.1)

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

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

(1.2)

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

(1.3)

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

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

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

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

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

2. Подготовить алгоритм (блок-схему) работы программы.

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

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

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

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

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

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

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

Z (x, k)

да

нет

Вывод: Summa, N

|Z (x, k) |>eps

K=K+1

N=N+1

K=1, Summa=0, N=0

Введение

x, eps

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

#include

#include

using namespace std;

void main ()

{

const int n=100;

int p;

double x [n], eps [n];

double k, N [n], R, i;

double f, g, h, s, Summa [n], z, l=3;

cout<<" Input Number" <

cin>>R;

for (p=0; p

{

cout<<" Input x & eps" <

cin>>x [p];

cin>>eps [p];

}

for (p=0; p

{

g=1.0/l;

f=sqrt (1/x [p]);

h=sin (x [p]);

k=1;

Summa [p] =0;

N [p] =0;

for (;;)

{

f=sqrt (1/x [p] + (1/x [p]) *f);

h=sin (x [p] *k);

s=1;

for (i=pow (k-1,2.0) +1; i

{

s=s*i;

}

g= (g* (2*k-1)) / ((2*k+1) *s);

z=pow (-1.0,k-1) *g*f*h;

Summa [p] =Summa [p] +z;

N [p] =N [p] +1;

k=k+1;

if (abs (z)

break;

}

{

cout<<" «<

cout<<" OTBET" <

cout<<

cout<<

}

}

cin. get ();

cin. get ();

cin. get ();

cin. get (); }

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

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

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

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

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

Заключение

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

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

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

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

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

Показать весь текст
Заполнить форму текущей работой