Skip to content

Commit

Permalink
Atualização
Browse files Browse the repository at this point in the history
  • Loading branch information
jandermoreira committed Jun 26, 2024
1 parent 2962847 commit 354e4df
Show file tree
Hide file tree
Showing 9 changed files with 2,191 additions and 4 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,36 @@ <h1 class="title"><span id="sec-problemas-modularizacao" class="quarto-section-i
</div>
</div>
</div>
<!-- Função potência x^k -->
<!-- Função potência x^k -->
<div id="exr-0057">
<div class="callout callout-style-simple no-icon callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon no-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Problema 10.2 [#0057]
</div>
</div>
<div class="callout-body-container callout-body">
<div>
<p>Considere a função abaixo, na qual <span class="math inline">\(v\)</span> é um número real e <span class="math inline">\(k\)</span> é um inteiro:</p>
<div>
<figcaption class="figure-caption">
</figcaption>
<p><img src="algxpar/pseudocode.5b2fab17dc208988d90f28f7b3bd736a079a3dd9.svg" class="img-fluid" alt="" width="648"></p>
</div>
<p>Faça:</p>
<ul>
<li>Entenda o código e especifique o que a função retorna;</li>
<li>Escreva a documentação faltante;</li>
<li>Identifique o que mais dificultou para descobrir o que a função faz.</li>
</ul>
</div>
</div>
</div>
</div>



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -459,12 +459,32 @@ <h1 class="title"><span class="chapter-number">8</span>&nbsp; <span class="chapt
</div>
<div class="callout-body-container callout-body">
<div>
<p>Escreva uma função que, dado um valor inteiro qualquer, retorne se ele é par ou não. Use a divisão modular (<span class="math inline">\(\bmod\)</span>) para indicar o cálculo.</p>
<p>Escreva uma função que, dado um valor inteiro qualquer, retorne se ele é par ou não. Use a divisão modular <span class="math inline">\(({\bmod})\)</span> para indicar o cálculo.</p>
<p><a href="pratica-algoritmos-respostas-modularizacao.html#sol-0051" class="quarto-xref"><img src="icones/resposta.png" height="20"> Resposta&nbsp;<span>11.4</span></a></p>
</div>
</div>
</div>
</div>
<!-- Função número de divisores -->
<!-- Função número de divisores -->
<div id="exr-0056">
<div class="callout callout-style-simple no-icon callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon no-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Problema 8.9 [#0056]
</div>
</div>
<div class="callout-body-container callout-body">
<div>
<p>Escreva uma função que retorne o número de divisores de um número natural, incluindo ele próprio.</p>
<p><a href="pratica-algoritmos-respostas-modularizacao.html#rem-0056" class="quarto-xref"><img src="icones/comentario.png" height="20"> Comentário&nbsp;<span>11.2</span></a></p>
</div>
</div>
</div>
</div>



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,35 @@
}
}</script>

<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script>

<script type="text/javascript">
const typesetMath = (el) => {
if (window.MathJax) {
// MathJax Typeset
window.MathJax.typeset([el]);
} else if (window.katex) {
// KaTeX Render
var mathElements = el.getElementsByClassName("math");
var macros = [];
for (var i = 0; i < mathElements.length; i++) {
var texText = mathElements[i].firstChild;
if (mathElements[i].tagName == "SPAN") {
window.katex.render(texText.data, mathElements[i], {
displayMode: mathElements[i].classList.contains('display'),
throwOnError: false,
macros: macros,
fleqn: false
});
}
}
}
}
window.Quarto = {
typesetMath
};
</script>

