Даны действительные числа a, b, c. Получить выражение

Walter Bishop

Даны действительные числа a, b, c. Получить Решить двумя способами: с помощью процедуры и функции.
5 ответов

Walter Bishop

Напишите функцию
function Min(x,y:real):real;
 begin
  if x<y then Min:=x
  else Min:=y;
 end;
А затем вычисляйте ее значения с реальными параметрами.


Walter Bishop

uses crt;
var d,a,b,c:real;
function min(x,y:real):real;
 begin
  if x<y then min:=x
  else min:=y;
  end;
begin
  clrscr;
  readln(a, b, c);
  d:=(min(a,a+b)+min(a,b+c))/(1+min(a+b*c,b));
  writeln(d);
  readln;
end.
Проверьте, пожалуйста, правильно ли решено ?Без понятия как решать через процедуру.


Walter Bishop

через процедуру
uses crt;
var d,a,b,c,minim1,minim2,minim3:real;
 
procedure min(x,y:real; var m: real);
 begin
  if x<y then m:=x
  else m:=y;
  end;
  
begin
  clrscr;
  readln(a, b, c);
  min(a,a+b,minim1);
  min(a,b+c,minim2);
  min(a+b*c,b,minim3);
  d:=(minim1+minim2)/(1+minim3);
  writeln(d:0:3);
  readln;
end.


Walter Bishop

Не понимаю что означают с 13 - 15 включительно строки. Объясните, пожалуйста.


Walter Bishop

Walter Bishop, если в функции сама функция приобретает искомое значение, то в процедуре искомое значение (выходной параметр) необходимо присваивать некоторой переменной. как если бы для функции мы делали r1:=min(a,a+b). поэтому, когда в теле программы инициализируется процедура, в ее параметрах прописывается и та переменная, в которую "выйдет" значение. в нашем случае это minim1, вещественная переменная, в которую "выйдет" минимальное из значений a и a+b, а также minim2 и minim3. То есть если мы производим вычисления через процедуру, а не через функцию, нам нужны вспомогательные переменные. как-то так =)