Структурой они отличаются. В первом минимум переменных (всего одна !) и есть цикл, хотя сам код и не рабочий, а во втором только линейное следование инструкций и ещё пара лишних переменных, без которых вполне можно обойтись. Конечно же, предпочтительнее первая программа после её исправления: a = 1
while a