alapvetően igazad van, de a másodiknál ugye until-t használt, és nem while-t, és a -1-et akkor sem írná ki, hiszen (ahogyan írtad) akkor már hamis a feltétel (0 gt 0 => false), nem?
szerkesztés: értelemszerűen, ahogyan levezetted a másodiknál a feltétel egyből igaz, ezért az until miatt nem fog a print végrehajtódni,