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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2013, 13:02   #1
veronika55214
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 26
По умолчанию повторение цикла. Помогите вставить вывод,чтобы выводил промежуточный вариант

сама задача:
мощность цеха сборки некоторого предприятия составляет М1 изделий вида А и М2 изделий вида Б в сутки. ОТК в сутки может проверить не более К изделий. Составить план выпуска продукции, обеспечивающий ее максимальную стоимость, если стоимость изделия А равна Р1, стоимость изделия Б-Р2.
Решение:
Код:
program qq;
var
m1,m2,p1,p2,K:integer;
sum, ost:integer;
begin
sum:=0;
begin 
writeln( 'K: ');
readln(K);
writeln( 'm1: ');
readln(m1);
writeln( 'm2: ');
readln(m2);
writeln( 'p1: ');
readln(p1);
writeln( 'p2: ');
readln(p2);
ost:=K;

if(K=0)then
begin
writeln('ERROR');
end
else
begin
while(ost<>0) do 
begin
if(m1+m2<=K) then
begin
sum:=p1*m1+p2*m2;
writeln('Cost: ' ,sum, 'Izdeliy M1:',m1,'po cene: ',p1,' Izdeliy M2:',m2,' po cene ', p2);
ost:=0;
end
else
begin
if(p1>p2) then
begin
if(m1<K) then
begin
sum:=p1*m1+(K-m1)*p2;
writeln('Cost: ' ,sum, ' Izdeliy M1:',m1,' po cene: ',p1,' Izdeliy M2:',K-m1,' po cene ', p2);
ost:=0;

end
else if(m1>=K) then
begin 
sum:=p1*K;
writeln('Cost: ' ,sum, 'Izdeliy M1:',K,' po cene: ',p1,' Izdeliy M2:',0,' po cene ', p2);
ost:=0;
end
end
else if(p2>=p1) then
begin
if(m2<K) then
begin
sum+=p2*m2+(K-m2)*p1;
writeln('Cost: ' ,sum, ' Izdeliy M1:',K-m2,' po cene: ',p1,' Izdeliy M2:',m2,' po cene ', p2);
ost:=0;
end
else if(m2>=K) then
begin
sum:=p2*K;
writeln('Cost: ' ,sum, 'Izdeliy M1:',0,'po cene: ',p1,' Izdeliy M2:',K,' po cene ', p2);
ost:=0;
end;
end;
end;
end;
end;
end;
readln;
end.

Последний раз редактировалось Stilet; 16.12.2013 в 13:11.
veronika55214 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть вариант, чтобы работать на одном ноутбуке а картинка была на дисплее другого? melomandk Компьютерное железо 7 19.04.2013 07:53
Нужно чтобы косинус угла больше 1 не считал, а выводил сообщение "Косинуса нет" C++ novichok111 Помощь студентам 0 12.06.2012 19:53
Поочередной вывод значений цикла utro35 Общие вопросы Delphi 13 05.01.2012 23:30
что нужно изменить в программе, чтобы он выводил все буквы в алфавитном порядке, которые встретились в файле хотя бы 1 раз?! [Алёнка] Паскаль, Turbo Pascal, PascalABC.NET 4 06.12.2011 04:04