Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задачa на функцию min :(

Автор: Димас 23.02.2007 20:36

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


Каким способом решить? и что требуется в задае, потому что я не очень понял! no1.gif

Автор: -=Считывающий=- 23.02.2007 22:11

Цитата(Димас @ 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;


Автор: Димас 23.02.2007 22:15

общем я не понял что Есть в задачи:

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

Автор: Артемий2 23.02.2007 22:15

Считывающий, а как с условием? Твоя 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 22:19

Цитата(Димас @ 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: точно))) сори)

Автор: Артемий2 23.02.2007 22:24

Цитата
min(a,3*n)*

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

Автор: -=Считывающий=- 23.02.2007 22:28

Цитата(Артемий2 @ 23.02.2007 18:24) *

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

хмм....)... видимо n:={че-то там}))) Не, на самом деле - хз...

Автор: Артемий2 23.02.2007 22:30

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

Автор: -=Считывающий=- 23.02.2007 22:33

Цитата(Артемий2 @ 23.02.2007 18:30) *

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

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

Автор: Артемий2 23.02.2007 22:39

Цитата

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.

Автор: -=Считывающий=- 23.02.2007 22:43

ну да, надо либо n указать, либо b вместо него, согласен... просто первый раз проглядел)) Артем, чего ты так цепляешься? Все Ок))

Автор: мисс_граффити 23.02.2007 22:49

а почему не

function Min(x,y:integer):integer;
begin
If (x<y) then
min:=x
else
min:=y;
end;
?

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


автор, переименуй. иначе тема будет закрыта.

Автор: -=Считывающий=- 23.02.2007 22:50

Можно и так) по сути одно тоже))

Автор: volvo 23.02.2007 23:44

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

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



Добавлено через 2 мин.
По теме:
Function min(x, y: integer): integer;
begin
min := x;
if y < x then min := y;
end;
...
{ Использовать по необходимости }