• Предмет: Информатика
  • Автор: Катя2013март
  • Вопрос задан 10 лет назад

Какое значение будет принемать значение Y после выполнения фрагментов программы:

1. var x,y: INTEGER;

BEGIN

y:=0;

for x:=1 to 9 do

y:=y+x;

writeln(y=,y);

END.

 

2.var x,y: INTEGER;

BEGIN 

y:=0;

for x:=10 downto 5 do

y:=y+1

writeln(y=,y);

END

 

3. var x,y: INTEGER;

BEGIN

y:=1;

x:=15;

while x>5 do

begin 

  x:=x-3;

  y:=y*x;

end;

writeln(y=,y)

END.

4. var x,y: INTEGER;

begin

   y:=1;

   x:=10;

repeat

   y:=y*x+x;

   x:=x-2;

until x<0;

writeln(y=,y);

end. 

пожалуйста напишите подробное решение и как получаются ответы

 

Ответы

Ответ дал: nelle987
0

1. у - сумма 1+2+3+...+9 (всего 9 проходов, на каждом увеличивается на i)

y=45

2. y - число проходов цикла от 10 до 5

у=7

3. Считаем по шагам...

[0 проходов цикла]: y=1, x=15

[1]: x=15-3=12, y=1*12=12

[2]: x=12-3=9, y=12*9=108

[3]: x=9-3=6, y=108*6=648

[4]: x=6-3=3, y=648*3=1944

[5]: x<=5.

у=1944

4. На последнем шаге x станет равным нулю (каждый раз уменьшается на 2, пока x>=0). Тогда y=0*y+0=0

y=0

Похожие вопросы