нормальный способ ...если ограничен в быстродействии .Но нужно сначала заполнить весь стек ,а у потом действовать как предложено .Если делать на FBD то может сложнее получится реализация, а код не уменьшится и быстродействие не увеличится ..