entier mot_clef entier $tab id_variable $tab [ symbole CROCHET_OUVRANT 10 nombre 10 ] symbole CROCHET_FERMANT ; symbole POINT_VIRGULE initialiser id_fonction initialiser ( symbole PARENTHESE_OUVRANTE ) symbole PARENTHESE_FERMANTE { symbole ACCOLADE_OUVRANTE $tab id_variable $tab [ symbole CROCHET_OUVRANT 0 nombre 0 ] symbole CROCHET_FERMANT = symbole EGAL 8 nombre 8 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 1 nombre 1 ] symbole CROCHET_FERMANT = symbole EGAL 6 nombre 6 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 2 nombre 2 ] symbole CROCHET_FERMANT = symbole EGAL 9 nombre 9 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 3 nombre 3 ] symbole CROCHET_FERMANT = symbole EGAL 9 nombre 9 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 4 nombre 4 ] symbole CROCHET_FERMANT = symbole EGAL 4 nombre 4 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 5 nombre 5 ] symbole CROCHET_FERMANT = symbole EGAL 2 nombre 2 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 6 nombre 6 ] symbole CROCHET_FERMANT = symbole EGAL 3 nombre 3 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 7 nombre 7 ] symbole CROCHET_FERMANT = symbole EGAL 1 nombre 1 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 8 nombre 8 ] symbole CROCHET_FERMANT = symbole EGAL 4 nombre 4 ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT 9 nombre 9 ] symbole CROCHET_FERMANT = symbole EGAL 5 nombre 5 ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE afficher id_fonction afficher ( symbole PARENTHESE_OUVRANTE entier mot_clef entier $n id_variable $n ) symbole PARENTHESE_FERMANTE entier mot_clef entier $i id_variable $i ; symbole POINT_VIRGULE { symbole ACCOLADE_OUVRANTE $i id_variable $i = symbole EGAL 0 nombre 0 ; symbole POINT_VIRGULE tantque mot_clef tantque $i id_variable $i < symbole INFERIEUR $n id_variable $n faire mot_clef faire { symbole ACCOLADE_OUVRANTE ecrire mot_clef ecrire ( symbole PARENTHESE_OUVRANTE $tab id_variable $tab [ symbole CROCHET_OUVRANT $i id_variable $i ] symbole CROCHET_FERMANT ) symbole PARENTHESE_FERMANTE ; symbole POINT_VIRGULE $i id_variable $i = symbole EGAL $i id_variable $i + symbole PLUS 1 nombre 1 ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE ecrire mot_clef ecrire ( symbole PARENTHESE_OUVRANTE 0 nombre 0 ) symbole PARENTHESE_FERMANTE ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE echanger id_fonction echanger ( symbole PARENTHESE_OUVRANTE entier mot_clef entier $i id_variable $i , symbole VIRGULE entier mot_clef entier $j id_variable $j ) symbole PARENTHESE_FERMANTE entier mot_clef entier $temp id_variable $temp ; symbole POINT_VIRGULE { symbole ACCOLADE_OUVRANTE $temp id_variable $temp = symbole EGAL $tab id_variable $tab [ symbole CROCHET_OUVRANT $j id_variable $j ] symbole CROCHET_FERMANT ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT $j id_variable $j ] symbole CROCHET_FERMANT = symbole EGAL $tab id_variable $tab [ symbole CROCHET_OUVRANT $i id_variable $i ] symbole CROCHET_FERMANT ; symbole POINT_VIRGULE $tab id_variable $tab [ symbole CROCHET_OUVRANT $i id_variable $i ] symbole CROCHET_FERMANT = symbole EGAL $temp id_variable $temp ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE trier id_fonction trier ( symbole PARENTHESE_OUVRANTE entier mot_clef entier $n id_variable $n ) symbole PARENTHESE_FERMANTE entier mot_clef entier $echange id_variable $echange , symbole VIRGULE entier mot_clef entier $j id_variable $j , symbole VIRGULE entier mot_clef entier $m id_variable $m ; symbole POINT_VIRGULE { symbole ACCOLADE_OUVRANTE $m id_variable $m = symbole EGAL $n id_variable $n ; symbole POINT_VIRGULE $echange id_variable $echange = symbole EGAL 1 nombre 1 ; symbole POINT_VIRGULE tantque mot_clef tantque $echange id_variable $echange = symbole EGAL 1 nombre 1 faire mot_clef faire { symbole ACCOLADE_OUVRANTE $echange id_variable $echange = symbole EGAL 0 nombre 0 ; symbole POINT_VIRGULE $j id_variable $j = symbole EGAL 0 nombre 0 ; symbole POINT_VIRGULE tantque mot_clef tantque $j id_variable $j < symbole INFERIEUR $m id_variable $m - symbole MOINS 1 nombre 1 faire mot_clef faire { symbole ACCOLADE_OUVRANTE si mot_clef si $tab id_variable $tab [ symbole CROCHET_OUVRANT $j id_variable $j + symbole PLUS 1 nombre 1 ] symbole CROCHET_FERMANT < symbole INFERIEUR $tab id_variable $tab [ symbole CROCHET_OUVRANT $j id_variable $j ] symbole CROCHET_FERMANT alors mot_clef alors { symbole ACCOLADE_OUVRANTE echanger id_fonction echanger ( symbole PARENTHESE_OUVRANTE $j id_variable $j , symbole VIRGULE $j id_variable $j + symbole PLUS 1 nombre 1 ) symbole PARENTHESE_FERMANTE ; symbole POINT_VIRGULE $echange id_variable $echange = symbole EGAL 1 nombre 1 ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE $j id_variable $j = symbole EGAL $j id_variable $j + symbole PLUS 1 nombre 1 ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE $m id_variable $m = symbole EGAL $m id_variable $m - symbole MOINS 1 nombre 1 ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE } symbole ACCOLADE_FERMANTE main id_fonction main ( symbole PARENTHESE_OUVRANTE ) symbole PARENTHESE_FERMANTE { symbole ACCOLADE_OUVRANTE initialiser id_fonction initialiser ( symbole PARENTHESE_OUVRANTE ) symbole PARENTHESE_FERMANTE ; symbole POINT_VIRGULE afficher id_fonction afficher ( symbole PARENTHESE_OUVRANTE 10 nombre 10 ) symbole PARENTHESE_FERMANTE ; symbole POINT_VIRGULE trier id_fonction trier ( symbole PARENTHESE_OUVRANTE 10 nombre 10 ) symbole PARENTHESE_FERMANTE ; symbole POINT_VIRGULE afficher id_fonction afficher ( symbole PARENTHESE_OUVRANTE 10 nombre 10 ) symbole PARENTHESE_FERMANTE ; symbole POINT_VIRGULE } symbole ACCOLADE_FERMANTE symbole FIN