![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() блок-схема.jpg
собственно по этой блок-схеме необходимо решить задачу. у меня получилось так? Код:
var Form1: TForm1; i,n:integer; z : extended; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if edit1.text=''then showMessage ('Error') else begin z:=0; edit1.Text:=inttostr(n); for i:=1 to n do z:=z+((-1)*ln(i))*(((x*i)*ln(i))/i); begin if (z>n) then edit2.Text:=inttostr(z) else edit2.Text:=strtoint(n) end; end; end; неработает ![]() Последний раз редактировалось Shiza, 28.02.2011 в 22:55. |
#2
|
|||
|
|||
![]() Уважаемый Админ знать бы как ими пользоваться
![]() |
#3
|
||||
|
||||
![]() Болок-схема точная?
IDE := Embarcadero.RADStudio.XE.Architect // Успешность метода научного тыка обратно пропорциональна извилистости головного мозга на кривизну рук © |
#4
|
|||
|
|||
![]() не факт, но хотелось бы верить.
вероятнее что z=сумма+(-1)..... Последний раз редактировалось Shiza, 28.02.2011 в 23:03. |
#5
|
||||
|
||||
![]() Немного не точная блок-схема, некоторых элементов не хватает. Но если я правильно понял, то код следующий:
Код:
var i, n, x: integer; z: extended; begin i := 1; z := 0; n := StrToInt(Edit1.text); x := StrToInt(Edit2.text); repeat z := z + ((-1) * ln(i)) * (((x * i) * ln(i)) / i); inc(i); until i > n; Edit3.text := FloatToStr(z); end; IDE := Embarcadero.RADStudio.XE.Architect // Успешность метода научного тыка обратно пропорциональна извилистости головного мозга на кривизну рук © |
#6
|
|||
|
|||
![]() Большое спасибо! Вполне устраивает
![]() |
#7
|
|||
|
|||
![]() А причём тут логарифм?
|
#8
|
||||
|
||||
![]() Ну это уже как автор знает математику
![]() IDE := Embarcadero.RADStudio.XE.Architect // Успешность метода научного тыка обратно пропорциональна извилистости головного мозга на кривизну рук © |
#9
|
|||
|
|||
![]() если верить интернету и руководству по Делфи, то в степень на языке делфи возводится через логарифм.
|
#10
|
||||
|
||||
![]() Вообще в делфи есть процедурка возведения в степень - Power из модуля Math. То бишь: 2^3: Math.Power(2, 3).
А вообще: a^b=e^(b*ln(a))=exp(b*ln(a)). А вообще почитай статейку: http://ru.wikipedia.org/wiki/%D0%92%...%D 0%BD%D1%8C Помогаю за Спасибо ![]() |
#11
|
|||
|
|||
![]() Благодарю!
|
#12
|
|||
|
|||
![]() эх.. видимо мне не дано это сделать.
Последний раз редактировалось Shiza, 04.03.2011 в 21:06. |
#13
|
|||
|
|||
![]() подправила непосредственно уравнение руководствуясь
Цитата:
z:=(exp(i*ln((-1))))*((x*exp(i*ln(i)))/i); но где-то намудрила, выдает ошибку: "invalid floating point operation" (нетрудоспособное действие плавающей точки) |
#14
|
|||
|
|||
![]() Попробуй поменять типы переменных в Var.
Думаю ругается т.к. какое-то из действий нельзя производить с типом extended, или из-за несовместимости типов и тп. |
#15
|
||||
|
||||
![]() Цитата:
z := z + exp(i * ln(-1)) * (exp(i * ln(x * i))/i); // если (xi)^i или z := z + exp(i * ln(-1)) * (x * exp(i * ln(i))/i); // если x* i^i И ln(-1) калькуляторы не посчитают. Это комплексный логарифм. Поэтому и ошибка. Подробнее в Википедии. IDE := Embarcadero.RADStudio.XE.Architect // Успешность метода научного тыка обратно пропорциональна извилистости головного мозга на кривизну рук © Последний раз редактировалось Sky.NET, 07.03.2011 в 00:29. |