b'\n_START_ARTICLE_\nCiclo invariante\n_START_PARAGRAPH_\nDe manera informal, ciclo invariante es alg\xc3\xban predicado o condici\xc3\xb3n que se mantiene en cada iteraci\xc3\xb3n de un ciclo. Por ejemplo:_NEWLINE_int j = 9;for(int i=0; i<10; i++)  _NEWLINE_  j--;_NEWLINE_En este ejemplo se cumple la invariante de ciclo para cada iteraci\xc3\xb3n, ya que se mantiene la condici\xc3\xb3n siguiente:_NEWLINE_ i + j == 9_NEWLINE_Otra invariante m\xc3\xa1s d\xc3\xa9bil es:_NEWLINE_i >= 0 && i < 10 //(condici\xc3\xb3n terminal) //o bien j <= 9 && j >= 0_NEWLINE_Las invariantes de ciclo sirven para probar que un algoritmo est\xc3\xa9 correcto.\n_START_SECTION_\nEjemplos\n_START_PARAGRAPH_\nimport java.util.Arrays;class InsertionSort{_NEWLINE_public static void main(String[]args){_NEWLINE_int[]array={5,2,4,6,1,3};_NEWLINE_String out="";_NEWLINE_out+=Arrays.toString(array)+"\\nResult:\\n";_NEWLINE__NEWLINE_//start_NEWLINE_for(int i=1;i<array.length;i++){_NEWLINE_int key=array[i];_NEWLINE_int j=i-1;_NEWLINE_out+="array["+j+"] > key = "+array[j] +" > "+key+" = "+(array[j]>key)+"\\n";_NEWLINE_while(j>=0 && array[j]>key ){_NEWLINE_array[j+1]=array[j];out+=" \\tarray["+j+"+1]=array["+j+"]\\n";_NEWLINE_j--;_NEWLINE_}_NEWLINE_array[j+1]=key;_NEWLINE__NEWLINE_}_NEWLINE_out+=Arrays.toString(array)+"\\n";_NEWLINE__NEWLINE_System.out.println(out);_NEWLINE_}}'