дублирование строки 31 - надо использовать цикл с пост-условием
begin do 
...
while something