<link rel="stylesheet" href="book.css">
</head>
Expand Down Expand Up @@ -412,6 +441,27 @@ <h1 class="title"><span id="sec-respostas-modularizacao" class="quarto-section-i
</div>
</div>
</div>
<!-- Função número de divisores -->
<!-- Função número de divisores -->
<div id="rem-0056">
<div class="callout callout-style-simple no-icon callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon no-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Comentário 11.2 [#0056]
</div>
</div>
<div class="callout-body-container callout-body">
<div>
<p><a href="pratica-algoritmos-proposta-funcoes-simples.html#exr-0056" class="quarto-xref"><img src="icones/pergunta.png" height="20"> Problema&nbsp;<span>8.9</span></a></p>
<p>Nesta função, é interessante notar que, dado um <span class="math inline">\(n \in \mathbb{N}\)</span>, 1 e <span class="math inline">\(n\)</span> sempre serão seus divisores. Além disso, não existe nenhum divisor de <span class="math inline">\(n\)</span> que seja maior que <span class="math inline">\(n/2\)</span>.</p>
<p>Um exercício mental relevante é como incorporar essas informações à solução algorítmica para que sejam evitadas verificações desnecessárias.</p>
</div>
</div>
</div>
</div>
<!-- PROJETO DE FUNÇÕES -->
<!-- Projeto função: combinação de n, p a p -->
<!-- Projeto função: combinação de n, p a p -->
Expand Down
6 changes: 3 additions & 3 deletions cap-pratica-algoritmos/search.json
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
"href": "pratica-algoritmos-proposta-funcoes-simples.html",
"title": "8  Proposta de funções simples",
"section": "",
"text": "Problema 8.1 [#0046]\n\n\n\n\nEscreva uma função para, dado raio de uma esfera, retornar seu volume.\nO volume é dado por \\(V = \\dfrac{4}{3}\\pi r^3\\).\n Resposta 11.1\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.2 [#0047]\n\n\n\n\nEscreva uma função para, dado diâmetro de uma esfera, retornar seu volume.\nO volume é dado por \\(V = \\dfrac{1}{6}\\pi d^3\\)\n Comentário 11.1\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.3 [#0043]\n\n\n\n\nEscreva uma função para, dados dois valores numéricos, retornar o valor máximo entre eles.\n Resposta 11.2\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.4 [#0044]\n\n\n\n\nEscreva uma função para, dados três valores numéricos, retornar o valor máximo entre eles.\n Resposta 11.3\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.5 [#0045]\n\n\n\n\nEscreva uma função para, dado um valor inteiro positivo, retornar Verdadeiro se o valor for um número perfeito ou Falso caso contrário.\nUm número perfeito é todo \\(n \\in \\mathbb{Z}^{+*}\\) que seja igual à soma de seus divisores (exceto pelo próprio \\(n\\)). Por exemplo, \\({28 = 1 + 2 + 4 + 7 + 14}\\), sendo um número perfeito.\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.6 [#0048]\n\n\n\n\nEscreva uma função que receba três parâmetros, todos inteiros: a quantidade de horas, de minutos e de segundos. A função deve retornar o valor equivalente em segundos.\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.7 [#0049]\n\n\n\n\nEscreva uma função que receba três parâmetros, todos inteiros: a quantidade de horas, de minutos e de segundos. A função deve retornar o valor equivalente em horas, com a devida parte decimal.\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.8 [#0051]\n\n\n\n\nEscreva uma função que, dado um valor inteiro qualquer, retorne se ele é par ou não. Use a divisão modular (\\(\\bmod\\)) para indicar o cálculo.\n Resposta 11.4",
"text": "Problema 8.1 [#0046]\n\n\n\n\nEscreva uma função para, dado raio de uma esfera, retornar seu volume.\nO volume é dado por \\(V = \\dfrac{4}{3}\\pi r^3\\).\n Resposta 11.1\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.2 [#0047]\n\n\n\n\nEscreva uma função para, dado diâmetro de uma esfera, retornar seu volume.\nO volume é dado por \\(V = \\dfrac{1}{6}\\pi d^3\\)\n Comentário 11.1\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.3 [#0043]\n\n\n\n\nEscreva uma função para, dados dois valores numéricos, retornar o valor máximo entre eles.\n Resposta 11.2\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.4 [#0044]\n\n\n\n\nEscreva uma função para, dados três valores numéricos, retornar o valor máximo entre eles.\n Resposta 11.3\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.5 [#0045]\n\n\n\n\nEscreva uma função para, dado um valor inteiro positivo, retornar Verdadeiro se o valor for um número perfeito ou Falso caso contrário.\nUm número perfeito é todo \\(n \\in \\mathbb{Z}^{+*}\\) que seja igual à soma de seus divisores (exceto pelo próprio \\(n\\)). Por exemplo, \\({28 = 1 + 2 + 4 + 7 + 14}\\), sendo um número perfeito.\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.6 [#0048]\n\n\n\n\nEscreva uma função que receba três parâmetros, todos inteiros: a quantidade de horas, de minutos e de segundos. A função deve retornar o valor equivalente em segundos.\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.7 [#0049]\n\n\n\n\nEscreva uma função que receba três parâmetros, todos inteiros: a quantidade de horas, de minutos e de segundos. A função deve retornar o valor equivalente em horas, com a devida parte decimal.\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.8 [#0051]\n\n\n\n\nEscreva uma função que, dado um valor inteiro qualquer, retorne se ele é par ou não. Use a divisão modular \\(({\\bmod})\\) para indicar o cálculo.\n Resposta 11.4\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 8.9 [#0056]\n\n\n\n\nEscreva uma função que retorne o número de divisores de um número natural, incluindo ele próprio.\n Comentário 11.2",
"crumbs": [
"Modularização",
"<span class='chapter-number'>8</span>  <span class='chapter-title'>Proposta de funções simples</span>"
Expand All @@ -176,7 +176,7 @@
"href": "pratica-algoritmos-problemas-gerais-modularizacao.html",
"title": "10  Problemas gerais envolvendo modularização",
"section": "",
"text": "Problema 10.1 [#0053]\n\n\n\n\n\n\nUma instituição de ensino faz o controle de desempenho dos alunos usando conceitos, como A, B, C etc. no lugar nas notas numéricas.\nPara que cálculos de médias possam ser feitos usando os conceitos, eles precisam ser convertidos para valores numéricos e o resultado convertido para conceito novamente.\nEm particular, a instituição possui a seguinte associação entre conceitos e notas:\n\n\n\n\n\nConceito\nValor numérico\n\n\n\n\nA\n10,0\n\n\nB\n8,5\n\n\nC\n6,5\n\n\nD\n5,5\n\n\nE\n3,0\n\n\nF\n0,0\n\n\n\n\n\nA conversão de nota numérica para conceito obedece à seguinte associação\n\n\n\n\n\nIntervalo\nConceito\n\n\n\n\n\\(n &gt; 9\\)\nA\n\n\n\\(8{,}0 &lt; n \\leq 9{,}0\\)\nB\n\n\n\\(6{,}0 &lt; n \\leq 8{,}0\\)\nC\n\n\n\\(4{,}0 &lt; n \\leq 6{,}0\\)\nD\n\n\n\\(0{,}0 &lt; n \\leq 4{,}0\\)\nE\n\n\n\\(n = 0{,}0\\)\nF\n\n\n\n\n\nNa instituição descrita, é preciso calcular a média de três conceitos de um dado aluno, apresentando o conceito final resultante. Escreva um algoritmo para resolver esse problema.\n?sol-0053",
"text": "Problema 10.1 [#0053]\n\n\n\n\n\n\nUma instituição de ensino faz o controle de desempenho dos alunos usando conceitos, como A, B, C etc. no lugar nas notas numéricas.\nPara que cálculos de médias possam ser feitos usando os conceitos, eles precisam ser convertidos para valores numéricos e o resultado convertido para conceito novamente.\nEm particular, a instituição possui a seguinte associação entre conceitos e notas:\n\n\n\n\n\nConceito\nValor numérico\n\n\n\n\nA\n10,0\n\n\nB\n8,5\n\n\nC\n6,5\n\n\nD\n5,5\n\n\nE\n3,0\n\n\nF\n0,0\n\n\n\n\n\nA conversão de nota numérica para conceito obedece à seguinte associação\n\n\n\n\n\nIntervalo\nConceito\n\n\n\n\n\\(n &gt; 9\\)\nA\n\n\n\\(8{,}0 &lt; n \\leq 9{,}0\\)\nB\n\n\n\\(6{,}0 &lt; n \\leq 8{,}0\\)\nC\n\n\n\\(4{,}0 &lt; n \\leq 6{,}0\\)\nD\n\n\n\\(0{,}0 &lt; n \\leq 4{,}0\\)\nE\n\n\n\\(n = 0{,}0\\)\nF\n\n\n\n\n\nNa instituição descrita, é preciso calcular a média de três conceitos de um dado aluno, apresentando o conceito final resultante. Escreva um algoritmo para resolver esse problema.\n?sol-0053\n\n\n\n\n\n\n\n\n\n\n\n\n\nProblema 10.2 [#0057]\n\n\n\n\nConsidere a função abaixo, na qual \\(v\\) é um número real e \\(k\\) é um inteiro:\n\n\n\n\n\nFaça:\n\nEntenda o código e especifique o que a função retorna;\nEscreva a documentação faltante;\nIdentifique o que mais dificultou para descobrir o que a função faz.",
"crumbs": [
"Modularização",
"<span class='chapter-number'>10</span>  <span class='chapter-title'>Problemas gerais envolvendo modularização</span>"
Expand All @@ -187,7 +187,7 @@
"href": "pratica-algoritmos-respostas-modularizacao.html",
"title": "11  Respostas e comentários para problemas selecionados",
"section": "",
"text": "Resposta 11.1 [#0046]\n\n\n\n\n Problema 8.1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nComentário 11.1 [#0047]\n\n\n\n\n Problema 8.2\nCaso o Problema 8.1/ Resposta 11.1 tenha sido resolvido, é possível escrever:\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.2 [#0043]\n\n\n\n\n Problema 8.3\nSolução mais didática:\n\n\n\n\n\nSolução prática e comum:\n\n\n\n\n\nNesta última solução, é importante notar que não há possibilidade de que a execução chegue ao fim sem nenhum return.\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.3 [#0044]\n\n\n\n\n Problema 8.4\n\n\n\n\n\nCaso o Problema 8.3/ Resposta 11.2 tenha sido resolvido, a solução abaixo faz sentido:\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.4 [#0051]\n\n\n\n\n Problema 8.8\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.5 [#0050]\n\n\n\n\n Problema 9.1\nA combinação em si é o primeiro item que pode ser escrito na forma de função. Dessa forma, é possível escrever uma função com o seguinte cabeçalho:\n\n\n\n\n\nOs cálculos internos requerem o uso do fatorial e, dado que apenas somas e subtrações estão disponíveis, a implementação de uma função para o fatorial também é interessante.\nAssim, a segunda função possível é a fatorial calculada pelas multiplicações sucessivas dos valores.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.6 [#0052]\n\n\n\n\n Problema 9.2\nAs conversões de conceitos para notas e de notas para conceitos são candidatas perfeitas para serem modularizadas.\nConceito para nota:\n\n\n\n\n\nNota para conceito:\n\n\n\n\n\nCom essas funções, o algoritmo poderia ter as seguintes instruções:",
"text": "Resposta 11.1 [#0046]\n\n\n\n\n Problema 8.1\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nComentário 11.1 [#0047]\n\n\n\n\n Problema 8.2\nCaso o Problema 8.1/ Resposta 11.1 tenha sido resolvido, é possível escrever:\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.2 [#0043]\n\n\n\n\n Problema 8.3\nSolução mais didática:\n\n\n\n\n\nSolução prática e comum:\n\n\n\n\n\nNesta última solução, é importante notar que não há possibilidade de que a execução chegue ao fim sem nenhum return.\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.3 [#0044]\n\n\n\n\n Problema 8.4\n\n\n\n\n\nCaso o Problema 8.3/ Resposta 11.2 tenha sido resolvido, a solução abaixo faz sentido:\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.4 [#0051]\n\n\n\n\n Problema 8.8\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nComentário 11.2 [#0056]\n\n\n\n\n Problema 8.9\nNesta função, é interessante notar que, dado um \\(n \\in \\mathbb{N}\\), 1 e \\(n\\) sempre serão seus divisores. Além disso, não existe nenhum divisor de \\(n\\) que seja maior que \\(n/2\\).\nUm exercício mental relevante é como incorporar essas informações à solução algorítmica para que sejam evitadas verificações desnecessárias.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.5 [#0050]\n\n\n\n\n Problema 9.1\nA combinação em si é o primeiro item que pode ser escrito na forma de função. Dessa forma, é possível escrever uma função com o seguinte cabeçalho:\n\n\n\n\n\nOs cálculos internos requerem o uso do fatorial e, dado que apenas somas e subtrações estão disponíveis, a implementação de uma função para o fatorial também é interessante.\nAssim, a segunda função possível é a fatorial calculada pelas multiplicações sucessivas dos valores.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nResposta 11.6 [#0052]\n\n\n\n\n Problema 9.2\nAs conversões de conceitos para notas e de notas para conceitos são candidatas perfeitas para serem modularizadas.\nConceito para nota:\n\n\n\n\n\nNota para conceito:\n\n\n\n\n\nCom essas funções, o algoritmo poderia ter as seguintes instruções:",
"crumbs": [
"Modularização",
"<span class='chapter-number'>11</span>  <span class='chapter-title'>Respostas e comentários para problemas selecionados</span>"
Expand Down

0 comments on commit 354e4df

Please sign in to comment.