meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pt:cursos_online:s_linguagem:10-nocoes-programacao:10-exercicios [2024/10/21 15:01] joaoluispt:cursos_online:s_linguagem:10-nocoes-programacao:10-exercicios [2024/10/22 00:09] (current) – removed joaoluis
Line 1: Line 1:
-~~NOTOC~~ 
- 
-<html> 
-  <center> 
-     <font face="Times New Roman" size="7" align="center">Linguagem de Programação S</font></br> 
-     <font face="Times New Roman" size="6" align="center">Fundamentos e Aplicações em Recursos Florestais</font></br> 
-  </center> 
-</html> 
-{{  .:s-language-s3.png?50  |}} 
----------------------------------------------------- 
- 
- 
-====== 10. Exercícios ====== 
- 
-===== 10.1. Programação Orientada a Objetos ===== 
---------------------------------------------------------- 
- 
- 
-==== Exercício 10.1.A. Freqüência de Espécies ==== 
-<box 100%  #ffcc00> 
-Considere o vetor com nome de espécies: 
-<code> 
-> sp 
-[1] "Myrcia sulfiflora"      "Syagrus romanzoffianus" "Tabebuia cassinoides" 
-[4] "Myrcia sulfiflora" 
-> 
-</code> 
- 
-Para obter a freqüência das espécies podemos usar a função **''table''**: 
-<code> 
-> table( sp ) 
-     Myrcia sulfiflora Syagrus romanzoffianus   Tabebuia cassinoides 
-                                          1                      1 
- 
-</code> 
- 
-Qual a classe do objeto que a função **''table''** retorna?  Quais são os seus attributos? 
-</box> 
- 
- 
-==== Exercício 10.1.B. Classe da Classe ==== 
-<box 80%  #ffcc00> 
-Qual a classe do objeto produzido pelo comando **''class( x )''**?  
-</box> 
- 
- 
-\\ 
-===== 10.2. Funções Simples ===== 
--------------------------------------------------- 
- 
-==== Exercício 10.2.A. Logaritmo na Base 2 ==== 
-<box 70%  #ffcc00> 
-Construa uma função que calcula automaticamente o logaritmo na base 2. 
-</box> 
- 
- 
-==== Exercício 10.2.B. Índices de Dispersão I ==== 
-<box 70%  #ffcc00> 
-Existe uma série de índices de dispersão baseados em dados de contagem para verificar o padrão espacial de uma espécie. 
- 
-Alguns deles são: 
-  * //__Razão Variância-Média__//: $s^2 / \overline{x}$; 
- 
-  * //__Coeficiente de Green__//: $\left[ (s^2 /\overline{x})  - 1\right] / \left[ \sum x_i - 1 \right]$; 
- 
-  * //__Índice de Morisita__//: $n \left[ \sum x_i^2 - \sum x_i \right]  / \left[ (\sum x_i)^2 - \sum x_i \right]$. 
- 
-onde $x_i$ são dados de contagem de uma espécie por parcela. 
- 
-Construa uma função para cada um desses índices, assumindo como argumento os valores de $x_i$.  
-Aplique  aos dados de caixetais, verificando a dispersão da árvores de caixeta em cada caixetal. 
-</box> 
- 
-==== Exercício 10.2.C. Gráfico de Whittaker ==== 
-<box 70%  #ffcc00> 
-Faça uma função para construir o gráfico de diversidade de espécies de //__Whittaker__//: logaritmo da abundância contra a ordem (descrescente) da abundância das espécies.  Construa essa função de forma que qualquer parâmetro gráfico possa ser alterado. 
-</box> 
- 
-==== Exercício 10.2.D. Somatório do Primeiros Números Naturais ==== 
-<box 70%  #ffcc00> 
-Construa uma função que calcula o somatório dos primeiros //__n__// números naturais. 
- 
-Por exemplo se **''n=4''** a função deve retornar o valor: **''1+2+3+4''**. 
-</box> 
- 
- 
-\\ 
-===== 10.3. Controle de Fluxo ===== 
---------------------------------------------------------- 
- 
-==== Exercício 10.3.A. Loop para Demonstrar o TCL ==== 
-<box 70%  #ffcc00> 
-Construa uma função para demonstrar o Teorema Central do Limite, gerando amostras da distribuição uniforme. 
-</box> 
- 
-==== Exercício 10.3.B. Fatorial ==== 
-<box 70% #877d17> 
-Construa uma função para calcular o fatorial de um número natural: 
-$$n! = n\times (n-1)\times (n-2)\times \cdots\times 2\times 1$$ 
-$$5! = 5\times 4\times 3\times 2\times 1$$ 
-</box> 
- 
- 
- 
-\\ 
-===== 10.4. Vetorização ===== 
-------------------------------- 
- 
- 
-==== Exercício 10.4.A. Vetorizando o Desvio Padrão ==== 
-<box 70%  #ffcc00> 
-Repita o exemplo de vetorização com a função **''dnorm''** utilizando a função **''sapply''**, mas mantenha a média constante e vetorize o desvio padrão (**''sd''**). 
-</box> 
- 
- 
-\\ 
-===== 10.5. Exemplo de Algumas Funções ===== 
-------------------------------- 
- 
-==== Exercício 10.5.A. Índices de Diversidade de Espécies ==== 
-<box 70%  #ffcc00> 
-Construa funções para computar os seguintes índices de diversidade de espécies: 
-  * Índice de Shannon: $H = - \sum_{i=1}^S p_i \ln( p_i )$ 
- 
-  * Índice de Simpson: $D = \sum_{i=1}^S (p_i)^2$ onde $p_i$ é a proporção da espécie $i$. 
- 
-Considere que os argumentos da sua função serão: 
-  * um vetor **''character''** com o nome das espécies para cada planta, 
-  * um vetor **''character''** que define o índice de diversidade: se Shannon ou se Simpson. 
-</box> 
- 
- 
-==== Exercício 10.5.B. Tabela de Fitossociologia ==== 
-<box 70%  #ffcc00> 
-Construa uma função que gera uma tabela de fitossociologia.  Utilize os dados de caixeta ({{:lcf5876:historico-disciplina:2018:programa:00-dados:caixeta-completo.csv|}}) como teste. 
-\\ 
-Sua função é aplicável tanto para o conjunto de dados completo, como para cada valor da variável **''local''**? 
-</box> 
- 
- 
-==== Exercício 10.5.C. Verificando os Argumentos ==== 
-<box 70%  #ffcc00> 
-Acrescente à sua função do exercício 10.5.A. acima ("Índices de Diversidade de Espécies") o código necessário para que a função verifique se seus argumentos são de fato do tipo **''character''**. 
-</box> 
- 
- 
- 
- 
-\\ 
------------------------ 
-\\ 
- 
- 
- 
-