Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите с задачей, пожалуйста (http://www.tehnari.ru/f41/t253073/)

Виллилен 04.04.2017 15:10

Помогите с задачей, пожалуйста
 
Задана производственная функция, цены единицы первого и второго ресурсов, а также ограничения I в сумме, которая может быть потрачена на приобретение ресурсов (сумма ≤ I). Найти величины используемых ресурсов (x, y), при которых фирма-производитель получит наибольшую прибыль:
K(x, y) = 10 ∙ √x ∙³√y
p1 = 2, p2 = 4, I = 12.

Vladimir_S 04.04.2017 16:35

Цитата:

Сообщение от Виллилен (Сообщение 2476085)
Задана производственная функция, цены единицы первого и второго ресурсов, а также ограничения I в сумме, которая может быть потрачена на приобретение ресурсов (сумма ≤ I). Найти величины используемых ресурсов (x, y), при которых фирма-производитель получит наибольшую прибыль:
K(x, y) = 10 ∙ √x ∙³√y
p1 = 2, p2 = 4, I = 12.

Поскольку в лучших традициях нашего форума вопрошающий не счел нужным перетруждаться, указав требуемый язык программирования, я, как дуэлянт в старину, право выбора оружия оставляю за собой.
Драться будем на Паскале.
Претензии типа "а мне надо на C#" НЕ ПРИНИМАЮТСЯ.
Код:

Const
 I=12;
 p1=2.0;
 p2=4.0;

Var
 n1,n2,n1max,n2max:Byte;
 x,y,S,Smax:Real;

Function K(z1,z2:real):Real;
begin
 K:=Sqrt(z1)*Exp(Ln(z2)/3)*10;
end;

Begin
 Smax:=0;
 for n1:=1 to 4 do
  begin
  x:=p1*n1;
  n2:=0;
  repeat
    Inc(n2);
    y:=p2*n2;
    S:=K(x,y);
    if ((x+y)<=I) then
    Writeln('x = ',Round(x),'    y = ',Round(y),'    K = ',S:0:5);
    if ((x+y)<=I) and (S>Smax) then
    begin
      Smax:=S;
      n1max:=n1;
      n2max:=n2;
    end;
  until x+y>I;
  end;
 Writeln;
 Writeln('Result:');
 Writeln('x = ',Round(p1*n1max));
 Writeln('y = ',Round(p2*n2max));
 Readln
End.



Часовой пояс GMT +4, время: 17:34.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.