Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2012, 22:57   #1
victrix
Новичок
Джуниор
 
Регистрация: 22.11.2012
Сообщений: 1
По умолчанию Задача на операторы цыклу

Составить алгоритм решения задачи: сколько можно купить ваз, салфеток и цветов, платя за вазу 10р., за салфетку-5р., а за цветок – 0,5р., если на 100р. надо купить 100 предметов.
victrix вне форума Ответить с цитированием
Старый 24.11.2012, 04:29   #2
lamer_1
 
Регистрация: 17.11.2012
Сообщений: 4
По умолчанию

Код:
const count=100;
      money=100;
var v,s,c:integer;
begin
for v:=1 to 10 do 
for s:=1 to 20 do 
for c:=1 to 200 do 
if (v*10+s*5+c*0.5=money)and(v+s+c=count) then 
writeln('Ваз:',v,' Салфеток:',s,' Цветов:',c); 
end.
lamer_1 вне форума Ответить с цитированием
Старый 24.11.2012, 09:03   #3
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

2 lamer_1:
ответ будет верным, но только если будет вообще. Заставлять компьютер делать СТОЛЬКО лишней работы, имхо, непозволительно. Ламер_1, ты вообще проходил деление в школе? или, когда нужно поделить, ты в голове каждый раз цикл прокручиваешь??
Вот примерно так можно сделать..
Код:
const
  count=100;
  money=100;
  vp= 10;
  sp= 5;
  cp= 0.5;

var
  v,s,c:integer;

begin
  for v:=1 to round(money/vp) do 
    for s:=1 to round((money-v*vp)/sp) do begin
      c:= round((money-v*vp-s*sp)/cp);
      if v+s+c=count then writeln('Ваз:',v,' Салфеток:',s,' Цветов:',c)
    end
end.
(не проверял, исправлял прямо тут)
Я не стал тут делать проверку на правильность суммы - при данных ценах на комплектующие она не требуется. Если цены изменятся, можно добавить.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 25.11.2012, 03:07   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

TinMan, +1

а вообще, ничто не ново под луной..
см.

http://www.programmersforum.ru/showp...89&postcount=3

http://www.programmersforum.ru/showp...11&postcount=5
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на С. Операторы if и switch Daniel_28 Помощь студентам 3 05.10.2012 23:32
задача на операторы цикла Miwqa Паскаль, Turbo Pascal, PascalABC.NET 2 19.05.2012 22:53
Задача "Операторы цикла" patisson74 Помощь студентам 1 18.11.2009 02:39