Применение операторов ветвления и циклов для расчета сумм и алгебраических выражений с заданной точностью
Табличный вывод значений суммы ряда и номера последнего элемента суммы в зависимости от значений величин входных параметров с применением операторов ветвления и циклов. Блок-схема алгоритма решения. Время работы программы для расчета одного значения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 14.05.2013 |
Размер файла | 762,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение Высшего профессионального образования
"Национальный исследовательский ядерный университет "МИФИ"
ФАКУЛЬТЕТ "Автоматика и электроника" КАФЕДРА "Автоматика"
Группа: А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 <math. h>
#include <iostream>
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"<<endl;
cin>>R;
for (p=0; p<R; p++)
{
cout<<"Input x & eps"<<endl;
cin>>x [p];
cin>>eps [p];
}
for (p=0; p<R; 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<pow (k,2); 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) <eps [p])
break;
}
{
cout<<" "<<endl;
cout<<"OTBET"<<endl;
cout<<N [p] <<endl;
cout<<Summa [p] <<endl;
}
}
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.0256764 и получена за 3 шага. Причем значение EPS влияет лишь на количество шагов проходимых циклом.
А при условии X = 10000 и EPS = 0.01 сумма будет выводиться нерациональным числом 1.25807е-005.
Размещено на Allbest.ru
Подобные документы
Изучение приемов использования операторов ветвления и операторов циклов в С. Управляющие структуры или операторы управления: их значение для управления последовательностью вычислений в программе. Блоки и составные операторы. Универсальный оператор цикла.
лабораторная работа [17,7 K], добавлен 06.08.2010Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.
контрольная работа [1,0 M], добавлен 19.03.2016Работа в Pascal, теория рядов. Главные признаки сходимости знакоположительных рядов. Общее понятие о ряде Тейлора. Вычисление конечной суммы факториального ряда для заданного массива значений. Исходный текст программы. Результаты выполнения программы.
контрольная работа [1,6 M], добавлен 06.08.2013Составление блок-схемы и алгоритма программы для решения уравнения с приближенным значением корня по методу Ньютона, расчета приближенного значения интеграла по формуле трапеций, вычисления уравнения длины вектора. Типы формул общего члена суммы.
курсовая работа [41,3 K], добавлен 15.12.2012Анализ операторов ввода и вывода, а также характеристика форматов, используемых в этих операторах. Оформление законченной программы с применением этих операторов. Структура программы. Алфавит языка и типы данных. Ввод и вывод информации. Форматный вывод.
лабораторная работа [62,0 K], добавлен 15.07.2010Изучение элементов языка С++, программирование разветвлений и циклов с использованием операторов условного и перехода. Обработка одномерных массивов. Поиск максимального элемента массива с заданной размерностью. Листинги программы и результатов.
курсовая работа [647,7 K], добавлен 05.02.2013Заполнение массива из целых чисел с присвоением элементам разных значений. Варианты программы с использованием различных операторов организации циклов. Определение квадрата максимального из четных элементов массива и общего числа нулевых элементов.
лабораторная работа [259,3 K], добавлен 14.05.2011Определения "ряд" и "сумма ряда". Свойства и сходимость сумм числового ряда. Основные методики приближенного нахождения суммы бесконечных рядов. Методы расчета сумм числовых рядов и формулы суммирования. Особенности разложения по специальным функциям.
курсовая работа [1,3 M], добавлен 09.01.2017Программирование линейных и ветвящихся процессов; циклов с предусловием, постусловием и параметром для вычисления сложных сумм и произведений рядов; таблицы значений функции двух переменных. Блок-схемы алгоритмов. Тексты программ и результаты их работы.
курсовая работа [2,4 M], добавлен 11.03.2015Особенности создания и заполнения таблиц в Microsoft Excel. Типы представления данных. Способы ввода числовых значений и текстовой информации в таблицу. Выставление форматов времени. Работа с ячейкой. Использование операторов формул для расчета значений.
презентация [53,8 K], добавлен 06.01.2014