Согласно блок-схеме алгоритма:
- Начальное значение Y не задано, поэтому будем считать, что Y = A = 10.
- Первый блок проверки условия: C > Y, где C = 20, Y = 10. Условие 20 > 10 истинно ("да").
- Если условие истинно, то Y := C, то есть Y присваивается значение C, следовательно Y = 20.
- Второй блок проверки условия: D > Y, где D = 0, Y = 20. Условие 0 > 20 ложно ("нет").
- Если условие ложно, то возвращаемся к первому блоку проверки условия: C > Y, где C = 20, Y = 20. Условие 20 > 20 ложно ("нет").
- Если условие ложно, то возвращаемся ко второму блоку проверки условия: D > Y, где D = 0, Y = 20. Условие 0 > 20 ложно ("нет").
- Так как ни одно из условий не выполняется, алгоритм зацикливается и не может завершиться. В реальной жизни программа бы зависла, но в рамках учебного задания нужно определить, какое значение переменной Y было бы на последней итерации перед зависанием.
- Поскольку значение Y изменяется только при выполнении условия C > Y, и это условие перестало выполняться, то последнее присвоенное значение Y = 20.
Ответ: 20