Помощь - Поиск - Пользователи - Календарь
Полная версия: Задачa на функцию min :(
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Димас
Эх. опьять задача на Turbo Pascal 7.0, и преподватель который ничего не обясняет:(Задача:
Определить значение
z=min(a,3n)*min(2a-b,2b) , где min(x,y) есть минимальное из чисел x,y. При решении залачи: Определить и использовать функцию min.


Каким способом решить? и что требуется в задае, потому что я не очень понял! no1.gif
-=Считывающий=-
Цитата(Димас @ 23.02.2007 16:36) *

Определить значение
z=min(a,3n)*min(2a-b,2b) , где min(x,y) есть минимальное из чисел x,y. При решении залачи: Определить и использовать функцию min.

На сколько я понял, min просто сравнивает числа...
Тогда все просто:

function Min(x,y:integer):integer;
begin
If (x>y) or (x=y) then Min:=x;
If y>x then Min:=y;
end;

Димас
общем я не понял что Есть в задачи:
 z=min(a,3n)*min(2a-b,2b) , где min(x,y) есть минимальное из чисел x,y. 
даже не сколько на паскале, а сколько логику, и алгоритм... Єх..
Артемий
Считывающий, а как с условием? Твоя min находит max!

Добавлено через 1 мин.
function Min(x,y:integer):integer;
begin
If (x<y) or (x=y) or (y=x) then Min:=x;
If y<x then Min:=y;
end;
-=Считывающий=-
Цитата(Димас @ 23.02.2007 18:15) *

общем я не понял что Есть в задачи:
 z=min(a,3n)*min(2a-b,2b) , где min(x,y) есть минимальное из чисел x,y. 
даже не сколько на паскале, а сколько логику, и алгоритм... Єх..

логика... хмм... незнаю... По идеи это просто функция сравнения.. Попробуй написать прогу, которая решит твой пример... типа:

a:={что-то там};
b:={что-то там};
z:=min(a,3*n)*min(2*a-b,2*b);
Writeln('Результат: ',z);



2Артемий2: точно))) сори)
Артемий
Цитата
min(a,3*n)*

Хорошо, тогда объясни значение n?
-=Считывающий=-
Цитата(Артемий2 @ 23.02.2007 18:24) *

Хорошо, тогда объясни значение n?

хмм....)... видимо n:={че-то там}))) Не, на самом деле - хз...
Артемий
ТОгда зачем писать заведомо неправильное решение? blink.gif Димас, к тебе вопрос - что за n?
-=Считывающий=-
Цитата(Артемий2 @ 23.02.2007 18:30) *

ТОгда зачем писать заведомо неправильное решение? blink.gif

Почему не правильное?? Сама функция для двух чисел - верна (сори за промах с условием))). Нет, ну правда?)
Артемий
Цитата

a:={что-то там};
b:={что-то там};
z:=min(a,3*n)*min(2*a-b,2*b);
Writeln('Результат: ',z);

1: Попробуй откомпилить свое без n..
2: Тогда правильней может так?
(допустим, что вместо n есть b)
begin
readln(a);
readln(b);
z:=min(a,3*b)*min(2*a-b,2*b);
writeln(z);
readln
end.

или
begin
readln(a);
readln(b);
readln(n);
z:=min(a,3*n)*min(2*a-b,2*b);
writeln(z);
readln
end.
-=Считывающий=-
ну да, надо либо n указать, либо b вместо него, согласен... просто первый раз проглядел)) Артем, чего ты так цепляешься? Все Ок))
мисс_граффити
а почему не
function Min(x,y:integer):integer;
begin
If (x<y) then
min:=x
else
min:=y;
end;
?

и вообще.
 ! 
заголовок темы должен быть информативным!


автор, переименуй. иначе тема будет закрыта.
-=Считывающий=-
Можно и так) по сути одно тоже))
volvo
Цитата
ну да, надо либо n указать, либо b вместо него, согласен... просто первый раз проглядел)) Артем, чего ты так цепляешься?

 ! 
Цитата
7. Проверяйте программы перед тем, как разместить их на форуме!!!
-=Считывающий=-, как ты думаешь, ЭТО тебя не касается? Будут рецидивы - начну наказывать. Бездумно будешь постить где-нибудь в другом месте. ЗДЕСЬ изволь ДУМАТЬ!



Добавлено через 2 мин.
По теме:
Function min(x, y: integer): integer;
begin
min := x;
if y < x then min := y;
end;
...
{ Использовать по необходимости }
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.