\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}
\graphicspath{{media/}}
\date{\today}
\title{}
\author{}
\begin{document}



\section{\texorpdfstring{Ingrid Pinheiro Paschoaletto}{Ingrid Pinheiro Paschoaletto}}
\label{sec:ingrid_pinheiro_paschoaletto}


\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/ingrid.paschoaletto/20181103_215039}


Mestranda em Zoologia, Instituto de Biociências, USP.

O título de minha tese é: “Análise da organização do cuidado parental em uma ave (\emph{Prunella modularis}, Passeriformes, Prunellidae) com sistema variável de acasalamento”, orientado pelo Professor Dr. Eduardo S. A. Santos.

\section{\texorpdfstring{Meus exercícios}{Meus exercicios}}
\label{sec:meus_exercicios}


No link: \href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2019:alunos:trabalho_final:ingrid.paschoaletto:exec}{.:exec}

\section{\texorpdfstring{Proposta de trabalho final}{Proposta de trabalho final}}
\label{sec:proposta_de_trabalho_final}


Olá Ingrid,

Sou Gustavo A. Ballen, monitor encargado de dar um retorno sobre suas propostas. Vou comentar em geral aqui sobre as duas propostas.

A proposta A é basicamente uma expressão aritmética simples calculando cada componente dela em uma linha para finalmente integrar todas aqueles pequenos cálculos numa saída. Não condiz com o objetivo do trabalho final de ser uma função desafiante que incorpore os elementos de programação apresentados na disciplina (e.g., estruturas de controle de fluxo, estrutura de objetos). Já a proposta B é um script para gerar um boxplot a partir de um data frame; é simples demais e não demanda esforço algum para desenvolver.

Por gentileza apresentar reformule fortemente a primeira proposta, ou melhor ainda, prepare uma terceira, dessa vez levando em consideração que ela deve incorporar pelos menos estruturas de controle de fluxo e representar um desafio real que acrescente seu processo de aprendizado de programação no R.

\href{mailto:gaballench@usp.br}{Gustavo A. Ballen}

 --- \emph{\href{mailto:aleadalardo@gmail.com}{Alexandre Adalardo de Oliveira} 2019/06/18 16:13}
Olá Ingrid, 

Concordo com a avaliação do Gustavo acima. Nenhuma das propostas faz uma tarefa que seja algo que mereça uma função específica. Note que não há controle de fluxo em nenhuma delas. Aguardamos a reformulação ou a nova proposta. 

Olá. Discordo em alguns pontos com a avaliação, porém poupando tempo e energia, fiz uma terceira proposta (ver a PROPOSTA C ao final da página) que imagino atender aos requisitos exigidos. Aguardo retorno em breve para poder executar a proposta, obrigada.

- Ingrid

 --- \emph{\href{mailto:aleadalardo@gmail.com}{Alexandre Adalardo de Oliveira} 2019/06/24 16:13}
Olá Ingrid, 

A proposta C é bem interessante. Não entendi alguns passos, que poderiam estar melhor explicados no pseudo-código, mas o contexto geral representa um bom desafio, concentre-se agora na execução.

Quando a sua discordância, estamos abertos a avaliar qualquer que seja desde que haja alguma proposição. Quando discordar, apresente a argumentação, a discordância sem ela parece apenas uma reclamação sem sentido.  Como não houve, e ambos avaliadores tiveram a mesma percepção quanto a falta de controle de fluxo nas sua propostas, continuamos com nossa posição.  

Olá professor. 

Organizei melhor o pseudo-código para que ficasse mais claro e espero ter esclarecido as dúvidas. O código está pronto e o help também, ambos no final da página. 

- Ingrid

\subsection{\texorpdfstring{Plano A: Sirena}{Plano A Sirena}}
\label{sec:plano_a_sirena}


\textbf{Contextualização}
A função irá calcular o preço de venda de produtos de confeitaria (podendo abranger outros gêneros alimentícios também) produzidos artesanalmente, de acordo com os preços encontrados no mercado para a matéria prima de cada receita. 
Muitas pessoas trabalham no ramo da produção artesanal de doces, seja como uma renda principal, adicional ou um hobby. Quando se trabalha desta forma, uma das maiores dúvidas é: “Quanto devo cobrar pelo meu produto?”, pois o valor deve cobrir o custo, a embalagem, a mão de obra e o lucro desejado, e ainda assim ser atrativo ao cliente. Este cálculo pode ser feito de uma forma bem detalhada e complexa, levando em consideração n fatores envolvidos na precificação, mas muitas confeiteiras utilizam uma fórmula simplificada (abaixo) para facilitar esta etapa. 

PVU = \{[2*(C+I*C) + L*(C+I*C)] /R\} + CE

