47462 (608265), страница 3
Текст из файла (страница 3)
Вычислить бесконечную сумму с заданной точностью e (e>0). Считать, что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых, и модуль разности между следующим и текущим слагаемым оказался меньше e - все последующие слагаемые можно не учитывать. Вычислить:
РАЗРАБОТКА АЛГОРИТМА И СИ-ПРОГРАММЫ
Для решения задачи использовали следующие переменные:
-
Глобальные
типа int
-
i – счетчик цикла;
типа float
-
E – значение точности суммирования;
типа double
-
symma – значение суммы;
-
Локальные
типа int
-
n – обозначает порядковый номер элемента;
типа double
-
el – значение элемента с порядковым номером n;
ПСЕВДОАЛГОРИТМ
-
Ввод с консоли значения точности e>0.
-
Вычисление суммы c точностью e, заданной ранее.
-
Вывод значения суммы на экран.
Пользователь вводит значение точности e. Причем ввод требуется повторять до тех пор, пока точность не будет соответствовать условию e>0. Такой ввод с проверкой на соответствие условию задачи организуется с помощью цикла while с постусловием.
Первоначальное значение суммы определяем равным значению первого слагаемого.
С помощью цикла while с предусловием организуем операцию суммирования. Тело цикла выполняется до тех пор, пока модуль разности между следующим и текущим слагаемым не станет меньше e. При каждом прохождении цикла его счетчик увеличивается на единицу и к сумме прибавляется величина текущего элемента.
После выхода из цикла выводим результат – значение суммы – на экран.
Для нахождения слагаемого с заданным порядковым номером n используем функцию double function(int n). Значение слагаемого вычисляется по заданной формуле. При этом используется операция возведения числа в степень из библиотеки
Для вывода информации на кириллице используется функция char *rus_txt(char*buf_input).
ИСХОДНЫЙ ТЕКСТ СИ-ПРОГРАММЫ
/*директивы препроцессора, указывающие компилятору на необходимость включения информации, содержащейся в файлe stdio.h, iostream.h, windows.h*/
#include
#include
#include
#include
/*функция для вывода кириллицы*/
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] – матрица для выбранного типа заполнения.
ПСЕВДОАЛГОРИТМ
-
Определение размерности матрицы и задание числа n.
-
Заполнение матрицы заданным образом.
-
Вывод полученной матрицы на экран.
Пользователь вводит с клавиатуры размерность матрицы. Затем пустая матрица заполняется способом, когда поставленное условие удовлетворяет условию главной диагонали, т.е. i=j, то в ячейку записывается значение переменной m, которая дублирует переменную n, но после каждого прохождения цикла уменьшается на единицу; если же ячейка находится не главной диагонали, то ей присваивается значение 0. Затем выводим на экран полученную матрицу.
ИСХОДНЫЙ ТЕКСТ СИ-ПРОГРАММЫ
/*директивы препроцессора, указывающие на то, что надо включить информацию, содержащуюся в библиотеке stdio.h*/
#include
void main()
{
int i,j,m,imas[100][100],n; /*описание переменных*/
printf("Vvedite n:\n");
scanf("%d",&n); /*ввод размерности матрицы*/
m=n; /*дублируется величина n*/
/*заполнение матрицы заданным образом*/
for(i=0;i for(j=0;j if(i==j) { imas[i][j]=m; /*заполнение ячейки значением m*/ m=m-1; } else imas[i][j]=0; /*заполнение ячейки значением 0*/ /*вывод полученной матрицы на экран*/ for(i=0;i { for(j=0;j printf("%3d",imas[i][j]); printf("\n"); } } РЕЗУЛЬТАТЫ ВЫЧИСЛЕНИЙ ЗАКЛЮЧЕНИЕ В ходе выполнения курсовой работы были рассмотрены основные характеристики и особенности таких утилит, как конвертеры и перекодировщики. Была проведена работа с операционной системой Windows Vista, а также с технологиями, применяемыми в ее работе. Были закреплены навыки по построению схем алгоритмов, разработке программ на языке СИ и их отладке. Большое внимание было уделено вычислению бесконечной суммы с заданной точностью, работе с матрицами и использованию функций в языке СИ. СПИСОК ИСПОЛЬЗОВАННЫХ ИНТЕРНЕТ-РЕСУРСОВ http://www.softsoft.ru/audio-multimedia/video-tools/12835.htm http://www.softsoft.ru/audio-multimedia/audio-encoders-decoders/24896.htm http://www.softsoft.ru/audio-multimedia/rippers-converters/24112.htm http://www.softsoft.ru/audio-multimedia/video-tools/25365.htm http://www.xmediasoft.ru/?x=list&id=23 http://omut.ru/down/r-30.html http://security.compulenta.ru/41752/ http://www.softholm.com/download/utilities/converters_calculators/soft_1031.html http://www.kursovik.com/programming/140137.html http://www.oszone.net/4902_2 http://www.softholm.com/download/utilities/converters_calculators/ http://www.softholm.com/download-software-free1031.htm http://ru.rbytes.net/cat/otherz/otherzz/vbto-converter/ http://fireant.wordpress.com/2006/11/05/zamzar-online-file-converter/ http://www.zamzar.com/conversionTypes.php#documents http://www.astera.ru/software/?id=48863 https://msdb.ru/Downloads/platform2007/materials/cli/cli402-chernevsky.ppt http://office.microsoft.com/ru-ru/help/HA100069351049.aspx http://www.powerlexis.ru/main.php?area=club&level=soft&cat=2 http://www.diwaxx.ru/soft/multimedia_converters.php http://www.softforfree.com/multimedia/editors.html http://www.softsoft.ru/audio-multimedia/rippers-converters/12900.htm http://www.diwaxx.ru/soft/converters.php http://softsearch.ru/catalog/utility/converter/ http://www.softsoft.ru/audio-multimedia/rippers-converters/4662.htm http://content.mail.ru/arch/16612/1280548.html http://www.wolfs.com.ru/2007/11/15/pdf2exe-konvertor-pdf-v-exe/ http://iclub.nsu.ru/~cher/code/ http://kainsk.tomsk.ru/maildecode.htm http://soft21.ru/soft/programm_56.html http://www.hostmake.ru/articles/php_perl/602/ http://softok.org/utils/perecod/programs3.html http://www.computerra.ru/softerra/raznosoft/34072/ http://soft.goohoo.ru/57p4.htm http://www.toprunet.com/article.php?id=31 http://www.overclockers.ru/softnews/23061.shtml http://www.mobile-world.ru/modules.php?name=Files&d_op=show_cat_files&categories_id=76 http://www.fototest.ru/tests/488/ http://www.ixbt.com/video2/avivo_1.shtml http://dvdtocd.info/ http://www.overclockers.ru/softnews/18225.shtml http://www.ci.ru/inform06_02/p_10-11.htm http://aic.eltrast.ru/DVD2Mpeg4.html















