util.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /*
  2. iVprog: http://www.matematica.br/ivprog.
  3. */
  4. var ex = null; // número do exercício: ex=N
  5. var idioma = null; // idioma a ser usado: idioma=xx
  6. function prepare () {
  7. ex = getRequestParameter("ex");
  8. idioma = getRequestParameter("idioma");
  9. if (idioma == "") {
  10. idioma="pt";
  11. }
  12. if (ex == "") {
  13. ex = 1;
  14. }
  15. document.getElementById("appletDefinition").innerHTML = montaExercicio(ex,document.getElementById("appletDefinition").innerHTML,idioma);
  16. }
  17. // Substitui '@numeroExerc@' por número do exercício
  18. function numExercicio () {
  19. var txt = document.getElementById("numExerc").innerHTML; // igaul a '@numeroExerc@'
  20. document.getElementById("numExerc").innerHTML = ex; // substitua campo sob 'element' 'numExerc' por valor de variável global 'ex'
  21. }
  22. function pegaResposta () {
  23. var resposta = document.iVprog.getAnswer();
  24. var avaliacao = document.iVprog.getAvaliacao();
  25. var trace = document.iVprog.getTrace();
  26. alert("Exemplo");
  27. }
  28. /* para cada item no texto (@variavel@) substitua pelo texto correto */
  29. function findAndReplace (texto, de, para) {
  30. try { // para evitar erro se 'de' ou 'para' não estiver(em) definido(s)
  31. var match = new RegExp(de, "ig");
  32. var replaced = "";
  33. if (para.length > 0) { //
  34. replaced = texto.replace(match, para);
  35. }
  36. else {
  37. return texto;
  38. }
  39. return replaced;
  40. } catch (Exception) {
  41. // alert('de='+de+' para='+para);
  42. }
  43. }
  44. function consultaExercicio (numEx, campo, idioma) {
  45. var resultado = null;
  46. for (var i=0 ; i < exercicios.length ; i++) {
  47. if (exercicios[i].numero == numEx) {
  48. resultado = exercicios[i][campo];
  49. if (resultado != null)
  50. return resultado;
  51. else return exercicios[i][campo + "_" + idioma];
  52. }
  53. }
  54. return null;
  55. }
  56. function montaExercicio (numEx, template, idioma) {
  57. template = findAndReplace(template,"@referencia@", consultaExercicio(numEx, "referencia", idioma));
  58. template = findAndReplace(template,"@enunciado@", consultaExercicio(numEx, "enunciado", idioma));
  59. template = findAndReplace(template,"@tipo@", consultaExercicio(numEx, "tipo", idioma));
  60. template = findAndReplace(template,"@solucao@", consultaExercicio(numEx, "solucao", idioma));
  61. template = findAndReplace(template,"@resposta@", consultaExercicio(numEx, "resposta", idioma));
  62. template = findAndReplace(template,"@universo@", consultaExercicio(numEx, "universo", idioma));
  63. template = findAndReplace(template,"@dica@", consultaExercicio(numEx, "dica", idioma));
  64. template = findAndReplace(template,"@online@", consultaExercicio(numEx, "online", idioma));
  65. return template;
  66. }
  67. function getRequestParameter (name) {
  68. name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  69. var regexS = "[\\?&]"+name+"=([^&#]*)";
  70. var regex = new RegExp( regexS );
  71. var results = regex.exec( window.location.href );
  72. if ( results == null )
  73. return "";
  74. else
  75. return results[1];
  76. }