Onde PVU é o ‘preço de venda unitário’, C é o custo da receita, I representa os ‘custos incalculáveis’ (ex água, energia. Normalmente varia entre 0,1 e 0,25), L é a porcentagem de lucro desejada (mínimo de 0,5), R corresponde ao rendimento da receita e CE ao custo da embalagem por unidade.
Se esta for a renda principal do usuário, recomendamos que busque na internet ou em cursos especializados uma forma mais detalhada de determinar o valor do seu produto, uma vez que a fórmula mencionada não incluí despesas como por exemplo o aluguel de um ateliê/loja. Porém, no caso de confeiteiros iniciantes ou que fazem disto uma renda extra, esta função é de tremenda ajuda, uma vez que diminui muito o tempo gasto na etapa de precificação do produto.

\textbf{Entrada}
O usuário entrará os seguintes argumentos:
\texttt{venda.sirena(receita, rendimento, I, embalagem, mercado, quantidade, lucro)}
\begin{itemize}
  \item \texttt{receita}: Objeto da classe data.frame, contendo 3 colunas (sendo estas 1- Ingrediente, 2- Unidade de medida e 3- Quantidade utilizada na receita) e um ingrediente por linha, sendo o limite de linhas o tanto de ingredientes utilizados na receita. Desejável a possibilidade de adicionar novas receitas a função.
  \item \texttt{rendimento}: Objeto da classe numérica, indicando quantas unidades (ou gramas) rende a receita colocada no primeiro argumento. Deve estar na mesma unidade do argumento ‘quantidade’.
  \item \texttt{I}: Vetor numérico definindo os gastos incalculáveis, com o valor entre 0,1 e 0,25.
  \item \texttt{embalagem}: Objeto da classe data.frame com duas colunas, sendo a primeira os componentes da embalagem (ex: caixa, cm de fita, etiqueta, sousplat etc.) e a segunda a quantidade de cada um a ser utilizada em uma unidade do produto.
  \item \texttt{mercado}: Objeto da classe data.frame, contendo 5 colunas (sendo estas 1- Ingrediente, 2- Unidade de medida, 3- Quantidade comprada, 4- Valor pago, 5- valor/quantidade) e um item por linha, incluindo todos os utilizados na receita e na embalagem. Desejável a possibilidade de adicionar novos itens a esta lista. 
  \item \texttt{quantidade}: vetor numérico indicando a quantidade final desejada do produto. Deve estar na mesma unidade do argumento ‘rendimento’.
  \item \texttt{lucro}: Vetor numérico definindo a margem de lucro desejada, com o valor mínimo de 0,5.
\end{itemize}


\textbf{Pseudocódigo}
\begin{itemize}
  \item 1.	Para cada \texttt{receita\$ingrediente}, a função irá multiplicar a quantidade utilizada pelo valor encontrado na última coluna do data.frame \texttt{mercado}, onde consta o \texttt{preço/quantidade} da compra daquele \texttt{ingrediente}. (Ainda preciso aprender como fazer essa parte).
  \item Irá guardar o resultado de cada \texttt{ingrediente} na nova coluna \texttt{receita\$custo}.
  \item Soma todos os valores de \texttt{receita\$custo} e guarda no objeto \texttt{custo.receita}.
  \item Multiplica o valor de \texttt{custo.receita} pelo valor definido no argumento \texttt{I} e guarda no objeto \texttt{IC}.
  \item Adiciona a \texttt{IC} o valor de \texttt{custo.receita} e guarda no objeto \texttt{CIC}.
  \item Multiplica \texttt{CIC} por dois e guarda no objeto \texttt{MO}.
  \item Multiplica \texttt{CIC} pelo valor definido no argumento lucro e guarda no objeto \texttt{L}.
  \item Soma os valores dos objetos \texttt{MO} e \texttt{L} e guarda em \texttt{MOL}.
  \item Divide \texttt{MOL} pelo valor definido no argumento rendimento e guarda no objeto \texttt{CR}.
  \item Para cada item do data.frame \texttt{embalagem}, a função irá multiplicar a quantidade utilizada pelo valor encontrado na última coluna do data.frame \texttt{mercado}, onde consta o \texttt{preço/quantidade} da compra daquele material. (Mesma observação do item 1 acima).
  \item Irá guardar o resultado de cada material na nova coluna \texttt{embalagem\$custo}.
  \item Soma todos os valores de \texttt{embalagem\$custo} e guarda no objeto \texttt{CE}.
  \item Soma os valores de \texttt{CR} e \texttt{CE} e guarda no objeto \texttt{PVU}.
  \item Retorna \texttt{cat(“Custo=”, custo.receita, “ | CE=”, CE, “ | Lucro=”, L, \textbackslash{}n“O preço de venda sugerido é”, PVU)}.
