|
@@ -0,0 +1,515 @@
|
|
|
+<!doctype html>
|
|
|
+<html lang="en">
|
|
|
+ <head>
|
|
|
+ <meta charset="utf-8">
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
|
+ <title>iVProgH - LInE (free educational software and contents)</title>
|
|
|
+ <link href="../css/bootstrap.min.css" rel="stylesheet">
|
|
|
+ <link href="../css/style.css" rel="stylesheet">
|
|
|
+ </head>
|
|
|
+
|
|
|
+<!--
|
|
|
+ -------------------------------------------------------------------------------
|
|
|
+ JavaScript code: starting point
|
|
|
+ This JavaScript code could be inserted in any LMS to get the iLM content and send it to the server.
|
|
|
+ In this example it use a single "applet" instance, here from iHanoi.
|
|
|
+ -->
|
|
|
+<script Language="JavaScript">
|
|
|
+ //<![CDATA[
|
|
|
+ var strAnswer = '';
|
|
|
+ var evaluationResult = '';
|
|
|
+ var comment = '';
|
|
|
+
|
|
|
+ function submit_iMA_Answer (index) {
|
|
|
+ // alert('./ex_pt/index.html: window.frames=' + window.frames);
|
|
|
+ // alert('./ex_pt/index.html: window.frames.iLM=' + window.frames.iLM);
|
|
|
+
|
|
|
+ var name = 'iLM[' + index + ']'; // alert('name='+name);
|
|
|
+ window.frames[name].getEvaluation();
|
|
|
+ var strAnswer = window.frames[name].getAnswer();
|
|
|
+ alert('Copie o código ivph a seguir (para usá-lo com o iVProgH): ' + strAnswer);
|
|
|
+
|
|
|
+ //DEBUG
|
|
|
+ //D var strFrames = "";
|
|
|
+ //D var arrFrames = parent.document.getElementsByTagName("IFRAME");
|
|
|
+ //D for (var i=0; i<arrFrames.length; i++) {
|
|
|
+ //D strFrames += ', ' + arrFrames[i].name; // if (arrFrames[i].contentWindow === window) alert("yay!");
|
|
|
+ //D } // acho 'window.frames' de nome 'iLM'!!!
|
|
|
+ //D if (index<10)
|
|
|
+ //D alert('./ex_pt/index.html: window.frames=' + strFrames);
|
|
|
+
|
|
|
+ // alert('window.frames.iLM=' + window.frames.iLM); // undefined
|
|
|
+
|
|
|
+ //D var docForm = document.formEnvio;
|
|
|
+ //D // Prepared to be used with more than 1 "applet'
|
|
|
+ //D var exercise_answer = new Array(3); // answer: to get the learner answer
|
|
|
+ //D var exercise_value = new Array(3); // value from the iLM automatic evaluator
|
|
|
+ //D // var doc = document.formEnvio; // ----------------------------------------------------------
|
|
|
+ //D // var doc = javascript:window.jsAnalyseAnswer();
|
|
|
+ //D try {
|
|
|
+ //D alert('submit_iMA_Answer(): evaluationResult=' + evaluationResult);
|
|
|
+ //D exercise_answer[0] = doc.getAnswer(); // answer: it must be first (usually the iLM first get the answer to compute the evaluation grade)
|
|
|
+ //D exercise_value[0] = doc.getEvaluation(); // value from the iLM automatic evaluator
|
|
|
+ //D } catch (Exception) { alert("Error!"); }
|
|
|
+ //D docForm.iLM_POST_Archive_0.value = exercise_answer[0]; // Content coming from the iLM
|
|
|
+ //D docForm.iLM_POST_Value_0.value = exercise_value[0]; // The activity evaluation coming from the iLM
|
|
|
+ //D // This is used to help the developer to debug his iLM
|
|
|
+ //D // It presents the file content that will be registered.
|
|
|
+ //D alert('The file activity value is: ' + exercise_value[0] + '\nThe activity content is:\n' + exercise_answer[0]);
|
|
|
+ //D //uncomment_this docForm.submit(); // envia de fato o formulario
|
|
|
+ //D //uncomment_this return true;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ function getEvaluationCallback (evaluation) {
|
|
|
+ evaluationResult = evaluation;
|
|
|
+ strAnswer = window.frames.iLM[index].getAnswer();
|
|
|
+ alert('getEvaluationCallback(...)' + evaluation + ', strAnswer=' + strAnswer);
|
|
|
+ comment = document.formEnvio.submission_comment.value;
|
|
|
+ //leo
|
|
|
+ if ((strAnswer==null || strAnswer=='' || strAnswer==-1) && (comment==null || comment=='')) { // undefined
|
|
|
+ alert('Activity sent without content.'); // 'Activity sent without content.'
|
|
|
+ return false; // error...
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //leo alert('getEvaluationCallback: enviando evaluationResult=' + evaluation + ', strAnswer=' + strAnswer);
|
|
|
+ document.formEnvio.iLM_PARAM_ArchiveContent.value = strAnswer;
|
|
|
+ document.formEnvio.iLM_PARAM_ActivityEvaluation.value = evaluationResult;
|
|
|
+ document.formEnvio.submit();
|
|
|
+ return true; // success
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function openSolution (url_file, el_button) {
|
|
|
+ $(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');
|
|
|
+ }
|
|
|
+//]]>
|
|
|
+</script>
|
|
|
+
|
|
|
+<!--
|
|
|
+ JavaScript code: final -------------------------------------------------------------------------------
|
|
|
+-->
|
|
|
+
|
|
|
+ <body>
|
|
|
+ <nav class="navbar navbar-expand-md navbar-dark fixed-top" style="background-color: #03396c;">
|
|
|
+ <b><a class="navbar-brand" href="../">iVProgH</a></b>
|
|
|
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
|
|
|
+ <span class="navbar-toggler-icon"></span>
|
|
|
+ </button>
|
|
|
+ <div class="collapse navbar-collapse" id="navbarsExampleDefault">
|
|
|
+ <ul class="navbar-nav mr-auto">
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="../"
|
|
|
+ title="Navegue para a página inicial do site do iVProgH.">Home</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="../sobre_ivprog.html"
|
|
|
+ title="Conheça resumidamente o que é e para que serve o iVProgH.">Conheça</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item active">
|
|
|
+ <a class="nav-link" href="../ex_pt/index.html"
|
|
|
+ title="Veja alguns exemplos e teste o iVProgH online.">Exemplos</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="../download.html"
|
|
|
+ title="Faça uma cópia do iVProgH para sua máquina.">Download</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="../manual_pt/index.html"
|
|
|
+ title="Acesse um manual online do iVProgH e conheça todos os recursos.">Ajuda</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="../bugs/report.html"
|
|
|
+ title="Envie uma mensagem para a equipe do iVProgH.">Contato</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="//www.usp.br/line/"
|
|
|
+ title="Conheça o Laboratório de Informática na Educação do Instituto de Matemática e Estatística da USP.">LInE</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="../docs/"
|
|
|
+ title="Tenha acesso a toda a documentação do iVProgH.">Desenvolvedores</a>
|
|
|
+ </li>
|
|
|
+ <li class="nav-item">
|
|
|
+ <a class="nav-link" href="../publicacoes.html"
|
|
|
+ title="Leia as publicações da equipe a respeito do iVProgH.">Publicações</a>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <div class="form-inline my-2 my-lg-0">
|
|
|
+ <img src="../img/img_flag_brazil.png" />
|
|
|
+ <img src="../img/img_flag_usa.png" ;>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </nav>
|
|
|
+
|
|
|
+ <main role="main">
|
|
|
+ <div class="jumbotron ivprogh-desc">
|
|
|
+ <div class="container">
|
|
|
+ <h1>Exemplos</h1>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="container example-large-div autoeval-descript">
|
|
|
+ <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>
|
|
|
+ <div id="area-autoeval-descript" class="collapse">
|
|
|
+ <p>O iVProg permite a disponibilização de exercícios com avaliação automática diretamente em páginas Web.
|
|
|
+ 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>
|
|
|
+
|
|
|
+ <p>A avaliação automática no iVProg é feita a partir de um modelo (gabarito), que deve ter sido preparado pelo professor,
|
|
|
+ prevendo entradas de dados e suas respectivas saídas. Quando o aluno "clicar" no botão para avaliar sua solução,
|
|
|
+ o iVProg usa a primeira lista como entradas para o problema do aluno, comparando cada saída gerada com aquelas da
|
|
|
+ lista de saídas.</p>
|
|
|
+
|
|
|
+ <p>Para compreender melhor o processo, vamos usar um exemplo de algoritmo que deve somar separadamente todos os números
|
|
|
+ positivos e negativos digitados pelo usuário.</p>
|
|
|
+
|
|
|
+ <p><span class="octicon octicon-pin"></span><b>Problema:</b></p>
|
|
|
+
|
|
|
+ <p>Fazer um algoritmo que solicite que o usuário digite valores inteiros, finalizando sua execução quando for digitado
|
|
|
+ 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>
|
|
|
+
|
|
|
+ <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>
|
|
|
+
|
|
|
+ <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,
|
|
|
+ ilustradas na tabela abaixo. A primeira coluna tem o numero do par "entradas/saidas", a segunda apresenta a lista de entradas
|
|
|
+ (separadas por espaço em branco), no terceira coluna estão as saídas esperadas (para aquelas entradas) e na última coluna uma
|
|
|
+ explicação curta sobre o par.
|
|
|
+
|
|
|
+ <table class="table about-auto-eval">
|
|
|
+ <thead class="thead-light">
|
|
|
+ <tr>
|
|
|
+ <th scope="col">#</th>
|
|
|
+ <th scope="col">Entradas</th>
|
|
|
+ <th scope="col">Saídas</th>
|
|
|
+ <th scope="col">Comentários</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <th scope="row">1</th>
|
|
|
+ <td>0</td>
|
|
|
+ <td>0 0</td>
|
|
|
+ <td>Esse é um teste capcioso, pois se a primeira entrada for zero, nada será somado (daí deve-se imprimir 0 e 0)</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th scope="row">2</th>
|
|
|
+ <td>1 -1 1 0</td>
|
|
|
+ <td> 2 -1 </td>
|
|
|
+ <td>Apresenta 2 valores positivos e 1 negativo, com somas respectivamente 2 e -1</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th scope="row">3</th>
|
|
|
+ <td>-1 -1 3 1 0</td>
|
|
|
+ <td>4 -2</td>
|
|
|
+ <td>Apresenta 2 valores positivos e 2 negativo, com somas respectivamente 4 e -2</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+ <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>
|
|
|
+
|
|
|
+ <p><span class="octicon octicon-light-bulb"></span> <b> Como o iVProg avalia automaticamente uma solução do aluno?</b></p>
|
|
|
+
|
|
|
+ <p>Supondo que o aluno tenha construído um algoritmo, quando ele "clicar" no botão para avaliar
|
|
|
+ sua solução, o iVProg:</p>
|
|
|
+
|
|
|
+ <ol>
|
|
|
+ <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>
|
|
|
+ <li>A primeira saída (comando de impressão) gerada pelo código do aluno é comparada com a primeira saída esperada, se coincidir
|
|
|
+ é registrado um acerto, senão um erro.</li>
|
|
|
+ <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.
|
|
|
+ <p>Por exemplo, se o algoritmo do aluno errar em 2 das 6 saídas, sua nota será 1/3.</p></li>
|
|
|
+ </ol>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="container example-large-div autoeval-descript">
|
|
|
+ <div aria-expanded="false" aria-controls="area-autoeval-descript">
|
|
|
+ Experimente os exercícios listados abaixo, de exemplo 1 até exemplo 8.
|
|
|
+ O exemplo 9 ilustra como construir um gabarito para um exercício com avaliação automática no <i>iVProgH</i></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-1">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <b>Faça um programa que solicite do usuário um valor inteiro, depois imprima o valor por ele digitado.</b>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#' \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[1]" id="iLM[1]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(1);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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: Imprimir o quadrado de um número (inteiro)</div>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-2">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <b>Construa um algoritmo que solicite que o usuário digite um número (inteiro) e imprime o quadrado desse valor.</b>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#' \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[2]" id="iLM[2]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(2);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-3">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <b>Construa um algoritmo que recebe dois números inteiros e imprime a soma desses valores.</b>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#' \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[3]" id="iLM[3]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(3);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-4">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <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>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#' \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[4]" id="iLM[4]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(4);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-5">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <b>Construa um algoritmo que recebe dois números inteiros da entrada e imprime o maior dentre os dois números.</b>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#' \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[5]" id="iLM[5]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(5);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-6">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <b>Construa um algoritmo que imprima a sequência de números inteiros de 1 a 10.</b>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#' \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[6]" id="iLM[6]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(6);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-7">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <b>Construa um algoritmo que imprima a palavra iVProgH 10 vezes.</b>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#' \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[7]" id="iLM[7]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(7);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-8">
|
|
|
+ <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>
|
|
|
+ <p class="text-reduced">
|
|
|
+ Exemplo de exercício com <i>avaliação automática</i> no <i>iVProg</i>.
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <p class="text-reduced">
|
|
|
+ <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>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#'\ \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[8]" id="iLM[8]" class="embed-responsive-item"
|
|
|
+ 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"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(8);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ <!-- Para cada exemplo, copiar toda a DIV abaixo e não alterar as classes dos elementos :) -->
|
|
|
+ <div class="container example-large-div">
|
|
|
+ <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>
|
|
|
+ <div class="example-content collapse" id="area-exemplo-9">
|
|
|
+ <p class="text-reduced">
|
|
|
+ <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>
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div class="container text-center">
|
|
|
+ <form name='formEnvio' id='formEnvio' method='post' action='#'\ \
|
|
|
+ enctype='multipart/form-data'>
|
|
|
+ <div class="embed-responsive embed-responsive-16by9"> <!-- 4by3 -->
|
|
|
+ <iframe name="iLM[9]" id="iLM[9]" class="embed-responsive-item"
|
|
|
+ src="../ivprogh/index.html?iLM_PARAM_AssignmentURL=true&iLM_PARAM_SendAnswer=true&lang=pt"
|
|
|
+ allowfullscreen></iframe><br/>
|
|
|
+ </div>
|
|
|
+ <input type='button' name='Submit' value='Enviar resposta' class="btn btn-warning"
|
|
|
+ title='Clique aqui para visualizar seu código.'
|
|
|
+ onclick='javascript:window.submit_iMA_Answer(9);' /><!-- chama funcao iMA-->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> <!-- Este é o final da DIV que deve ser copiada para cada exemplo -->
|
|
|
+
|
|
|
+ </main>
|
|
|
+ <footer class="container text-center">
|
|
|
+ <a href="http://www.ime.usp.br/line">iVProgH</a> |
|
|
|
+ <a href="http://www.ime.usp.br/line">LInE</a> |
|
|
|
+ <a href="http://www.matematica.br">iMática</a>
|
|
|
+ </footer>
|
|
|
+
|
|
|
+ <script src="../js/jquery.min.js"></script>
|
|
|
+ <script src="../js/bootstrap.bundle.min.js"></script>
|
|
|
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/octicons/3.5.0/octicons.min.css">
|
|
|
+ <script type="text/javascript">
|
|
|
+ $('.example-content').on('shown.bs.collapse', function () {
|
|
|
+ this.parentNode.scrollIntoView();
|
|
|
+ });
|
|
|
+ </script>
|
|
|
+ </body>
|
|
|
+</html>
|