![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 13.10.2013
Сообщений: 7
|
![]()
program Sin2x;
{$APPTYPE CONSOLE} uses SysUtils, Math; var a, b, c, d, e, f, g, k, l, z, o, p, m, x, eps: Real; h, i, j, n: Integer; begin Writeln('Vvedite x'); Readln(x); Readln(eps); n:=0; g:=1; z:=0; while abs(z)<= eps do begin inc(n); for i:= 1 to n do g:= g*(2*i); z:=z+power(-1,n-1)*power(2,2*n-1)*Power(x,2*n)/g; end; writeln(z:10:8); Readln; end. Программа решает всё правильно,но она проводит цикл вайл только один раз почему-то.Я пишу к примеру,что ЕПС должен быть больше модуля окончательного числа и только тогда программа должна останавливаться,но она в любом случае только один раз вычисляет и выходит из цикла. Помогите пожалуйста Последний раз редактировалось Tabigon; 20.10.2013 в 14:25. |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
1) g := 1 должно быть, скорее всего, сразу перед for i:= 1 to n do
2) Вам нужно, скорее всего, проверять не весь Z (abs(z)<= eps), а текущий элемент суммы
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#3 | |
Регистрация: 13.10.2013
Сообщений: 7
|
![]() Цитата:
написал,что а= этой большой формуле,а потом z = z+a. В проверку вайла вставил а,но оно всё равно отказывается выполнять больше одного раза |
|
![]() |
![]() |
![]() |
#4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
Выложите исправленный код и само задание.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#5 |
Регистрация: 13.10.2013
Сообщений: 7
|
![]() Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 20.10.2013 в 18:12. |
![]() |
![]() |
![]() |
#6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
Проверьте:
Код:
Исправлена ошибка
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 20.10.2013 в 20:46. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 13.10.2013
Сообщений: 7
|
![]()
Выводит все нули.В моей программе одна ошибка - не повторяется цикл... и я не понимаю почему
|
![]() |
![]() |
![]() |
#8 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
Ой, я забыл поменять знак
![]() while abs(a) > eps do
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#9 |
Регистрация: 13.10.2013
Сообщений: 7
|
![]()
Работает! Не могли бы вы объяснить,почему именно больше эпсилон?И ещё,а как мне вывести z,чтобы количество знаков после запятой равнялось эпсилон? Я знаю,что как-то через логарифм,но у меня выдаёт ошибку "неизвестный тип"
Последний раз редактировалось Tabigon; 20.10.2013 в 20:35. |
![]() |
![]() |
![]() |
#10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
Я добавляю a, пока оно больше eps. Как только оно станет меньше, то добавлять бессмысленно, т.к. влияние на всю сумму будет незначительным.
Вроде как надо: writeln(z:0:round(-ln(eps) / ln(10)), ' ', n - 1); UPD Пожалуйста
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 20.10.2013 в 21:11. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почти решил задачу(она почему иногда неправильно считает) | J-Max | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 10.01.2012 16:24 |
Я решил написать книгу. | V@Programmer | Свободное общение | 3 | 26.08.2011 17:07 |
Отличная загадка! Почти решил уже. | Fellics{новичок} | Свободное общение | 8 | 18.05.2009 19:45 |
решил подучиться работе с БД | Fireleo | БД в Delphi | 6 | 20.08.2007 09:01 |