Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на тему процедуры и функции
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
kvadrat
Условие:
Нажмите для просмотра прикрепленного файла

Program funkcii;
function f1(a:array of real; h:real):real;
begin
if a[1]<a[1]*a[3] then h:=a[1] else
h:=a[1]*a[3];
if a[3]+a[5]<h then h:=a[3]+a[5];
writeln('MIN=',h);
end;
function f2 (b:array of real; m:real):real;

begin
if b[2]+b[4]>b[1]+b[3] then m:=b[2]+b[4] else
m:=b[1]+b[3];
writeln('MAX=',m);
end;
var a:array[1..5] of real;
b:array[1..5] of real; h,m,z:real;i,j:integer;
begin
for i:=1 to 5 do
readln(a[i]);
for j:=1 to 5 do
readln(b[j]);
z:=f1(h,a[i])+f2(m,b[i]);
writeln('z=',z);
end.


Огромный респект и + в репу тому кто поможет smile.gif
Айра
Что-то не поняла откуда у тебя массивы появились, и что нужно сделать с этим: (d-a,b\c) Это тоже функция какая-то получается?

Без нее получилось так:
var a,b,c,d: real;

function f(x,y,z,v: real): real;
function min(x,y: real): real; //здесь просто вычисляется минимум среди двух чисел
begin
if x<y then min:=x
else min:=y;
end;

function max(x,y: real): real;
begin
if x>y then max:=x
else max:=y;
end;
begin
f:=max(x+y,y*z)/min(x,y*v); //а тут ты подставляешь сами выражения
end;

begin
writeln('введите числа');
readln(a,b,c,d);
writeln('получилось: ',f(a,b,c,d),'');
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.