Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2014, 10:19   #1
Diego_faer
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 11
По умолчанию Решение уравнения

Здравствуйте Помогите решить задачу а то у меня не получается.
Вот мой код
Код:
function TForm1.Pow(A, B: Real): Real;
{ Функция возведения в степень (A^B }
Begin
    If A < 0 Then Pow := (-1)*Exp(B*Ln(A))
       Else Pow := Exp(B*Ln(A));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  A:=StrToInt(Edit1.Text);
  B:=StrToInt(Edit2.Text);
  C:=StrToInt(Edit3.Text);
  D:=StrToInt(Edit4.Text);
  E:=StrToInt(Edit5.Text);
 
  Kmp:=StrToInt(Edit3.Text);
 
  A4:=A/100;
  A5:=(A4/10)*D;  //rodil
  A6:=(A4/10)*E;  //umerl
  
  Kr:=A5;
  Ks:=A6;
 
  Kop:=Kr-Ks+Kmp;
  q:=1+(Kop/1000);
  
  r:=pow(B,q);
    Sn:=A*r;
 
  label10.Caption:=FloatToStrF(Sn,ffFixed,12,3);
  label7.Caption:='Результат за '+FloatToStrF(B,ffFixed,12,0)+' лет ='+ FloatToStrF(Sn,ffFixed,12,3);
  label24.Caption:=FloatToStrF(A5,ffFixed,12,3);
  label26.Caption:=FloatToStrF(A6,ffFixed,12,3);
end;
Изображения
Тип файла: jpg 1213.jpg (5.3 Кб, 91 просмотров)

Последний раз редактировалось Stilet; 18.05.2014 в 10:50.
Diego_faer вне форума Ответить с цитированием
Старый 18.05.2014, 10:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что это за уравнение и что не получается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2014, 11:39   #3
Diego_faer
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 11
По умолчанию

Я ввожу с клавиатуры значения
А- Это население (вводится в тысячах в формуле это Sn)
В- количество лет (в формуле это t)
D- это сколько родилось ( вводится в % в формуле это Кр)
E- это сколько умерло ( вводится в % в формуле это Ксм)
Kmp -это коэффициент миграции(вводится в тысячах в формуле этоКмех.пр)

Не получается правильно поднести в степень.
Кр и Ксм нужно еще рассчитывать для каждого Sn разные.
И Sn нужно записать как массив и вывести в Memo.
Diego_faer вне форума Ответить с цитированием
Старый 18.05.2014, 12:09   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не получается правильно поднести в степень.
Используй функцию power() из модуля math.
Цитата:
Кр и Ксм нужно еще рассчитывать для каждого Sn разные.
И откуда их брать? каждый раз вводить?
Цитата:
И Sn нужно записать как массив и вывести в Memo.
Код:
var s:array of double;i:integer;
...
SetLength(s,n);
...
for i:=low(s) to High(s) do begin
 Наполняем s[i];
 Memo.Lines.Append(format('%5.2',[s[i]]));
end;
...
SetLength(s,0);
end;
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2014, 12:09   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Не получается правильно поднести в степень.
Используй функцию power() из модуля math.
Цитата:
Кр и Ксм нужно еще рассчитывать для каждого Sn разные.
И откуда их брать? каждый раз вводить?
Цитата:
И Sn нужно записать как массив и вывести в Memo.
Код:
var s:array of double;i:integer;
...
SetLength(s,n);
...
for i:=low(s) to High(s) do begin
 Наполняем s[i];
 Memo.Lines.Append(format('%5.2',[s[i]]));
end;
...
SetLength(s,0);
end;
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2014, 12:21   #6
Diego_faer
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 11
По умолчанию

Я ввожу
D- это сколько родилось ( вводится в % в формуле это Кр)
E- это сколько умерло ( вводится в % в формуле это Ксм)
а рассчитываются вот здесь
A4:=A/100;
A5:=(A4/10)*D; //rodil
A6:=(A4/10)*E; //umerl
и вводится они всего лиш 1раз и просто высчитываются проценты из каждого Sn новые.
Diego_faer вне форума Ответить с цитированием
Старый 18.05.2014, 13:01   #7
Diego_faer
Пользователь
 
Регистрация: 18.05.2014
Сообщений: 11
По умолчанию

А можете подсказать как записать это уравнение в цыкл с проверкой степени на больше или меньше нуля.
Изображения
Тип файла: jpg 121.JPG (3.6 Кб, 116 просмотров)
Diego_faer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение уравнения ser70 Паскаль, Turbo Pascal, PascalABC.NET 1 24.10.2013 17:40
решение уравнения Артл Помощь студентам 1 20.05.2011 03:48
Решение уравнения Killep Помощь студентам 1 18.05.2011 22:59
Решение уравнения Datrav Паскаль, Turbo Pascal, PascalABC.NET 2 06.06.2008 08:23