![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
народ помогите что не правильно?
задача: a^0/0!+a^1/1!+...+a^n/n! программа: Код:
procedure TForm1.Button1Click(Sender: TObject); var z,l,k,a,s,s1,s2:real; i,n:integer; begin n:=strtofloat(edit1.text); a:=strtofloat(edit2.text); s:=1; for i:=1 to n do begin s1:=1; for l:=1 to i do begin s2:=1 for k:=1 to i do s2:=s2*k; z:=power(a,l); s1:=s2*(z/s2); end; end; s:=s+s1; edit3.Text:=floattostr(s); end; end. Bargest: оформляем код тегами! [Error] Unit1.pas(36): For loop control variable must have ordinal type [Error] Unit1.pas(39): For loop control variable must have ordinal type [Error] Unit1.pas(42): Missing operator or semicolon [Error] Unit1.pas(43): Incompatible types: 'Real' and 'procedure, untyped pointer or untyped parameter' [Error] Unit1.pas(44): Undeclared identifier: 'power' с меня няши) Последний раз редактировалось Bargest, 13.05.2012 в 16:27. |
|
#2
|
||||
|
||||
|
Все же ясно написано: переменная цикла FOR должа быть целого типа, power не известен, в 42 строчке не хватает ";". Для этого есть переводчики, если с английским никак.
|
|
#3
|
|||
|
|||
|
а почему он power не понимает?
Последний раз редактировалось afrosamurai, 13.05.2012 в 16:39. |
|
#4
|
||||
|
||||
|
Скорее всего не подключен модуль Math в uses.
|
|
#5
|
|||
|
|||
|
Цитата:
1. Первый член суммы будет 1. 2. Тут лучше считать инкрементом, а то в переполнение быстро попадешь. Код:
uses Math;
function F(A : Double; N : Integer) : Double;
var
I : Integer
Ai : Double;
begin
Result := 1;
Ai := 1;
For I := 1 To N Do
Begin
Ai := Ai * A / I;
Result := Result + Ai;
End;
end; |