From 354e4df5f6822a339d0da57beb2949183e5aa2d6 Mon Sep 17 00:00:00 2001 From: Jander Date: Wed, 26 Jun 2024 10:17:23 -0300 Subject: [PATCH] =?UTF-8?q?Atualiza=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...32b684d7b9b483f0b8cc981f2d157a206b91ff.svg | 340 ++++++++++++ ...786c88e7fa2c5bc41bd314370c2e77221355fc.svg | 445 +++++++++++++++ ...2fab17dc208988d90f28f7b3bd736a079a3dd9.svg | 511 ++++++++++++++++++ ...b4135dc6d942d0a5f3a8714baf5e3dabb27c6f.svg | 448 +++++++++++++++ ...8c238b683da41db8702acdb7e8e2a973c062ad.svg | 343 ++++++++++++ ...ritmos-problemas-gerais-modularizacao.html | 30 + ...a-algoritmos-proposta-funcoes-simples.html | 22 +- ...ca-algoritmos-respostas-modularizacao.html | 50 ++ cap-pratica-algoritmos/search.json | 6 +- 9 files changed, 2191 insertions(+), 4 deletions(-) create mode 100644 cap-pratica-algoritmos/algxpar/pseudocode.0532b684d7b9b483f0b8cc981f2d157a206b91ff.svg create mode 100644 cap-pratica-algoritmos/algxpar/pseudocode.0d786c88e7fa2c5bc41bd314370c2e77221355fc.svg create mode 100644 cap-pratica-algoritmos/algxpar/pseudocode.5b2fab17dc208988d90f28f7b3bd736a079a3dd9.svg create mode 100644 cap-pratica-algoritmos/algxpar/pseudocode.abb4135dc6d942d0a5f3a8714baf5e3dabb27c6f.svg create mode 100644 cap-pratica-algoritmos/algxpar/pseudocode.ba8c238b683da41db8702acdb7e8e2a973c062ad.svg diff --git a/cap-pratica-algoritmos/algxpar/pseudocode.0532b684d7b9b483f0b8cc981f2d157a206b91ff.svg b/cap-pratica-algoritmos/algxpar/pseudocode.0532b684d7b9b483f0b8cc981f2d157a206b91ff.svg new file mode 100644 index 0000000..7143e75 --- /dev/null +++ b/cap-pratica-algoritmos/algxpar/pseudocode.0532b684d7b9b483f0b8cc981f2d157a206b91ff.svg @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cap-pratica-algoritmos/algxpar/pseudocode.0d786c88e7fa2c5bc41bd314370c2e77221355fc.svg b/cap-pratica-algoritmos/algxpar/pseudocode.0d786c88e7fa2c5bc41bd314370c2e77221355fc.svg new file mode 100644 index 0000000..44b4bef --- /dev/null +++ b/cap-pratica-algoritmos/algxpar/pseudocode.0d786c88e7fa2c5bc41bd314370c2e77221355fc.svg @@ -0,0 +1,445 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cap-pratica-algoritmos/algxpar/pseudocode.5b2fab17dc208988d90f28f7b3bd736a079a3dd9.svg b/cap-pratica-algoritmos/algxpar/pseudocode.5b2fab17dc208988d90f28f7b3bd736a079a3dd9.svg new file mode 100644 index 0000000..67612a0 --- /dev/null +++ b/cap-pratica-algoritmos/algxpar/pseudocode.5b2fab17dc208988d90f28f7b3bd736a079a3dd9.svg @@ -0,0 +1,511 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cap-pratica-algoritmos/algxpar/pseudocode.abb4135dc6d942d0a5f3a8714baf5e3dabb27c6f.svg b/cap-pratica-algoritmos/algxpar/pseudocode.abb4135dc6d942d0a5f3a8714baf5e3dabb27c6f.svg new file mode 100644 index 0000000..cc7304c --- /dev/null +++ b/cap-pratica-algoritmos/algxpar/pseudocode.abb4135dc6d942d0a5f3a8714baf5e3dabb27c6f.svg @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cap-pratica-algoritmos/algxpar/pseudocode.ba8c238b683da41db8702acdb7e8e2a973c062ad.svg b/cap-pratica-algoritmos/algxpar/pseudocode.ba8c238b683da41db8702acdb7e8e2a973c062ad.svg new file mode 100644 index 0000000..160a92b --- /dev/null +++ b/cap-pratica-algoritmos/algxpar/pseudocode.ba8c238b683da41db8702acdb7e8e2a973c062ad.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cap-pratica-algoritmos/pratica-algoritmos-problemas-gerais-modularizacao.html b/cap-pratica-algoritmos/pratica-algoritmos-problemas-gerais-modularizacao.html index a44ebbb..97371d0 100644 --- a/cap-pratica-algoritmos/pratica-algoritmos-problemas-gerais-modularizacao.html +++ b/cap-pratica-algoritmos/pratica-algoritmos-problemas-gerais-modularizacao.html @@ -407,6 +407,36 @@

