Вычислить бесконечную сумму с заданной точностью e (e>0). Считать, что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых, и модуль разности между следующим и текущим слагаемым оказался меньше e - все последующие слагаемые можно не учитывать. Вычислить:
Для решения задачи использовали следующие переменные:
1 Глобальные
типа int
· i – счетчик цикла;
типа float
· E – значение точности суммирования;
типа double
· symma – значениесуммы;
2 Локальные
типа int
· n – обозначает порядковый номер элемента;
типа double
· el – значение элемента с порядковым номером n;
1 Ввод с консоли значения точности e>0.
2 Вычисление суммы c точностью e, заданной ранее.
3 Вывод значения суммы на экран.
Пользователь вводит значение точности e. Причем ввод требуется повторять до тех пор, пока точность не будет соответствовать условию e>0. Такой ввод с проверкой на соответствие условию задачи организуется с помощью цикла while с постусловием.
Первоначальное значение суммы определяем равным значению первого слагаемого.
С помощью цикла while с предусловием организуем операцию суммирования. Тело цикла выполняется до тех пор, пока модуль разности между следующим и текущим слагаемым не станет меньше e. При каждом прохождении цикла его счетчик увеличивается на единицу и к сумме прибавляется величина текущего элемента.
После выхода из цикла выводим результат – значение суммы – на экран.
Для нахождения слагаемого с заданным порядковым номером n используем функцию double function(int n). Значение слагаемого вычисляется по заданной формуле. При этом используется операция возведения числа в степень из библиотеки <math.h>.
Для вывода информации на кириллице используется функция char *rus_txt(char*buf_input).
/*директивы препроцессора, указывающие компилятору на необходимость включения информации, содержащейся в файлe stdio.h, iostream.h, windows.h*/
#include <stdio.h>
#include <math.h>
#include <iostream.h>
#include <windows.h>
/*функция для вывода кириллицы*/
char buf_cirilic_output[256]; /* буфер для преобразованного текста из ANSI в ASCII*/
char * cirilic_txt(char *buf_input)
{
CharToOem(buf_input, buf_cirilic_output); /*преобразованиетекстаиз ANSI в ASCII*/
return buf_cirilic_output;
}
/*функция для определения n-го элемента*/
double function(int n)
{
/*описание локальных переменных*/
double el;
el=1/(pow(n,2)+n); /*вычисление значения слагаемого по заданной формуле*/
return(el);
}
void main()
{
/*описание глобальных переменных*/
double symma;
float E;
int i=1;
do /*цикл для ввода точности с проверкой на ошибку*/
{
cout << cirilic_txt("Введите e (точность) в экспоненциальном виде (например e=2.14E-3), причем е>0\ne=");
cin >> E; /* вводим значение точности до тех пор, пока точность не станет удовлетворять условию */
}
while (E<=0);
symma=function(i); /*первоначальное значение суммы равно первому слагаемому, используем функцию, определенную ранее*/
while (function(i)-function(i+1)>=E) /*пока не достигнута заданная точность*/
{
i++; /*увеличение счетчика на 1*/
symma=symma+function(i); /*прибавляем текущее слагаемое*/
}
printf("%s %5.16E\n", cirilic_txt("Сумма равна "), symma); /*выводим результат – значение суммы – на экран*/
Для решения задачи использовали следующие переменные:
Глобальные
· i, j – счётчики для циклов;
· n – задаваемая пользователем размерность, остаётся постоянной;
· m – дублирует переменную m для изменения;
· imas[100][100] – матрица для выбранного типа заполнения.
1. Определение размерности матрицы и задание числа n.
2. Заполнение матрицы заданным образом.
3. Вывод полученной матрицы на экран.
Пользователь вводит с клавиатуры размерность матрицы. Затем пустая матрица заполняется способом, когда поставленное условие удовлетворяет условию главной диагонали, т.е. i=j, то в ячейку записывается значение переменной m, которая дублирует переменную n, но после каждого прохождения цикла уменьшается на единицу; если же ячейка находится не главной диагонали, то ей присваивается значение 0. Затем выводим на экран полученную матрицу.
/*директивы препроцессора, указывающие на то, что надо включить информацию, содержащуюся в библиотеке stdio.h*/
#include<stdio.h>
void main()
{
inti,j,m,imas[100][100],n; /*описание переменных*/
printf("Vvedite n:\n");
scanf("%d",&n); /*ввод размерности матрицы*/
m=n; /*дублируется величина n*/
/*заполнение матрицы заданным образом*/
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(i==j)
{
imas[i][j]=m; /*заполнение ячейки значением m*/
m=m-1;
}
else
imas[i][j]=0; /*заполнение ячейки значением 0*/
/*вывод полученной матрицы на экран*/
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%3d",imas[i][j]);
printf("\n");
}
}
В ходе выполнения курсовой работы были рассмотрены основные характеристики и особенности таких утилит, как конвертеры и перекодировщики. Была проведена работа с операционной системой WindowsVista, а также с технологиями, применяемыми в ее работе. Были закреплены навыки по построению схем алгоритмов, разработке программ на языке СИ и их отладке. Большое внимание было уделено вычислению бесконечной суммы с заданной точностью, работе с матрицами и использованию функций в языке СИ.
1. http://www.softsoft.ru/audio-multimedia/video-tools/12835.htm
2. http://www.softsoft.ru/audio-multimedia/audio-encoders-decoders/24896.htm
3. http://www.softsoft.ru/audio-multimedia/rippers-converters/24112.htm
4. http://www.softsoft.ru/audio-multimedia/video-tools/25365.htm
5. http://www.xmediasoft.ru/?x=list&id=23
6. http://omut.ru/down/r-30.html
7. http://security.compulenta.ru/41752/
8. http://www.softholm.com/download/utilities/converters_calculators/soft_1031.html
9. http://www.kursovik.com/programming/140137.html
10. http://www.oszone.net/4902_2
11. http://www.softholm.com/download/utilities/converters_calculators/
12. http://www.softholm.com/download-software-free1031.htm
13. http://ru.rbytes.net/cat/otherz/otherzz/vbto-converter/
14. http://fireant.wordpress.com/2006/11/05/zamzar-online-file-converter/
15. http://www.zamzar.com/conversionTypes.php#documents
16. http://www.astera.ru/software/?id=48863
17. https://msdb.ru/Downloads/platform2007/materials/cli/cli402-chernevsky.ppt
18. http://office.microsoft.com/ru-ru/help/HA100069351049.aspx
19. http://www.powerlexis.ru/main.php?area=club&level=soft&cat=2
20. http://www.diwaxx.ru/soft/multimedia_converters.php
21. http://www.softforfree.com/multimedia/editors.html
22. http://www.softsoft.ru/audio-multimedia/rippers-converters/12900.htm
23. http://www.diwaxx.ru/soft/converters.php
24. http://softsearch.ru/catalog/utility/converter/
25. http://www.softsoft.ru/audio-multimedia/rippers-converters/4662.htm
26. http://content.mail.ru/arch/16612/1280548.html
27. http://www.wolfs.com.ru/2007/11/15/pdf2exe-konvertor-pdf-v-exe/
28. http://iclub.nsu.ru/~cher/code/
29. http://kainsk.tomsk.ru/maildecode.htm
30. http://soft21.ru/soft/programm_56.html
31. http://www.hostmake.ru/articles/php_perl/602/
32. http://softok.org/utils/perecod/programs3.html
33. http://www.computerra.ru/softerra/raznosoft/34072/
34. http://soft.goohoo.ru/57p4.htm
35. http://www.toprunet.com/article.php?id=31
36. http://www.overclockers.ru/softnews/23061.shtml
37. http://www.mobile-world.ru/modules.php?name=Files&d_op=show_cat_files&categories_id=76
38. http://www.fototest.ru/tests/488/
39. http://www.ixbt.com/video2/avivo_1.shtml
40. http://dvdtocd.info/
41. http://www.overclockers.ru/softnews/18225.shtml
42. http://www.ci.ru/inform06_02/p_10-11.htm
43. http://aic.eltrast.ru/DVD2Mpeg4.html