\end{itemize}


\textbf{Saída}
A função deve retornar os valores de \texttt{C} (custo), \texttt{CE} (custo da embalagem) e o valor sugerido de venda. Deve estar da seguinte forma:
\emph{Custo = XXX | CE = XXX | Lucro = XXX}
\emph{“O preço de venda sugerido é XXXXX”}

\subsubsection{\texorpdfstring{Plano B: Cuidado Parental}{Plano B Cuidado Parental}}
\label{sec:plano_b_cuidado_parental}


\textbf{Contextualização}
Na ecologia comportamental, um importante foco de estudo é o cuidado parental observado em diversas espécies e frequentemente estudado em aves. Este comportamento é muito interessante pois abarca uma série de conflitos, tanto entre os pais e a prole, quanto entre os próprios pais, especialmente em espécies com cuidado biparental.
No último caso, o conflito se dá na decisão de cada parental acerca do quanto investir naquela prole de acordo com o investimento do parceiro, pois é mais vantajoso para cada pai que o seu parceiro faça todo o trabalho e ele apenas colha os benefícios do sucesso reprodutivo.
Com isto em mente, seria interessante que houvesse uma forma prática de realizar uma análise exploratória do comportamento de cuidado parental de determinada espécie, baseado em observações realizadas ao longo de um período. A partir destes resultados primários, seria possível traçar um delineamento mais precisos para estudos futuros.
A função proposta irá calcular a média de tempo que aves de ambos os sexos investem em cuidado parental ao longo de um período de observação. Ao final da análise a função deve plotar automaticamente um gráfico contendo as informações separadas por sexo.

\textbf{Entrada}
\texttt{parentais(obs, tempo)}
\begin{itemize}
  \item \texttt{obs}:objeto da classe data.frame contendo as observações do tempo despendido de cuidado parental de machos e fêmeas em uma população.
  \item \texttt{tempo}: objeto de classe numérica especificando qual o tempo total de observação em dias.
\end{itemize}


\textbf{Pseudocódigo}:
\begin{itemize}
  \item Lê o data.frame \texttt{obs}.
  \item Chama o pacote \texttt{Dplyr} na biblioteca para facilitar a manipulação do data.frame.
  \item Através da função \texttt{group\_by()} agrupa os dados das aves de acordo com o sexo.
  \item Cria uma nova tabela, apenas com as informações necessárias para o gráfico final, através da função \texttt{summary()}.
  \item Renomeia as colunas da nova tabela.
  \item Calcula a média, mediana, desvio padrão e quantis.
  \item Chama o pacote \texttt{ggplot2} para elaborar o gráfico \texttt{boxplot}.
  \item Plota-se o gráfico final.
\end{itemize}


\textbf{Saída}
Ao final a função deverá retornar um gráfico contendo as informações adquiridas com a análise dos dados (média, desvio padrão, etc.).

\subsection{\texorpdfstring{Plano C: Gazelas}{Plano C Gazelas}}
\label{sec:plano_c_gazelas}


\textbf{Contextualização}

Dentro da disciplina de comportamento animal existem diversos modelos para tentar prever/explicar o que ocorre em determinadas situações observadas na natureza. Por vezes, estes modelos demoram a serem compreendidos pelos alunos, e como uma forma de facilitar o entendimento, muitos professores optam por utilizar jogos e simulações didáticas.
Entre estes modelos há o de sinalização honesta de qualidade, onde essa sinalização serve para demonstrar para os seus predadores (ou parceiros sexuais) que são indivíduos de alta qualidade e assim alcançar o seu objetivo (não ser predado ou copular, respectivamente). 

Um bom exemplo sobre sinalização honesta na interação presa/predador são as gazelas, que com frequência, ao encontrar um predador, saltam. A principal hipótese é de que este salto funciona como um sinal de força daquela potencial presa, indicando que ela será mais difícil de ser capturada, de modo que o predador desista de predá-la 
e opte pelas gazelas que não saltam, que seriam mais fracas.

Na disciplina, os professores dividiram a turma em grupos de 3 e cada grupo realizou uma dinâmica com o auxílio de um tabuleiro e dados para testar na prática esta situação das gazelas. A função aqui proposta tem como objetivo realizar este jogo e retornar um data.frame com o resultado, com a opção de simular várias vezes esta dinâmica e apresentar um gráfico com a frequência que as gazelas conseguiram escapar ou viraram comida de leão.

As regras do jogo são:

* O leão não sabe quem é a gazela forte e quem é a fraca.

* As gazelas dão um salto para demonstrar vigor ao leão, e este salto gasta pontos energéticos.

