Объясните, , эту программу, по пунктам! зачем б и с обнулять, почему д=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.​

Katedor Katedor    1   09.05.2019 14:59    0

Ответы
отличница446 отличница446  09.06.2020 18:20

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

Я так понимаю это Турбо Паскаль, так как в нем обязательно нужно указать значение переменной перед тем как использовать ее в циклах. Поэтому 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.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика