index.html 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6. <title>iVProgH - LInE (free educational software and contents)</title>
  7. <link href="../css/bootstrap.min.css" rel="stylesheet">
  8. <link href="../css/style.css" rel="stylesheet">
  9. </head>
  10. <!--
  11. -------------------------------------------------------------------------------
  12. JavaScript code: starting point
  13. This JavaScript code could be inserted in any LMS to get the iLM content and send it to the server.
  14. In this example it use a single "applet" instance, here from iHanoi.
  15. -->
  16. <script Language="JavaScript">
  17. //<![CDATA[
  18. var strAnswer = '';
  19. var evaluationResult = '';
  20. var comment = '';
  21. function submit_iMA_Answer () {
  22. // alert('./ex_pt/index.html: window.frames=' + window.frames);
  23. // alert('./ex_pt/index.html: window.frames.iLM=' + window.frames.iLM);
  24. /* DEBUG
  25. var strFrames = "";
  26. var arrFrames = parent.document.getElementsByTagName("IFRAME");
  27. for (var i=0; i<arrFrames.length; i++) {
  28. strFrames += ', ' + arrFrames[i].name; // if (arrFrames[i].contentWindow === window) alert("yay!");
  29. } // acho 'window.frames' de nome 'iLM'!!!
  30. alert('./ex_pt/index.html: window.frames=' + strFrames);
  31. */
  32. window.frames.iLM.getEvaluation(); // ../ivprogh/js/iassign-integration-functions.js
  33. // window.frames.iLM.runCodeAssessment();
  34. var strAnswer = window.frames.iLM.getAnswer();
  35. alert('./ex_pt/index.html: getAnswer()=' + strAnswer);
  36. /*
  37. var docForm = document.formEnvio;
  38. // Prepared to be used with more than 1 "applet'
  39. var exercise_answer = new Array(3); // answer: to get the learner answer
  40. var exercise_value = new Array(3); // value from the iLM automatic evaluator
  41. // var doc = document.formEnvio; // ----------------------------------------------------------
  42. // var doc = javascript:window.jsAnalyseAnswer();
  43. try {
  44. alert('submit_iMA_Answer(): evaluationResult=' + evaluationResult);
  45. exercise_answer[0] = doc.getAnswer(); // answer: it must be first (usually the iLM first get the answer to compute the evaluation grade)
  46. exercise_value[0] = doc.getEvaluation(); // value from the iLM automatic evaluator
  47. } catch (Exception) { alert("Error!"); }
  48. docForm.iLM_POST_Archive_0.value = exercise_answer[0]; // Content coming from the iLM
  49. docForm.iLM_POST_Value_0.value = exercise_value[0]; // The activity evaluation coming from the iLM
  50. // This is used to help the developer to debug his iLM
  51. // It presents the file content that will be registered.
  52. alert('The file activity value is: ' + exercise_value[0] + '\nThe activity content is:\n' + exercise_answer[0]);
  53. //uncomment_this docForm.submit(); // envia de fato o formulario
  54. //uncomment_this return true;
  55. */
  56. }
  57. function getEvaluationCallback (evaluation) {
  58. evaluationResult = evaluation;
  59. strAnswer = window.frames.iLM.getAnswer();
  60. alert('getEvaluationCallback(...)' + evaluation + ', strAnswer=' + strAnswer);
  61. comment = document.formEnvio.submission_comment.value;
  62. //leo
  63. if ((strAnswer==null || strAnswer=='' || strAnswer==-1) && (comment==null || comment=='')) { // undefined
  64. alert('Activity sent without content.'); // 'Activity sent without content.'
  65. return false; // error...
  66. }
  67. else {
  68. //leo alert('getEvaluationCallback: enviando evaluationResult=' + evaluation + ', strAnswer=' + strAnswer);
  69. document.formEnvio.iLM_PARAM_ArchiveContent.value = strAnswer;
  70. document.formEnvio.iLM_PARAM_ActivityEvaluation.value = evaluationResult;
  71. document.formEnvio.submit();
  72. return true; // success
  73. }
  74. }
  75. function openSolution (url_file, el_button) {
  76. $(el_button).parent().find('iframe').attr('src', '../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=' + url_file + '&iLM_PARAM_SendAnswer=false&lang=pt');
  77. }
  78. //]]>
  79. </script>
  80. <!--
  81. JavaScript code: final -------------------------------------------------------------------------------
  82. -->
  83. <body>
  84. <nav class="navbar navbar-expand-md navbar-dark fixed-top" style="background-color: #03396c;">
  85. <b><a class="navbar-brand" href="../">iVProgH</a></b>
  86. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
  87. <span class="navbar-toggler-icon"></span>
  88. </button>
  89. <div class="collapse navbar-collapse" id="navbarsExampleDefault">
  90. <ul class="navbar-nav mr-auto">
  91. <li class="nav-item">
  92. <a class="nav-link" href="../"
  93. title="Navegue para a página inicial do site do iVProgH.">Home</a>
  94. </li>
  95. <li class="nav-item">
  96. <a class="nav-link" href="../sobre_ivprog.html"
  97. title="Conheça resumidamente o que é e para que serve o iVProgH.">Conheça</a>
  98. </li>
  99. <li class="nav-item active">
  100. <a class="nav-link" href="../ex_pt/index.html"
  101. title="Veja alguns exemplos e teste o iVProgH online.">Exemplos</a>
  102. </li>
  103. <li class="nav-item">
  104. <a class="nav-link" href="../download.html"
  105. title="Faça uma cópia do iVProgH para sua máquina.">Download</a>
  106. </li>
  107. <li class="nav-item">
  108. <a class="nav-link" href="../manual_pt/index.html"
  109. title="Acesse um manual online do iVProgH e conheça todos os recursos.">Ajuda</a>
  110. </li>
  111. <li class="nav-item">
  112. <a class="nav-link" href="../bugs/report.html"
  113. title="Envie uma mensagem para a equipe do iVProgH.">Contato</a>
  114. </li>
  115. <li class="nav-item">
  116. <a class="nav-link" href="//www.usp.br/line/"
  117. title="Conheça o Laboratório de Informática na Educação do Instituto de Matemática e Estatística da USP.">LInE</a>
  118. </li>
  119. <li class="nav-item">
  120. <a class="nav-link" href="../docs/"
  121. title="Tenha acesso a toda a documentação do iVProgH.">Desenvolvedores</a>
  122. </li>
  123. <li class="nav-item">
  124. <a class="nav-link" href="../publicacoes.html"
  125. title="Leia as publicações da equipe a respeito do iVProgH.">Publicações</a>
  126. </li>
  127. </ul>
  128. <div class="form-inline my-2 my-lg-0">
  129. <img src="../img/img_flag_brazil.png" />
  130. <img src="../img/img_flag_usa.png" ;>
  131. </div>
  132. </div>
  133. </nav>
  134. <main role="main">
  135. <div class="jumbotron ivprogh-desc">
  136. <div class="container">
  137. <h1>Exemplos</h1>
  138. </div>
  139. </div>
  140. <div class="container example-large-div autoeval-descript">
  141. <div data-toggle="collapse" class="pointer" href="#area-autoeval-descript" aria-expanded="false" aria-controls="area-autoeval-descript"><span class="octicon octicon-info"></span> Entenda o funcionamento do avaliador automático</div>
  142. <div id="area-autoeval-descript" class="collapse">
  143. <p>O iVProg permite a disponibilização de exercícios com avaliação automática diretamente em páginas Web.
  144. Se o professor dispuser de uma instalação do gerenciador Moodle com o pacote <a href="www.matematica.br/ia">iTarefa</a>, então a atividade realizada pelo aluno será registrada, assim como a nota atribuida à solução do aluno.</p>
  145. <p>A avaliação automática no iVProg é feita a partir de um modelo (gabarito), que deve ter sido preparado pelo professor,
  146. prevendo entradas de dados e suas respectivas saídas. Quando o aluno "clicar" no botão para avaliar sua solução,
  147. o iVProg usa a primeira lista como entradas para o problema do aluno, comparando cada saída gerada com aquelas da
  148. lista de saídas.</p>
  149. <p>Para compreender melhor o processo, vamos usar um exemplo de algoritmo que deve somar separadamente todos os números
  150. positivos e negativos digitados pelo usuário.</p>
  151. <p><span class="octicon octicon-pin"></span><b>Problema:</b></p>
  152. <p>Fazer um algoritmo que solicite que o usuário digite valores inteiros, finalizando sua execução quando for digitado
  153. o valor zero. Ao final, seu programa deve imprimir a soma de todos os inteiros positivos que foram digitados e a seguir, imprimir a soma de todos os inteiros negativos.</p>
  154. <p><span class="octicon octicon-light-bulb"></span> <b> Como posso preparar um gabarito para exercício com avaliação automática no iVProg</b></p>
  155. <p>O professor pode preparar um número qualquer de listas de entradas e de saídas, para o problema acima, usaremos apenas 3 listas,
  156. ilustradas na tabela abaixo. A primeira coluna tem o numero do par "entradas/saidas", a segunda apresenta a lista de entradas
  157. (separadas por espaço em branco), no terceira coluna estão as saídas esperadas (para aquelas entradas) e na última coluna uma
  158. explicação curta sobre o par.
  159. <table class="table about-auto-eval">
  160. <thead class="thead-light">
  161. <tr>
  162. <th scope="col">#</th>
  163. <th scope="col">Entradas</th>
  164. <th scope="col">Saídas</th>
  165. <th scope="col">Comentários</th>
  166. </tr>
  167. </thead>
  168. <tbody>
  169. <tr>
  170. <th scope="row">1</th>
  171. <td>0</td>
  172. <td>0 0</td>
  173. <td>Esse é um teste capcioso, pois se a primeira entrada for zero, nada será somado (daí deve-se imprimir 0 e 0)</td>
  174. </tr>
  175. <tr>
  176. <th scope="row">2</th>
  177. <td>1 -1 1 0</td>
  178. <td> 2 -1 </td>
  179. <td>Apresenta 2 valores positivos e 1 negativo, com somas respectivamente 2 e -1</td>
  180. </tr>
  181. <tr>
  182. <th scope="row">3</th>
  183. <td>-1 -1 3 1 0</td>
  184. <td>4 -2</td>
  185. <td>Apresenta 2 valores positivos e 2 negativo, com somas respectivamente 4 e -2</td>
  186. </tr>
  187. </tbody>
  188. </table>
  189. <p>O iVProg dispõe de uma interface especial para que o professor digite cada lista de entrada e sua respectiva lista de saídas.</p>
  190. <p><span class="octicon octicon-light-bulb"></span> <b> Como o iVProg avalia automaticamente uma solução do aluno?</b></p>
  191. <p>Supondo que o aluno tenha construído um algoritmo, quando ele "clicar" no botão para avaliar
  192. sua solução, o iVProg:</p>
  193. <ol>
  194. <li>Pega a primeira entrada da primeira lista e submete ao primeiro de leitura presente no código do aluno (se não existir, erro), depois a segunda entrada e assim por diante até a última.</li>
  195. <li>A primeira saída (comando de impressão) gerada pelo código do aluno é comparada com a primeira saída esperada, se coincidir
  196. é registrado um acerto, senão um erro.</li>
  197. <li>Repete-se os passos 1 e 2 para cada uma das demais listas de entradas/saídas e ao final é gerada uma média de acertos e erros.
  198. <p>Por exemplo, se o algoritmo do aluno errar em 2 das 6 saídas, sua nota será 1/3.</p></li>
  199. </ol>
  200. </div>
  201. </div>
  202. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  203. <div class="container example-large-div">
  204. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-1" aria-expanded="false" aria-controls="area-exemplo-1"><span class="octicon octicon-rocket"></span> Exemplo 1: Entrada e Saída</div>
  205. <div class="example-content collapse" id="area-exemplo-1">
  206. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_1_ler_e_imprimir_inteiro_solucao.ivph', this)">Ver solução</button>
  207. <p class="text-reduced">
  208. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  209. </p>
  210. <p class="text-reduced">
  211. <b>Faça um programa que solicite do usuário um valor inteiro, depois imprima o valor por ele digitado.</b>
  212. </p>
  213. <div class="container text-center">
  214. <form name='formEnvio' id='formEnvio' method='post' \
  215. action='#'\
  216. enctype='multipart/form-data'>
  217. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  218. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  219. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_1_ler_e_imprimir_inteiro.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  220. allowfullscreen></iframe><br/>
  221. </div>
  222. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  223. title='Clique aqui para visualizar seu código.'
  224. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  225. </form>
  226. </div>
  227. </div>
  228. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  229. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  230. <div class="container example-large-div">
  231. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-2" aria-expanded="false" aria-controls="area-exemplo-2"><span class="octicon octicon-rocket"></span> Exemplo 2: Quadrado de um número</div>
  232. <div class="example-content collapse" id="area-exemplo-2">
  233. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_2_imprimir_quadrado_solucao.ivph', this)">Ver solução</button>
  234. <p class="text-reduced">
  235. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  236. </p>
  237. <p class="text-reduced">
  238. <b>Construa um algoritmo que recebe um número inteiro e imprime o quadrado desse valor.</b>
  239. </p>
  240. <div class="container text-center">
  241. <form name='formEnvio' id='formEnvio' method='post' \
  242. action='#'\
  243. enctype='multipart/form-data'>
  244. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  245. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  246. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_2_imprimir_quadrado.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  247. allowfullscreen></iframe><br/>
  248. </div>
  249. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  250. title='Clique aqui para visualizar seu código.'
  251. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  252. </form>
  253. </div>
  254. </div>
  255. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  256. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  257. <div class="container example-large-div">
  258. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-3" aria-expanded="false" aria-controls="area-exemplo-3"><span class="octicon octicon-rocket"></span> Exemplo 3: Soma de dois valores</div>
  259. <div class="example-content collapse" id="area-exemplo-3">
  260. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_3_soma_dois_valores_solucao.ivph', this)">Ver solução</button>
  261. <p class="text-reduced">
  262. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  263. </p>
  264. <p class="text-reduced">
  265. <b>Construa um algoritmo que recebe dois números inteiros e imprime a soma desses valores.</b>
  266. </p>
  267. <div class="container text-center">
  268. <form name='formEnvio' id='formEnvio' method='post' \
  269. action='#'\
  270. enctype='multipart/form-data'>
  271. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  272. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  273. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_3_soma_dois_valores.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  274. allowfullscreen></iframe><br/>
  275. </div>
  276. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  277. title='Clique aqui para visualizar seu código.'
  278. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  279. </form>
  280. </div>
  281. </div>
  282. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  283. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  284. <div class="container example-large-div">
  285. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-4" aria-expanded="false" aria-controls="area-exemplo-4"><span class="octicon octicon-rocket"></span> Exemplo 4: Média aritmética</div>
  286. <div class="example-content collapse" id="area-exemplo-4">
  287. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_4_media_aritmetica_solucao.ivph', this)">Ver solução</button>
  288. <p class="text-reduced">
  289. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  290. </p>
  291. <p class="text-reduced">
  292. <b>Construa um algoritmo que recebe dois números inteiros da entrada, calcula a média aritmética desses números e a imprima.</b>
  293. </p>
  294. <div class="container text-center">
  295. <form name='formEnvio' id='formEnvio' method='post' \
  296. action='#'\
  297. enctype='multipart/form-data'>
  298. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  299. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  300. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_4_media_aritmetica.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  301. allowfullscreen></iframe><br/>
  302. </div>
  303. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  304. title='Clique aqui para visualizar seu código.'
  305. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  306. </form>
  307. </div>
  308. </div>
  309. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  310. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  311. <div class="container example-large-div">
  312. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-5" aria-expanded="false" aria-controls="area-exemplo-5"><span class="octicon octicon-rocket"></span> Exemplo 5: Maior valor</div>
  313. <div class="example-content collapse" id="area-exemplo-5">
  314. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_5_maior_valor_solucao.ivph', this)">Ver solução</button>
  315. <p class="text-reduced">
  316. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  317. </p>
  318. <p class="text-reduced">
  319. <b>Construa um algoritmo que recebe dois números inteiros da entrada e imprime o maior dentre os dois números.</b>
  320. </p>
  321. <div class="container text-center">
  322. <form name='formEnvio' id='formEnvio' method='post' \
  323. action='#'\
  324. enctype='multipart/form-data'>
  325. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  326. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  327. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_5_maior_valor.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  328. allowfullscreen></iframe><br/>
  329. </div>
  330. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  331. title='Clique aqui para visualizar seu código.'
  332. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  333. </form>
  334. </div>
  335. </div>
  336. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  337. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  338. <div class="container example-large-div">
  339. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-6" aria-expanded="false" aria-controls="area-exemplo-6"><span class="octicon octicon-rocket"></span> Exemplo 6: Sequência</div>
  340. <div class="example-content collapse" id="area-exemplo-6">
  341. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_6_imprimir_de_1_a_10_solucao.ivph', this)">Ver solução</button>
  342. <p class="text-reduced">
  343. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  344. </p>
  345. <p class="text-reduced">
  346. <b>Construa um algoritmo que imprima a sequência de números inteiros de 1 a 10.</b>
  347. </p>
  348. <div class="container text-center">
  349. <form name='formEnvio' id='formEnvio' method='post' \
  350. action='#'\
  351. enctype='multipart/form-data'>
  352. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  353. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  354. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_6_imprimir_de_1_a_10.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  355. allowfullscreen></iframe><br/>
  356. </div>
  357. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  358. title='Clique aqui para visualizar seu código.'
  359. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  360. </form>
  361. </div>
  362. </div>
  363. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  364. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  365. <div class="container example-large-div">
  366. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-7" aria-expanded="false" aria-controls="area-exemplo-7"><span class="octicon octicon-rocket"></span> Exemplo 7: Imprimir texto</div>
  367. <div class="example-content collapse" id="area-exemplo-7">
  368. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_7_imprimir_ivprogh_10_vezes_solucao.ivph', this)">Ver solução</button>
  369. <p class="text-reduced">
  370. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  371. </p>
  372. <p class="text-reduced">
  373. <b>Construa um algoritmo que imprima a palavra iVProgH 10 vezes.</b>
  374. </p>
  375. <div class="container text-center">
  376. <form name='formEnvio' id='formEnvio' method='post' \
  377. action='#'\
  378. enctype='multipart/form-data'>
  379. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  380. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  381. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_7_imprimir_ivprogh_10_vezes.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  382. allowfullscreen></iframe><br/>
  383. </div>
  384. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  385. title='Clique aqui para visualizar seu código.'
  386. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  387. </form>
  388. </div>
  389. </div>
  390. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  391. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  392. <div class="container example-large-div">
  393. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-8" aria-expanded="false" aria-controls="area-exemplo-8"><span class="octicon octicon-rocket"></span> Exemplo 8: Somar n valores</div>
  394. <div class="example-content collapse" id="area-exemplo-8">
  395. <button type="button" class="btn btn-primary show-solution" onclick="openSolution('../ex_pt/exerc/exemplo_8_somar_valores_ate_digitar_0_solucao.ivph', this)">Ver solução</button>
  396. <p class="text-reduced">
  397. Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
  398. </p>
  399. <p class="text-reduced">
  400. <b>Fazer um algoritmo que lê uma sequência de números inteiros, somando-os até que um valor 0 seja digitado, nesse momento deve imprimir o valor da soma e parar.</b>
  401. </p>
  402. <div class="container text-center">
  403. <form name='formEnvio' id='formEnvio' method='post' \
  404. action='#'\
  405. enctype='multipart/form-data'>
  406. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  407. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  408. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_Assignment=../ex_pt/exerc/exemplo_8_somar_valores_ate_digitar_0.ivph&iLM_PARAM_SendAnswer=false&lang=pt"
  409. allowfullscreen></iframe><br/>
  410. </div>
  411. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  412. title='Clique aqui para visualizar seu código.'
  413. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  414. </form>
  415. </div>
  416. </div>
  417. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  418. <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
  419. <div class="container example-large-div">
  420. <div class="text-count-example" data-toggle="collapse" href="#area-exemplo-9" aria-expanded="false" aria-controls="area-exemplo-9"><span class="octicon octicon-rocket"></span> Gabarito: Construindo uma atividade</div>
  421. <div class="example-content collapse" id="area-exemplo-9">
  422. <p class="text-reduced">
  423. <b>Nesse exemplo, construa uma atividade, inserindo os casos de teste que serão utilizados para avaliar o algoritmo e configure os recursos que serão disponibilizados para o aluno no iVProgH.</b>
  424. </p>
  425. <div class="container text-center">
  426. <form name='formEnvio' id='formEnvio' method='post' \
  427. action='#'\
  428. enctype='multipart/form-data'>
  429. <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
  430. <iframe name="iLM" id="iLM" class="embed-responsive-item"
  431. src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_SendAnswer=true&lang=pt"
  432. allowfullscreen></iframe><br/>
  433. </div>
  434. <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
  435. title='Clique aqui para visualizar seu código.'
  436. onclick='javascript:window.submit_iMA_Answer();' /><!-- chama funcao iMA-->
  437. </form>
  438. </div>
  439. </div>
  440. </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
  441. </main>
  442. <footer class="container text-center">
  443. <a href="http://www.ime.usp.br/line">iVProgH</a> |
  444. <a href="http://www.ime.usp.br/line">LInE</a> |
  445. <a href="http://www.matematica.br">iM&aacute;tica</a>
  446. </footer>
  447. <script src="../js/jquery.min.js"></script>
  448. <script src="../js/bootstrap.bundle.min.js"></script>
  449. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/octicons/3.5.0/octicons.min.css">
  450. <script type="text/javascript">
  451. $('.example-content').on('shown.bs.collapse', function () {
  452. this.parentNode.scrollIntoView();
  453. });
  454. </script>
  455. </body>
  456. </html>