diff --git a/View/src/JS/base.js b/View/src/JS/base.js index abf8dc84..9aae72e3 100644 --- a/View/src/JS/base.js +++ b/View/src/JS/base.js @@ -1,6 +1,6 @@ -// const URL = "http://localhost/Scripted/index.php"; -// const URL = "http://82.165.180.114/Scripted/index.php"; -const URL = "http://sancy.iut.uca.fr/~lafourcade/Scripted/index.php"; +// const url = "http://localhost/Scripted/index.php"; +// const url = "http://82.165.180.114/Scripted/index.php"; +const url = "http://sancy.iut.uca.fr/~lafourcade/Scripted/index.php"; function run() { const terminal = document.getElementById("console"); diff --git a/View/src/JS/baseTest.js b/View/src/JS/baseTest.js index 47b0a720..b349b6c6 100644 --- a/View/src/JS/baseTest.js +++ b/View/src/JS/baseTest.js @@ -1,7 +1,6 @@ -// const URL = "http://localhost/Scripted/index.php"; -// const URL = "http://82.165.180.114/Scripted/index.php"; -/* A comment. */ -const URL = "http://sancy.iut.uca.fr/~lafourcade/Scripted/index.php"; +// const url = "http://localhost/Scripted/index.php"; +// const url = "http://82.165.180.114/Scripted/index.php"; +const url = "http://sancy.iut.uca.fr/~lafourcade/Scripted/index.php"; function run() { const terminal = document.getElementById("console"); @@ -136,7 +135,7 @@ function run() { function saveCode() { var xhr = new XMLHttpRequest(); - xhr.open('POST', URL + '?action=saveCodeInCookie', true); + xhr.open('POST', url + '?action=saveCodeInCookie', true); xhr.responseType = 'text'; xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onload = function () { diff --git a/import.sql b/import.sql index 2cbb7d4d..142431ca 100644 --- a/import.sql +++ b/import.sql @@ -16,5 +16,5 @@ INSERT INTO Enigme VALUES(12,'ChuckNorris','Coder un fonction hanoi permettant de résoudre le problème des tours d’hanoi peu importe le nombre d''entrées dans la fonction.
Cette fonction devra prend en paramètre le nombre de disques, le nom de la tour de départ, le nom la tour d''arrivée et le nom la tour intermédiaire.
Elle devra retoure une liste contenant les déplacements à effectuer (cf exemple ci-dessous).','Pense à utiliser une fonction récursive pour résoudre ce problème. Pour rappel une fonction récursive est une fonction qui s''appelle elle même. ','Le problème des tours de hanoi est le suivant, on souhaite déplacer un certain nombre de disque de taille différente et ils sont et doivent restés empilés de telle sorte qu’aucun disque d’une certaine taille n soit placé en dessous d’un disque de taille plus grande en sachant qu’il n’y a que 3 piles.','Entrée :3,"A","B","C"
Sortie : [[''A'',''C''],[''A'',''B''],[''C'',''B''],[''A'',''C''],[''B'',''A''],[''B'',''C''],[''A'',''C'']]',replace(replace('def hanoi_rec(l,nb_disks, start, middle, end):\r\n if(nb_disks == 1):\r\n return l.append([start,end])\r\n else:\r\n hanoi_rec(l,nb_disks - 1, start, end, middle)\r\n l.append([start,end])\r\n hanoi_rec(l,nb_disks - 1, middle, start, end)\r\n\r\ndef hanoiVerif(nb_disks,start, middle, end):\r\n l=[]\r\n hanoi_rec(l,nb_disks,start, middle, end)\r\n return l','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef testhanoi(x):\r\n hanoi(1,"A","B","C")\r\n if(hanoi(3,"A","B","C")!=[[''A'',''C''],[''A'',''B''],[''C'',''B''],[''A'',''C''],[''B'',''A''],[''B'',''C''],[''A'',''C'']]):\r\n return False\r\n for i in range(x):\r\n j=r.randint(1,4)\r\n if(hanoi(j,"Z","E","R")!=hanoiVerif(j,"Z","E","R")):\r\n return False\r\n return True\r\n\r\nprint(testhanoi(5))','\r',char(13)),'\n',char(10)),7,0,0,'def hanoi(nb_disks,start, middle, end):'); INSERT INTO Enigme VALUES(14,'TrianglePascal','Écrire une fonction triangle_pascal permettant d’afficher le triangle de Pascal jusqu''à un certain nombre n de lignes. Bien sùr n sera passé en argument à la fonction. La fonction devra renvoyer une liste contenant les lignes du triangle de Pascal. (cf l''exemple pour plus de détails).','Il n''y a pas d''aide pour cette énigme','Le triangle arithmétique de Pascal est le triangle dont la ligne d''indice n (n = 0, 1, 2...) donne les coefficients binomiaux (n) pour p = 0, 1, 2..., n.
La construction de ce triangle de Pascal est simple, on part de 1 à la première ligne, par convention c''est la ligne zéro (n = 0) Pour avoir un terme de la ligne suivante, on prend le terme juste au-dessus, et on lui additionne celui qui est juste avant, (0 si il n''y a rien). Mathématiquement, on applique la formule :
(n+1) = (n) + ( n )','Entrée : 4
Sortie : [[1],[1,1],[1,2,1],[1,3,3,1]]',replace(replace('def estTriangleDePascal(n):\r\n if(n==0):\r\n return []\r\n if(n==1):\r\n return [[1]]\r\n triangle=[[1],[1, 1]]\r\n columns=n\r\n for line in range(2,n):\r\n triangle.append([1])\r\n for column in range(1, line):\r\n triangle[line].append(triangle[line - 1][column - 1] + triangle[line - 1][column])\r\n triangle[line].append(1)\r\n return triangle','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef testTriangleDePascal(n):\r\n triangle_pascal(0)\r\n listTest=[0,1]\r\n for i in range(0,n):\r\n listTest.append(r.randint(5,140))\r\n for i in listTest:\r\n if(triangle_pascal(i)!=estTriangleDePascal(i)):\r\n return False\r\n return True\r\n \r\nprint(testTriangleDePascal(5))','\r',char(13)),'\n',char(10)),8,0,0,'def triangle_pascal(n):'); INSERT INTO Enigme VALUES(19,'Palindrome','Écrire une fonction estPalindrome(var) qui prend en argument un entier et qui renvoie True si c’est un palindrome et False sinon.','En python l’instruction [::-1] permet d’inverse une chaine de caractère.

