0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 48
|
|||||||||||
1 | |||||||||||
ошибка во внешней процедуре28.04.2013, 10:36. Показов 1675. Ответов 13
Метки нет (Все метки)
Нужно для данной программы написать внешнюю процедуру или функцию ( программа вычисляет сумму ряда с требуемой точностью (|x|<1 и e вводятся): ln(1+x)= x-x^2/2 + x^3/3 - x^4/4 ...)) :
0
|
28.04.2013, 10:36 | |
Ответы с готовыми решениями:
13
Ошибка в процедуре Ошибка в процедуре Ошибка в процедуре. Ошибка в процедуре: '(' expected but ',' found |
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
28.04.2013, 10:39 | 2 |
Модуль Math подключен?
0
|
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 48
|
|
28.04.2013, 10:42 [ТС] | 3 |
эмм, не знаю))) как это проверить и исправить если не подключен?
0
|
Супер-модератор
|
|
28.04.2013, 10:51 | 4 |
Если б он не был подключен - программа не компилировалась бы и без выноса вычислений в отдельную процедуру. Но самое интересное - это то, что Power тут вообще не нужен, без него прекрасно вычисляется сумма ряда.
0
|
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 48
|
|
28.04.2013, 10:52 [ТС] | 5 |
0
|
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
28.04.2013, 10:57 | 6 |
0
|
Супер-модератор
|
||||||
28.04.2013, 10:59 | 7 | |||||
Потому что не нужен. Возведение в степень - это последовательное домножение числителя на X, правда? Вот и присваивай числитель изначально 1, и домножай на X на каждой итерации. И еще на (-1), чтобы и от второго Power-а избавиться:
0
|
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 48
|
|
28.04.2013, 11:21 [ТС] | 8 |
возведение нужно было для того что бы знак чередовался "-" и "+". дело еще в том, что мне нужно написать процедуру для ГОТОВОЙ программы, т.е. в том виде в котором у меня есть, просто вынести ее во внешнюю и все.
При подключении модуля math ошибка исчезает, но появляется новая, в конце внешней процедуры делфи просит поставить "." ('.' expected but ';' found), если ее поставить то появляется опять ошибка "[Warning] Unit1.pas(46): Text after final 'END.' - ignored by compiler".
0
|
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
28.04.2013, 11:49 | 9 |
Это не ошибка, а предупреждение о том, что любой текст после "END." компилятором игнорируется.
0
|
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 48
|
||||||
28.04.2013, 13:13 [ТС] | 11 | |||||
это понятно, почему тогда если поставить ";" делфи просит поставить ".", а поставив "." игнорирует весь текст после запятой?? как это исправить?
0
|
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
28.04.2013, 13:19 | 12 |
Потому что у тебя с количеством Ендов напутано.
0
|
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 48
|
|
28.04.2013, 13:24 [ТС] | 13 |
где, в " procedure TForm1.Button1Click(Sender: TObject);" ?? там да, вижу, только дело в том, что делфи просит поставить точку после последнего end в " procedure Summa_Ryada;" и дальше не идет, а поставив точку пишет что все после этого энда игнорируется и ничего опять же не происходит
0
|
263 / 109 / 26
Регистрация: 16.03.2013
Сообщений: 272
|
||||||
28.04.2013, 13:47 | 14 | |||||
Учись писать структурировано, а то будешь всё время с такими ошибками встречаться (например, закрывающий end должен находиться под открывающим begin'ом)
Вот немного поправил ошибки с end'ами, кстати посмотри, как нужно объявлять процедуру:
0
|
28.04.2013, 13:47 | |
28.04.2013, 13:47 | |
Помогаю со студенческими работами здесь
14
Ошибка EAccessViolation в своей процедуре Ошибка при процедуре из DLL Объекты, ошибка в процедуре ReadLn Ошибка в процедуре: Undeclared identifier: 'Label1' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |