Turbo Pascal

A

AkeL.php

Guest
Хочется сказать одно, без знания математики можно даже не смотреть в сторону программирования.
 

FEOFAN

http://feofan.com
Хочется сказать одно, без знания математики можно даже не смотреть в сторону программирования.
Я математику толком не знаю.
Тем не менее это мне не мешает...
Математека нужна уже на более высоком уровне прогшрамирования...
А в обыденной жизни сколрее нужна логика и.. опыт что-ли программистский.
 

Tepesh

МЕЕЕЕЕЕД
3.Зделана покупка от 1 копейки до 1 грн. Написать прогу каторая выдавалабы здачу камейками большего достоинцтва.
писал через составной оператор вышло очень длино и почти правильно но как его зделать через цикл не догоняю.... 8(

можєт так
for zdacha:= 1 to 100 do
а дальше я хз 8(((
 

quant

yeah
3.Зделана покупка от 1 копейки до 1 грн. Написать прогу каторая выдавалабы здачу камейками большего достоинцтва.
такого типа - эт интересная задача не низкого уровня на динамическое программирование
решение там интересное, но я его увы не помню
если просто брать пока возможно монеты наибольшего номинала можно получить НЕ ПРАВИЛЬНОЕ решение
ох меня однажды нагрели на такой задаче
контрольный пример для конкретно этой задачи не знаю,
но вот к примеру у нас есть монеты номиналом 5, 10, 20 и 25 и нужно выложить 40 копеек - что зделает алгоритм влом подбирающий наибольшие значение пока возможно? - он выдаст нам 25 + 10 + 5; хотя правильное решение 20 + 20!
 

KoLoB

KoLoB.cz
А если каждый раз цикл по 10-15 раз пропускать...

Когда то давно решал эту задачу через процедуры...
 

Vladimir B.

милый добрый кот
Модератор
Cделана покупка от 1 копейки до 1 грн. Написать прогу каторая выдавалабы здачу капейками большего достоинцтва.
такого типа - эт интересная задача не низкого уровня на динамическое программирование
решение там интересное, но я его увы не помню
если просто брать пока возможно монеты наибольшего номинала можно получить НЕ ПРАВИЛЬНОЕ решение
ох меня однажды нагрели на такой задаче
контрольный пример для конкретно этой задачи не знаю,
но вот к примеру у нас есть монеты номиналом 5, 10, 20 и 25 и нужно выложить 40 копеек - что зделает алгоритм влом подбирающий наибольшие значение пока возможно? - он выдаст нам 25 + 10 + 5; хотя правильное решение 20 + 20!
Задача-то интересная, но один из главных принципов решения любых задач - прочитать условие (см. выше). Если решить задачу "интересно", в данном случае она не выполнит условие - работодатель скажет "@#%@#, что это ты мне принес?!".

P.S. Это почему это "20+20" - правильнее, чем "25+10+5"?
P.P.S. В этой задаче у меня когда-то было еще и ограничение количества монеток.
 

Merlіn

dead wizard
Возможно это подойдёт под 3-ю задачу(хотя просто получается).
PS Вводится сразу сумма сдачи в коп.
Код:
program Project;

{$APPTYPE CONSOLE}

uses
  SysUtils;
const
coins: array[1..6] of byte=(50,25,10,5,2,1);
var
count :array [1..6] of byte;
buf:string;
i,amount:integer;

begin

write('Enter amount :');
readln(buf);
Val(buf,amount,i);
if amount<0 then i:=1;

//проверка введенных данных
while i<>0 do
begin
write('Enter amount (again):');
readln(buf);
Val(buf,amount,i);
if amount<0 then i:=1;
end;


for i:=1 to 6 do
begin
count[i]:=amount div coins[i];
amount:=amount - coins[i]*count[i];
writeln(IntToStr(coins[i])+#9+IntToStr(count[i]));
end;

//проверка остатка
if amount<>0 then writeln(#13+'error '+IntToStr(amount));

writeln('Press Enter ...');
readln;
end.
 

Ганнусик

Неуёмная жажда жизни
Как записать выражение -1<=Х<=1 ? а в прологе, так же записуется? кто-нибудь знает?
 
Зверху