• Предмет: Информатика
  • Автор: LARINNONEDIMA
  • Вопрос задан 6 лет назад

Объясните, пожалуйста, эту программу, по пунктам! Зачем б и с обнулять, почему д=1000? Если распишите, буду безмерно благодарна!

program four;
uses crt;
var a, b, c, d, kop, rub:real;
begin
clrscr;
writeln('sena 1 kg fruktov');
readln(a);
b:=0;
c:=0;
d:=1000;
repeat
c:=c+b;
writeln('ves fructa ne bolee 150 g');
readln(b);
d:=d-b;
until d<0;
c:=c/1000;
a:=a*c;
rub:=trunc(a);
kop:=(frac(a))*100;
writeln(rub:4:0,' rub ',kop:4:0,' kop');
readkey;
end.​

Приложения:

Ответы

Ответ дал: sablibk16
0

Вообще программа странно написана.

Я так понимаю это Турбо Паскаль, так как в нем обязательно нужно указать значение переменной перед тем как использовать ее в циклах. Поэтому b и c присвоили 0. (В PascalABC нулю присваивать не обязательно)

d = 1000, потому что максимальный вес, который может вместить в себя пакет равен 1кг. Так как фрукты в граммах, то d присваиваем не 1, а 1000.

Я бы написал программу так:

program ll1;

var sum, a, vf: integer;

pr_rub, pr_kop: real;

begin

readln(a); //цена фруктов за кг в руб

max_v:=1000; //максимально возможный вес в гр.

sum:=0; //изначальный вес пакета

while sum<=max_v do

begin

readln(vf); //вводим вес фруктов

if vf > 150 then

while vf > 150 do

begin

writeln('a<=150');

readln(vf);

end; //по условию, вес фрукта не должен превышать 150гр

sum:=sum+vf; //находим общий вес фруктов

end;

pr_rub:= (sum * a) / max_v; //находим цену в рублях

pr_kop:= pr_rub * 100; //переводим рубли в копейки

writeln('Price RUB: ', pr_rub:4:0);

writeln('Price KOP: ', pr_kop:4:0);

readln();

end.

Ответ дал: LARINNONEDIMA
0
огромное спасибо!
Ответ дал: LARINNONEDIMA
0
кто шарит, напишите, пожалуйста, в лс!
Вас заинтересует