Решение задачи № 13 из главы 13.1

Пользователь вводит два целых числа A и B. При введении нуля, сообщить об ошибке и закончить программу. Если A четное, то делите это число в цикле на 2 до тех пор, пока оно делится, выводя каждый промежуточный результат, а если нечётное, то умножайте A в цикле на 3 до тех пор, пока результат не станет больше B и его выводите.

var  a, b :integer;
begin  
  write('Введите число a: '); readln(a);   
  if a <> 0 then
  begin
    if (a mod 2 = 0) then 
    begin
      while (a > 0) do
      begin
        if (a mod 2 = 0) then 
        begin
          a := a div 2;
          writeln(a);
        end 
        else break;
      end; 
    end else 
  begin
    write('Введите число b: '); readln(b);
    while (a < b) do          
      a := a * 3;
    writeln('a = ', a);
    writeln('b = ', b);
  end;     
  write('Конец программы!');
  end
  else
  write('Введен "0". Конец программы!');
end.