عملکرد رویه زیر را شرح دهید و دامنهی مقدارهایی را که به ازای آنها اجرای برنامه خاتمه مییابد بیابید. (و ثابت کنید!)
Procedure xxxxx( num:word); var n,s,d:word; begin while (( num <> 1) and ( num <> 4)) do begin n := num; n := 0; repeat d := n mod 10; n := n div 10; s := s + sqr( d ); until n = 0; writeln( ’->’ , s ); num := s; end; end;