print("ae"[::-1]) -> ea.','Il n''y a pas de rappel pour cette enigme.','estPalindrome(12321) renvoie True',replace('def estPalindromeVerif(var):\n if(var == var[::-1]):\n return True\n else:\n return False','\n',char(10)),replace('import random as r\ndef testPalindrome(x):\n l=[1,2,3,2,1]\n if(estPalindrome(l)==False):\n return False\n l=[9,5,7,7,9]\n if(estPalindrome(l)==True):\n return False\n l=[]\n for i in range(x):\n for j in range(r.randint(1,10)):\n l.append(r.randint(0,9))\n if(estPalindromeVerif(l)!=estPalindrome(l)):\n return False\n l=[]\n return True\n\nprint(testPalindrome(5))','\n',char(10)),0,600,100,'def estPalindrome(var):'); -INSERT INTO Enigme VALUES(20,'CesarDecrypt','Écrire une fonction Decrypt qui prend en argument un message et une clé et qui retourne le message décrypté avec le code César.(les espace ne seront pas encodé.)','La fonction ord(char) de python permet de retourner l''Unicode (standard d’encodage de caractères) d''un caractère.
Par exemple, ord(''a'') retourne ''97'' et ord(''b'')) retourne ''98''.','Le code César (ou chiffre de César ) est un chiffrement par substitution,
où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l''alphabet .
Par exemple A avec une clé 2 devient C.','Entrée :      Sortie :
''fbehu'',3      cyber',replace('def DecryptVerif(text, key):\n result = ""\n for i in range(len(text)):\n char = text[i]\n if(char==" "):\n result+=" "\n elif (char.isupper()):\n result += chr((ord(char) - key-65) % 26 + 65)\n else:\n result += chr((ord(char) - key - 97) % 26 + 97)\n return result','\n',char(10)),replace('import random as r\ndef testDecrypte(x):\n Decrypt("",1)\n if(Decrypt("Jgnnq yqtnf",2)!="Hello world"):\n return False\n if(Decrypt("Blarycnm",9)!="Scripted"):\n return False\n for i in range(x):\n l=""\n cle=r.randint(1,26)\n for i in range(r.randint(1,10)):\n l+=chr(r.randint(97,122))\n if(Decrypt(l,cle)!=DecryptVerif(l,cle)):\n return False\n return True\n \nprint(testDecrypte(5))','\n',char(10)),0,600,100,'def Decrypt(text, key):'); -INSERT INTO Enigme VALUES(27,'Alternance','Coder la fonction tri. Cette fonction prend en paramètre deux chaine de caractère, prend tour à tour les caractères des deux chaines et retourne la chaine de caractère trié. (cf l''exemple)','Il n''y a pas d''aide pour cette énigme','Il n''y a pas de rappel pour cette énigme','Entrée : "Hlowrd", "el ol"
Sortie : "Hello world" ',replace(replace('def triVerif(a,b):\r\n s = ""\r\n i = 0\r\n while len(s)i):\r\n s += a[i]\r\n if(len(b)>i):\r\n s += b[i]\r\n i += 1\r\n return s','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef triTest(x):\r\n a = "Hlowrd"\r\n b = "el ol"\r\n if(triVerif(a,b)!=tri(a,b)):\r\n return False\r\n return True\r\n\r\nprint(triTest(5)) ','\r',char(13)),'\n',char(10)),5,0,0,'def trie(a,b):'); \ No newline at end of file +-- INSERT INTO Enigme VALUES(20,'CesarDecrypt','Écrire une fonction Decrypt qui prend en argument un message et une clé et qui retourne le message décrypté avec le code César.(les espace ne seront pas encodé.)','La fonction ord(char) de python permet de retourner l''Unicode (standard d’encodage de caractères) d''un caractère.
Par exemple, ord(''a'') retourne ''97'' et ord(''b'')) retourne ''98''.','Le code César (ou chiffre de César ) est un chiffrement par substitution,
où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l''alphabet .
Par exemple A avec une clé 2 devient C.','Entrée :      Sortie :
''fbehu'',3      cyber',replace('def DecryptVerif(text, key):\n result = ""\n for i in range(len(text)):\n char = text[i]\n if(char==" "):\n result+=" "\n elif (char.isupper()):\n result += chr((ord(char) - key-65) % 26 + 65)\n else:\n result += chr((ord(char) - key - 97) % 26 + 97)\n return result','\n',char(10)),replace('import random as r\ndef testDecrypte(x):\n Decrypt("",1)\n if(Decrypt("Jgnnq yqtnf",2)!="Hello world"):\n return False\n if(Decrypt("Blarycnm",9)!="Scripted"):\n return False\n for i in range(x):\n l=""\n cle=r.randint(1,26)\n for i in range(r.randint(1,10)):\n l+=chr(r.randint(97,122))\n if(Decrypt(l,cle)!=DecryptVerif(l,cle)):\n return False\n return True\n \nprint(testDecrypte(5))','\n',char(10)),0,600,100,'def Decrypt(text, key):'); +-- INSERT INTO Enigme VALUES(27,'Alternance','Coder la fonction tri. Cette fonction prend en paramètre deux chaine de caractère, prend tour à tour les caractères des deux chaines et retourne la chaine de caractère trié. (cf l''exemple)','Il n''y a pas d''aide pour cette énigme','Il n''y a pas de rappel pour cette énigme','Entrée : "Hlowrd", "el ol"
Sortie : "Hello world" ',replace(replace('def triVerif(a,b):\r\n s = ""\r\n i = 0\r\n while len(s)i):\r\n s += a[i]\r\n if(len(b)>i):\r\n s += b[i]\r\n i += 1\r\n return s','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef triTest(x):\r\n a = "Hlowrd"\r\n b = "el ol"\r\n if(triVerif(a,b)!=tri(a,b)):\r\n return False\r\n return True\r\n\r\nprint(triTest(5)) ','\r',char(13)),'\n',char(10)),5,0,0,'def trie(a,b):'); \ No newline at end of file