+
+
+
+ +
+
+Problema 10.2 [#0057] +
+
+
+
+

Considere a função abaixo, na qual \(v\) é um número real e \(k\) é um inteiro:

+
+
+
+

+
+

Faça:

+
    +
  • Entenda o código e especifique o que a função retorna;
  • +
  • Escreva a documentação faltante;
  • +
  • Identifique o que mais dificultou para descobrir o que a função faz.
  • +
+
+
+
+ diff --git a/cap-pratica-algoritmos/pratica-algoritmos-proposta-funcoes-simples.html b/cap-pratica-algoritmos/pratica-algoritmos-proposta-funcoes-simples.html index 7edb380..ffe8f93 100644 --- a/cap-pratica-algoritmos/pratica-algoritmos-proposta-funcoes-simples.html +++ b/cap-pratica-algoritmos/pratica-algoritmos-proposta-funcoes-simples.html @@ -459,12 +459,32 @@

8 
-

Escreva 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.

+

Escreva 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.

Resposta 11.4

+ + +
+
+
+
+ +
+
+Problema 8.9 [#0056] +
+
+
+
+

Escreva uma função que retorne o número de divisores de um número natural, incluindo ele próprio.

+

Comentário 11.2

+
+
+
+
diff --git a/cap-pratica-algoritmos/pratica-algoritmos-respostas-modularizacao.html b/cap-pratica-algoritmos/pratica-algoritmos-respostas-modularizacao.html index c473d9a..02d5476 100644 --- a/cap-pratica-algoritmos/pratica-algoritmos-respostas-modularizacao.html +++ b/cap-pratica-algoritmos/pratica-algoritmos-respostas-modularizacao.html @@ -68,6 +68,35 @@ } } + + + + @@ -412,6 +441,27 @@

+
+
+
+ +
+
+Comentário 11.2 [#0056] +
+
+
+
+

Problema 8.9

+

Nesta 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\).

+

Um exercício mental relevante é como incorporar essas informações à solução algorítmica para que sejam evitadas verificações desnecessárias.

+
+
+
+ diff --git a/cap-pratica-algoritmos/search.json b/cap-pratica-algoritmos/search.json index ae61aad..67ad78d 100644 --- a/cap-pratica-algoritmos/search.json +++ b/cap-pratica-algoritmos/search.json @@ -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", "8  Proposta de funções simples" @@ -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 > 9\\)\nA\n\n\n\\(8{,}0 < n \\leq 9{,}0\\)\nB\n\n\n\\(6{,}0 < n \\leq 8{,}0\\)\nC\n\n\n\\(4{,}0 < n \\leq 6{,}0\\)\nD\n\n\n\\(0{,}0 < 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 > 9\\)\nA\n\n\n\\(8{,}0 < n \\leq 9{,}0\\)\nB\n\n\n\\(6{,}0 < n \\leq 8{,}0\\)\nC\n\n\n\\(4{,}0 < n \\leq 6{,}0\\)\nD\n\n\n\\(0{,}0 < 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", "10  Problemas gerais envolvendo modularização" @@ -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", "11  Respostas e comentários para problemas selecionados"