пятница, 24 октября 2014 г.

Цикл while. Вариант 1

Основы алгоритмизации и программирования
Вариант 1

№ 1. Определите, что будет напечатано в результате выполнения программы, записанной ниже на языке программирования Pascal:
var k, s: integer;
begin
   k:=9; s:=43;
   while s >= 0 do begin
      k:= k – 1;
      s:= s – 2 * k
   end;
   writeln(k);
end.

№ 2. Определите, что будет напечатано в результате выполнения программы, записанной ниже на языке программирования Pascal:
var k, s: integer;
begin
   k:=5; s:=4;
   while s >= 0 do begin
      k:= k – 1;
      s:= s + k;
   end;
   writeln(k);
end.

№ 3. Определите, что будет напечатано в результате выполнения программы, записанной ниже на языке программирования Pascal:
var n, s: integer;
begin
   n:=0;
   s:=50;
   while s >= 15 do begin
      s:= s – 3;
      n:= n + 1;
   end;
   writeln(n)
end.

№ 4. Определите, что будет напечатано в результате выполнения программы, записанной ниже на языке программирования Pascal:
var n, s: integer;
begin
   n:=1;
   s:=1;
   while s < 20 do begin
      s:= s * 2;
      n:= n + 3;
   end;
   writeln(n)
end.

№ 5. Определите значение переменной Х после выполнения фрагмента программы:
x:=1; y:= -20;
while x + y < 0 do begin
   x:= x * 2;
   y:= y + 2
end;

№ 6. Определите значение переменной Y после выполнения фрагмента программы:
x:=100; y:=1;
while x - y > 0 do begin
   x:= x - y;
   y:= y * 2
end;

№ 7. Определите значение переменной Y после выполнения фрагмента программы, записанной на языке программирования Pascal:
x:=25; y:= -20;
while x * y < 0 do begin
   x:= x – 5;
   y:= y + 2
end;

№ 8. Определите значение переменной Y после выполнения фрагмента программы, записанной на языке программирования Pascal:
x:= -25; y:= -20;
while x * y > 0 do begin
   x:= x + 5;
   y:= y + 3
end;

№ 9. Определите, что будет записано в результате работы следующего фрагмента программы:
s:=0; x:=3; k:=1;
while s < 100 do begin
   s:= s + x * k;
   k:= k + 1
end;
writeln(k);

№ 10. Определите, что будет напечатано в результате работы следующего фрагмента программы:
s:= 0; x:= 1; k:= 1;
while s < 100 do begin
   s:= s + x * k;
   k:= 2 * k
end;
writeln(s);


Ответы: №1 – 5, №2 – (-5), №3 – 12, №4 – 16, №5 – 16, №6 – 64, №7 – (-10), №8 – (-5), №9 – 9, №10 – 127.