function detecte_instruction(recu, langage_source) { mot = recu.toLowerCase(); if(mot == "∠") mot = unescape("%u2220"); if(((mot == "lire" || mot == "afficher" || mot == "si" || mot == "alors" || mot == "sinon" || mot == "fin_si" || mot == "tant_que" || mot == "fin_tant_que" || mot == "pour" || mot == "allant_de" || mot == "à" || mot == "fin_pour" || mot == "prend_la_valeur" || mot == "hasard" || mot == "et" || mot == "ou" || mot == "partie_entière" || mot == "partie_décimale" || mot == "valeur_absolue" || mot == "fin_programme") && langage_source == 1) || ((mot == "?" || escape(mot) == "%u2220" || mot == "ifend" || mot == "for" || mot == "to" || mot == "next" || mot == "#ran" || mot == "int" || mot == "frac" || mot == "abs") && langage_source == 2) || ((mot == "input" || mot == "disp" || mot == "end" || mot == "for(" || mot == "rand" || mot == "int(" || mot == "fpart(" || mot == "abs(") && langage_source == 3) || ((mot == "if" || mot == "then" || mot == "else" || mot == "while" || mot == "whileend" || escape(mot) == "%u2192" || mot == "and" || mot == "or" || mot == "stop") && (langage_source == 2 || langage_source == 3))) return mot; else return "undefined"; } function detecte_signe(mot) { if(mot == "=" || mot == "<" || mot == ">" || escape(mot) == "%u2265" || escape(mot) == "%u2264" || escape(mot) == "%u2260") return "signe"; else return "undefined"; } function detecte_operation(mot) { if(mot == "+" || mot == "-" || mot == "*" || mot == "/" ||mot == "%" || mot == "^") return "operation"; else return "undefined"; } function detecte_parenthese(mot) { if(mot == "(" || mot == ")") return "parenthese"; else return "undefined"; } function detecte_outils(mot, langage_source) { mot = mot.toLowerCase(); if(mot == "racine_carrée" || mot == "exp" || mot == "ln" || (langage_source == 1 && (mot == "hasard" || mot == "partie_décimale" || mot == "partie_entière" || mot == "valeur_absolue")) || (langage_source == 2 && (mot == "#ran" || mot == "int" || mot == "frac" || mot == "abs")) || (langage_source == 3 && (mot == "rand" || mot == "int" || mot == "fpart" || mot == "abs"))) return "outils"; else return "undefined"; } function verifie_conditions(mot_recu, ligne) { if(conditions_ouvertes - conditions_fermees <= 0) { erreur_syntaxe[4 * nb_erreurs + 1] = mot_recu; erreur_syntaxe[4 * nb_erreurs + 2] = "instruction_illegale"; erreur_syntaxe[4 * nb_erreurs + 3] = ligne; erreur_syntaxe[4 * nb_erreurs + 4] = "conditions"; nb_erreurs++; } } function verifie_boucles(mot_recu, ligne, langage) { if(boucles_ouvertes - boucles_fermees <= 0) { erreur_syntaxe[4 * nb_erreurs + 1] = mot_recu; erreur_syntaxe[4 * nb_erreurs + 2] = "instruction_illegale"; erreur_syntaxe[4 * nb_erreurs + 3] = ligne; if(langage == 1) erreur_syntaxe[4 * nb_erreurs + 4] = "boucles \"Tant_que\""; else erreur_syntaxe[4 * nb_erreurs + 4] = "boucles \"While\""; nb_erreurs++; } } function verifie_pour(mot_recu, ligne, langage) { if(pour_ouverts - pour_fermes <= 0) { erreur_syntaxe[4 * nb_erreurs + 1] = mot_recu; erreur_syntaxe[4 * nb_erreurs + 2] = "instruction_illegale"; erreur_syntaxe[4 * nb_erreurs + 3] = ligne; if(langage == 1) erreur_syntaxe[4 * nb_erreurs + 4] = "boucles \"Pour\""; else erreur_syntaxe[4 * nb_erreurs + 4] = "boucles \"For\""; nb_erreurs++; } } function affiche_resultats() { var z, n = 0; for(z = 0; z < j; z++) { if(z == indices[n]) { alert("ok"); n++; } alert(code[z]); } } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value; }