Автор
|
Тема: илементарная задача(решите плиз)
|
YPYPY |
опубликован 08-01-2002 20:43 MSK
При помоши IF{даны числа X,Y,Y найти значение выражение. u=(max^2(x,y,z)-2^x*min(x,y,z))/(sin^2x+max(x,y,z)/min(x,y,z))
|
Valery Votintsev
|
опубликован 10-01-2002 19:23 MSK
Не обижайся, но иллеминтарныи задачи надо решать самому. Пробуй. Если не будет получаться - поможем. |
YPYPY
|
опубликован 11-01-2002 13:28 MSK
я решил задачу но при помоши Function,но училка сказала что эту задачу надо решать ен при помоши Function,а как ее переделать чтоб небыло Funktion я не знаю..ПОМОГИТЕ ПИРЕДЕЛАТЬ ЗАДАЧУ ЧТОБ ОНА ДЫЛА РЕШЕНА НЕ FUNCTION а IF..program fln; uses crt,dos; var x,y,z,u,f1:real; i:integer; function max(a,b,c:real):real; begin if (a>=b) and (a>=c) then max:=a; if (b>=a) and (b>=c) then max:=b; if (c>=a) and (c>=b) then max:=c; end; function min(q,w,e:real):real; begin if (q<=w) and (q<=e) then min:=q; if (w<=q) and (w<=e) then min:=w; if (e<=q) and (e<=w) then min:=e; end; begin write('‚введите X:'); readln(x); write('‚введите Y:'); readln(y); write('‚введите Z:'); readln(z); f1:=1; for i:=1 to round(x) do f1:=2*f1; u:=(max(x,y,z)*max(x,y,z)-f1*min(x,y,z))/(sin(2*x)+max(x,y,z)/min(x,y,z)); writeln(u:6:2); readkey; end. |
Valery Votintsev
|
опубликован 11-01-2002 15:19 MSK
Твое решение - ПРАВИЛЬНОЕ. Именно так и НАДО делать. Но если уж баба капризничает :) чёрт с ней - сделай, как она просит. Для этого вместо функций заведи переменные max & min, а вычисления из функций перенеси вниз, сразу после ввода данных.var x,y,z,u,f1:real; i:integer; max,min:real; ... write('‚введите Z:'); readln(z); if (x>=y) and (x>=z) then max:=x; if (y>=x) and (y>=z) then max:=y; if (z>=x) and (z>=y) then max:=z; if (x<=y) and (x<=z) then min:=x; if (y<=x) and (y<=z) then min:=y; if (z<=x) and (z<=y) then min:=z; ... u:=(max**2-f1*min)/(sin(2*x)+max/min); ... |
YPYPY
|
опубликован 11-01-2002 16:21 MSK
ТИПО ТАК ИЛИ НЕ ТАК,НО ПОМОЕМУ ЧЕ ТО НЕ ТОprogram fln; uses crt,dos; var x,y,z,u,f1:real; max,min:real; begin write('VVEDITE X:'); readln(x); write('VVEDITE Y:'); readln(y); write('VVEDITE Z:'); readln(z); if (x>=y) and (x>=z) then max:=x if (y>=x) and (y>=z) then max:=y if (z>=x) and (z>=y) then max:=z if (x>=y) and (x>=z) then min:=x if (y>=x) and (y>=z) then min:=y if (z>=x) and (z>=y) then min:=z f1:=1 for i:=1 to round(x) do f1:=2*f1; u:=(max**2-f1*min)/(sin(2*x)+max/min); writeln(u:6:2); readkey; end |
7in
|
опубликован 11-01-2002 23:10 MSK
if ..... max if ..... minf1 := 1; for i := 1 to Round(x) do f1 := 2*f1; u := (sqr(max)-f1*min) / (sqr(sin(x))+max/min) |
7in
|
опубликован 11-01-2002 23:12 MSK
А ещё лучше...u := (sqr(max)-exp(x*ln(2))*min) / (sqr(sin(x))+max/min) а for убрать вообще... |
YPYPY
|
опубликован 12-01-2002 00:05 MSK
А КТОНИБУТЬ МОЖЕТ НАПИСАТЬ ЦЕЛИКОМ ЗАДАЧУ А ТО Я ФАЩЕ НЕ ВТЫКАЮ КАК , ЧЕ ,КУДА... |
Zzzaraza
|
опубликован 12-01-2002 08:48 MSK
var x,y,z,u:real; begin readln (x,y,z); min:=y; max:=min; if x<min then min:=x else max:=x; if z<min then min:=z else begin if max<z then max:=z; end; u := (sqr(max)-exp(x*ln(2))*min) / (sqr(sin(x))+max/min); сей формула любезно предоставлена 7in :) writeln(u); end. зы вроде так, щас под рукой нет компилятора, но вроде правильно ззы откуда взялось f1:=1 for i:=1 to round(x) do f1:=2*f1; ? условие задачи полностью напиши plz
|
YPYPY
|
опубликован 12-01-2002 13:42 MSK
ЭТА ПРОГА НЕ РАБОТАЕ |
Zzzaraza
|
опубликован 13-01-2002 09:09 MSK
ы-ыыы, min и max не описал :(var min,max,x,y,z,u:real; begin readln (x,y,z); min:=y; max:=min; if x<min then min:=x else max:=x; if z<min then min:=z else begin if max<z then max:=z; end; u := (sqr(max)-exp(x*ln(2))*min) / (sqr(sin(x))+max/min); writeln(u); end.
|