* As gazelas saem 5 posições a frente do leão.

* O leão escolhe a sua presa e a partir daí a gazela não escolhida já escapou e não gasta mais energia.

* A cada rodada é sorteado o número de ‘posições’ que cada jogador andará. Se o leão alcançar a gazela, esta é predada, porém se ela chegar ao fim das rodadas antes que o leão a alcance, ela escapa e o leão fica com fome.

\textbf{Entrada}

O usuário entrará o seguinte argumento na função:

\texttt{gazela.saltitante(simular=TRUE, repetir=100, rodadas=15)}

Se o usuário quiser ter acesso ao gráfico com a frequência de predação e fuga das gazelas, deverá colocar \texttt{simular=TRUE}, podendo alterar também o número de vezes que o jogo ocorrerá no argumento \texttt{repetir} (default=100). Caso queira ter acesso apenas ao data.frame de uma simulação, então deverá colocar \texttt{simular=FALSE}. Para ambos os casos o usuário irá poder alterar também o número de rodadas que o jogo 
terá no argumento \texttt{rodadas} (default=15).

\textbf{Pseudocódigo}
\begin{enumerate}
  \item \texttt{if }  simular=TRUE, a função entrará em um \texttt{for } para repetir o jogo tantas vezes quanto definido em \texttt{repetir} e os resultados (escapou ou morreu) separados pela classe da gazela (forte ou fraca) serão guardados em uma matriz para a confecção do gráfico (barplot) após o loop.
    \item   \texttt{if }  simular=FALSE, a função pula o \texttt{for} e cria um data.frame \texttt{g} com uma linha nomeada para cada indivíduo (2 gazelas e 1 leão), onde:
  \end{enumerate}

      \begin{itemize}
    \item Na primeira coluna (ind) estará o número do indivíduo (1 ou 2 para as gazelas e NA para o leão); 
    \item Na segunda o vigor da gazela (determinado aleatoriamente com o \texttt{sample} de 1:10 sem repetição, leão=NA);
    \item Na terceira a classe da gazela (forte ou fraca, dependendo do vigor, leão=NA);
    \item Na quarta o salto que servirá de ‘pista’ para o leão, sorteado em um \texttt{sample} cujo o range varia de acordo com a classe da gazela, leão=0)
    \item As colunas seguintes serão as rodadas do jogo, onde na linha da gazela escolhida pelo leão estarão os resultados dos samples de fuga e na linha do leão, os de perseguição. A linha da gazela não escolhida estará preenchida com o valor 5, que corresponde a sua posição inicial. O jogo acaba quando são realizadas todas as rodadas definidas no argumento da função. Se a gazela for capturada antes do jogo acabar o data.frame só mostrará as colunas das rodadas que aconteceram.
    \item A última coluna será preenchida com o gasto energético de todos, somando-se o salto inicial a última posição (menos 5) das gazelas e a última posição do leão, já que ele só gastou energia para perseguir a presa.
  \end{itemize}

      \begin{enumerate}
    \item   Os resultados dos saltos serão disponibilizados para o leão e este poderá escolher se irá perseguir a gazela 1 ou a 2 através do \texttt{readline (“Leão, escolha sua presa:”)}.
    \item   A partir daí começa a perseguição. Com o auxílio das funções \texttt{if} e \texttt{else}, se a gazela escolhida for forte, será realizado um \texttt{sample(5:10,1)} a cada rodada para determinar sua fuga, se for fraca o \texttt{sample(3:8,1)}.  O leão avança com um \texttt{sample(5:10,1)}.
    \item   A cada rodada serão verificadas as posições do leão e da gazela, caso leão\textgreater =gazela, o usuário receberá a mensagem “Gazela, você foi predada”. Caso contrário o jogo continua até que se acabem as rodadas.
  \end{enumerate}


\textbf{Saída}

* Se simular=TRUE, a função retornará um gráfico semelhante a este:

\centering\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/ingrid.paschoaletto/slide1}


* Se simular=FALSE, a função retorna um data.frame e uma frase informando o status da gazela. 
X corresponde aos resultados obtidos nas etapas da função:

\centering\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/ingrid.paschoaletto/datagazela}


\subsubsection{\texorpdfstring{CÓDIGO gazela.saltitante}{CODIGO gazelasaltitante}}
\label{sec:codigo_gazelasaltitante}


No link: \href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2019:alunos:trabalho_final:ingrid.paschoaletto:codigo}{.:CÓDIGO}

\subsubsection{\texorpdfstring{HELP gazela.saltitante}{HELP gazelasaltitante}}
\label{sec:help_gazelasaltitante}


No link: \href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2019:alunos:trabalho_final:ingrid.paschoaletto:help}{.:HELP}

\end{document}
