32
Объяснение:
Данная программа прибавляет к переменной s 128, а еще увеличивает переменную n в два раза, и все это до тех пор пока s меньше или равняется 1024. То есть, эти изменения переменных прекратятся, когда условие цикла не будет выполнено (а именно, когда s станет больше 1024). И после того, как это произойдет программа выведет значение переменной n (как раз то, что нам нужно узнать!)
Итак, запустим программу:
n = 1
s = 0
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 2
s = 128
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 4
s = 256
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 8
s = 512
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 16
s = 1024
Условие цикла выполняется (s меньше или равняется 1024)? Да.
Выполняется цикл.
После цикла:
n = 32
s = 2048
Условие цикла выполняется (s меньше или равняется 1024)? Нет (наконец-то!).
Цикл перестает выполнятся, и программа пишет значение n, которое равняется (смотрим выше) 32.
На экране напечатано 32, все живы, все счастливы!
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(5,-99,99); Write('А: '); a.Println;
var b:=ArrRandom(5,-99,99); Write('B: '); b.Println;
var c:=a.Where(x->x.IsEven).Concat(b.Where(x->x.IsEven)).ToArray;
Write('C: '); c.Println;
var d:=a.Where(x->x>0).Concat(b.Where(x->x>0)).ToArray;
Write('D: '); d.Println
end.
Пример
А: 88 72 -30 8 5
B: -95 28 -62 17 -87
C: 88 72 -30 8 28 -62
D: 88 72 8 5 28 17