Смекни!
smekni.com

Конвертеры и перекодировщики (стр. 4 из 4)

ПОСТАНОВКА ЗАДАЧИ № 1

Вычислить бесконечную сумму с заданной точностью 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&bsol;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&bsol;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:&bsol;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("&bsol;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