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

0 голосов
120 просмотров

Какое значение будет принемать значение 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;</p>

writeln(y=,y);

end.

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


Информатика (1.4k баллов) | 120 просмотров
Дан 1 ответ
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.</p>

у=1944

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

y=0

(148k баллов)