program searsdfg; uses crt; function f1(x:real):real; begin f1:=x*x*x; end; function f2(x,y,z:real):real; begin if (x>y) and (x>7) then f2:=x; end; function f3(x,y:real):real; begin if x>y then f3:=x; end; function f4(y:real):real; begin f4:=y*y*y; end; var x,y,c:real; begin clrscr; writeln('x=?'); readln(x); writeln('y=?'); readln(y); c:=(f1(x)+(x+f4(y))*sqrt((x*f4(y))+f1(x))/(f2(x,x*y,x+y)+f3(x,x*y))); writeln; writeln('c=',c:2:2); readln; end.
Как переделать решение так чтобы вместо функций были использованы процедуры? И пожалуйсто объясните как это делается.
dream-x
21.05.2008 0:56
Дружище проверь все условия они у тебя лажовые очень я бы даже сказал... дай нормальное условие задачи и что за функция max ее можно как угодно написать?... Короче дай нормальное задание!
kvadrat
21.05.2008 1:47
max(x,xy,x+y) означает найти наибольшее из перечисленных в скобках чисел.
Client
21.05.2008 2:17
function max(x,y:real):real; begin if x>y then max:=x else max:=y end;
А вызов
max(max(x,y),z)
kvadrat
21.05.2008 2:27
Нет вы меня непоняли, задача в первом посте решена верно, только нужно переделать её так чтоб она была решена не функциями а процедурами. вместо function должны быть procedure
dream-x
21.05.2008 3:36
Цитата(kvadrat @ 20.05.2008 23:27)
Нет вы меня непоняли, задача в первом посте решена верно, только нужно переделать её так чтоб она была решена не функциями а процедурами. вместо function должны быть procedure
Да неверно она решена ты что... Может я чего не втягиваю
volvo
21.05.2008 4:07
Цитата
задача в первом посте решена верно
Ты думаешь?
Цитата
function f3(x,y:real):real; begin if x>y then f3:=x; end;
А если условие не выполняется, что вернется из функции?
dream-x
21.05.2008 17:37
Цитата(volvo @ 21.05.2008 1:07)
Ты думаешь?
А если условие не выполняется, что вернется из функции?
Volvo вот я и говорю о том же там бред написан...
kvadrat
21.05.2008 23:14
Аха дейсвительно ошибся. Вот правильная задача через функции (уже провереная), необходимо записать её через процедуры. (так чтобы и в том и в том решении с одинаковыми даными выводило одинаковый ответ).
program rsdfew; uses crt; function f1(x:real):real; begin f1:=x*x*x; end; function f2(x,y,z:real):real; begin if (x>y) and (x>z) then f2:=x; if (y>x) and (y>z) then f2:=y; if (z>x) and (z>y) then f2:=z; end; function f3(x,y:real):real; begin if x>y then f3:=x else f3:=y; end; function f4(y:real):real; begin f4:=y*y*y; end; var x,y,c:real; begin clrscr; writeln('x=?'); readln(x); writeln('y=?'); readln(y); c:=(f1(x)+(x+f4(y))*sqrt((x*f4(y))+f1(x))/(f2(x,x*y,x+y)+f3(x,x*y))); writeln; writeln('c=',c:2:2); readln; end.
Вот попытка записать через процедуры но увы ответы не совпадают с предыдущим решением:
program rsdfew; uses crt; procedure p1(x:real; var f1:real ); begin f1:=x*x*x; end; procedure p2(x,y,z:real; var f2:real); begin if (x>y) and (x>z) then f2:=x; if (y>x) and (y>z) then f2:=y; if (z>x) and (z>y) then f2:=z; end; procedure p3(x,y:real; var f3:real); begin if x>y then f3:=x else f3:=y; end; procedure p4(y:real; var f4:real); begin f4:=y*y*y; end; var f1,f2,f3,f4,z,x,y,c:real; begin clrscr; writeln('x=?'); readln(x); writeln('y=?'); readln(y); p1(x,f1);p2(x,y,z,f2);p3(x,y,f3);p4(y,f4); c:=(f1+(x+f4)*sqrt((x*f4)+f1)/(f2+f3)); writeln; writeln('c=',c:2:2); readln; end.
Помогите исправить ошибки плиз
dream-x
22.05.2008 17:15
program rsdfew; uses crt; var f1,f2,f3,f4:real; procedure p1(q:real; var f1:real ); begin f1:=q*q*q; end; procedure p2(q,w,e:real; var f2:real); begin if (q>w) and (q>e) then f2:=q; if (w>q) and (w>e) then f2:=w; if (e>q) and (e>w) then f2:=e; end; procedure p3(q,w:real; var f3:real); begin if q>w then f3:=q else f3:=w; end; procedure p4(w:real; var f4:real); begin f4:=w*w*w; end;
var x,y,z,c:real; begin clrscr; writeln('x=?'); readln(x); writeln('y=?'); readln(y); p1(x,f1); p2(x,x*y,x+y,f2); p3(x,x*y,f3); p4(y,f4); c:=(f1+(x+f4)*sqrt((x*f4)+f1)/(f2+f3)); writeln; writeln('c=',c:2:2); readln; end.
Вот теперь ответы сходятся, только я не проверял правильные ли ответы ...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.