====== Jéssica Thais Corsso ====== {{:01_curso_atual:alunos:trabalho_final:jessica_corsso:tigre.jpg?200|}} Trabalho com biologia de Elasmobrânquios. Bacharela em Ciências do Mar pela Universidade Federal de São Paulo (UNIFESP). Mestranda PPG Biodiversidade e Ecologia Marinha e Costeira, **Laboratório de Ecologia e Conservação Marinha** (LABECMAR), Universidade Federal de São Paulo - **UNIFESP**, Campus Baixada Santista. Aqui você encontra meus [[.:exercícios resolvidos]]. ====== Trabalho Final ====== ======Plano A - Planejamento de mergulhos====== **__Contextualização__** O aumento do conhecimento sobre os efeitos do mergulho autônomo no corpo humano, fazem com que cada vez mais a atividade possa ser realizada com segurança, o que torna cada vez mais recorrente tanto para recreação quanto para pesquisa. Um fator limitante para as aventuras subaquáticas é a quantidade de nitrogênio absorvida pelo corpo. Quanto maior a pressão ou o tempo em profundidade, maior a quantidade dissolvida nos tecidos. O excesso de nitrogênio, ao voltar à pressão atmosférica, não consegue permanecer dissolvido nos tecidos, então vai para a corrente sanguínea e dela até o pulmão, onde, com o tempo, o mergulhador deverá exalar este nitrogênio naturalmente, caso ele possua níveis aceitáveis no corpo. Caso o mergulhador não tenha planejado bem seu mergulho, há o risco de o nitrogênio sair de seus tecidos com uma velocidade acima do normal, assim formando bolhas nos tecidos. A formação de bolhas dentro do corpo pode causar uma doença gravíssima chamada Doença Descompressiva, que pode ocorrer em diversos níveis diferentes, e os sintomas dependem da área afetada, podendo incluir: paralisia, tontura, formigamento, dores nas articulações e membros, estado de choque, dormência, dificuldade respiratória, fraqueza e fadiga prolongadas e em casos graves, perda de consciência e morte. Atualmente há dois métodos usuais para o planejamento de mergulhos: a tabela RDP (Recreational Dive Planner) e os computadores de mergulho. Os computadores ainda possuem um custo muito elevado, mas ajudam o mergulhador à por exemplo determinar quanto tempo de intervalo ele deve ter entre mergulhos para estar na margem de segurança de um mergulho não descompressivo. A tabela pode fazer o mesmo pelo mergulhador, porém não é tão intuitiva e a confusão pode acarretar danos graves e irreversíveis à saúde. A tabela RDP é composta de 3 etapas. Para planejar o primeiro mergulho, o mergulhador olha na tabela 1 (tabela de designação de grupos e limites não descompressivos), procura a coluna correspondente à profundidade que pretende mergulhar e dela pode tirar as informações de tempo máximo possível naquela profundidade ou grupo de pressão após um tempo pretendido de mergulho. {{ :01_curso_atual:alunos:trabalho_final:jessica_corsso:tabela1_e_2.png |}} //Tabela 1 - tabela de designação de grupos e limites não descompressivos (esquerda) e Tabela 2 - tabela de créditos de intervalo de superfície (direita)// Para planejar o segundo mergulho, ele precisa guardar qual seu grupo de pressão após o primeiro mergulho (letra correspondente ao tempo que ficou no primeiro mergulho, de acordo com a tabela 1), e precisa do tempo que ficou na superfície (Intervalo de superfície) pois esse tempo fez com que seu grupo de pressão fosse alterado (nitrogênio foi expelido) e neste momento, seu novo grupo de pressão está representado pela intersecção entre a letra que nomeia a linha da tabela 2 (letra esta que foi armazenada na etapa da tabela 1) e a letra que nomeia a coluna da tabela 2 (tabela de créditos de intervalo de superfície). Tendo então seu novo grupo de pressão após o intervalo de superfície, o mergulhador parte para a tabela 3 (tabela para calcular o tempo de mergulhos repetitivos). {{ :01_curso_atual:alunos:trabalho_final:jessica_corsso:tabela3.jpg |}} //Tabela 3 - tabela para calcular o tempo de mergulhos repetitivos// Na tabela 3, procura por sua profundidade de mergulho desejada, e segue na linha até encontrar a coluna de seu grupo de pressão. A linha branca da tabela 3 lhe indica seu tempo de nitrogênio residual (TNR), e a linha azul indica quanto tempo limite (TL) que poderá permanecer no segundo mergulho. Para planejar o terceiro mergulho, deve-se somar o tempo de nitrogênio residual (TNR) com o tempo real de fundo (TRF) do segundo mergulho, resultando no tempo total de fundo (TTF), e retornar à tabela 1. Nela o mergulhador procura a profundidade executada no segundo mergulho e o tempo total de fundo (TTF) calculado, assim encontrará o grupo de pressão após o segundo mergulho, podendo seguir para o terceiro mergulho após ver qual seu novo grupo de pressão levando em conta esta procura e um novo Intervalo de Superfície (IS entre mergulho 2 e mergulho 3), segue então para a tabela 3, procura sua profundidade pretendida para o terceiro mergulho e encontra qual seu tempo máximo disponível para o terceiro mergulho. Os próximos mergulhos seguem este mesmo procedimento de planejamento. A função proposta realizaria o cálculo do Intervalo de Superfície (IS) entre o primeiro e o segundo mergulho(**1**), otimizando o tempo durante a atividade de mergulho, fazendo com que o mergulhador consiga aproveitar ao máximo a duração de sua expedição de mergulho. A função reduzirá erros de leitura da tabela por inexperiência ou distração, e consequentemente reduzirá os riscos à saúde de forma prática e barata para o mergulhador, podendo este focar seus esforços nos outros vários fatores que influenciam sua segurança durante a atividade. **1**- Devido à complexidade de planejamento de múltiplos mergulhos em sequência, gostaria de me propor a realizar apenas a função que calcula o IS entre o primeiro e segundo mergulho. Caso consiga cumprir essa etapa antes do prazo de entrega, tentarei expandir para múltiplos mergulhos. Como dito anteriormente, a tabela não é intuitiva, e a compreensão é complicada principalmente para quem está conhecendo ela agora. Por isso, procurei um vídeo bem didático no youtube para ajudar a compreensão caso a pessoa que esteja avaliando esta proposta esteja conhecendo a tabela agora: {{youtube>rIdU76tOttQ?medium}} ------------------------------------------------------------------------------------------------------ **__Planejamento da função__** __Entrada:__ diveplan(n, p, trf) • Número de mergulhos (n) (Observação: devido à complexidade, limitaremos n = 2 inicialmente). • Profundidade (p): vetor numérico de n valores. • Tempo (real) de fundo (trf): vetor numérico de n valores. __Verificando os parâmetros:__ • n é menor que 2? Se não for, pare a função e retorne a mensagem: “Esta função foi desenvolvida apenas para 2 mergulhos consecutivos no momento, há intenção de ampliar sua aplicação em breve. Por enquanto use-a apenas em caso de n=2.” • O tamanho de p é igual a n? Se não for, pare a função e retorne a mensagem: “O número de profundidades “p” deve ser o mesmo que o número de mergulhos “n”. • O tamanho de trf é igual a n? Se não for, pare a função e retorne a mensagem: “ O número de tempos de fundo “trf” deve ser o mesmo que o número de mergulhos “n”. • Ordem decrescente de profundidades? Se não, Warning: “Para sua segurança é recomendado que seus mergulhos obedeçam a ordem decrescente de profundidades”. • Alguma profundidade p é maior do que 30 m? Se sim, pare a função e retorne a mensagem: “As profundidades devem ser menores do que 30 metros”. __Pseudo-código:__ 1. Ler tabelas 1, 2 e 3 da tabela RDP (Recreational Dive Planner). 2. Criar vetor com tamanho n preenchido inicialmente por NA chamado p1. 3. Fazer varredura no nome das colunas em comparação com os valores de profundidade, verificando se a tabela 1 contém o valor fornecido pelo usuário, caso não contenha, atribui-se a posição do valor maior mais próximo (procedimento de segurança), e caso contenha, atrubui-se a posição do mesmo valor que foi fornecido. 4. Preencher o vetor p1 com as posições do nome das linhas da tabela 1 correspondentes ao que foi encontrado no passo anterior. 5. Criar t1 com tamanho n. 6. Fazer varredura do primeiro tempo (trf) fornecido pelo usuário (trf[1]) na coluna relacionada à posição p1[1], procurando o valor igual ou o próximo maior se não houver o igual na tabela. 7. Armazenar o nome da linha correspondente à varredura no vetor t1 na posição 1 (t1[1]). 8. Usar a tabela 3. Procurar na linha referente à próxima posição do vetor p1 o tempo fornecido pelo usuário trf[2] ou o próximo valor maior e armazenar o nome da coluna correspondente à varredura no vetor t1 na posição 2 (t1[2]). 9. Ler na tabela 2 a posição da linha correspondente ao número de t1[1] e a posição da coluna correspondente ao número de t1[2]. (tabela2(t1[1], t1[2])). 10. Retornar ao usuário o valor do intervalo mínimo que ele deve permanecer na superfície para que seus mergulhos planejados sejam mergulhos não descompressivos. __Saída:__ • Intervalo mínimo de superfície (is): vetor numérico de (n-1) valores. ======Plano B - Simulador de renda fixa====== **__Contextualização__** Para decidir qual o melhor destino para o dinheiro de uma pessoa que deseja poupar, é necessário que esta pessoa conheça os tipos de investimento que existem ao seu dispor e como eles funcionam. Muitas pessoas deixam de avaliar suas opções e se conformam com o investimento na Poupança, que possui um dos menores rendimentos do mercado. Caso estas pessoas avaliassem seu retorno final de acordo com o dinheiro investido e o tempo que ele permaneceu investido, poderiam escolher qual o melhor investimento para seu perfil. Mesmo com pouco dinheiro existem diversas aplicações financeiras com liquidez diária possíveis, porém a falta de conhecimento traz insegurança para o investidor iniciante, fazendo que ele não considere as oportunidades que possui. O Tesouro Selic é um dos investimentos em Renda Fixa onde o investidor pode retirar o dinheiro a qualquer momento, possui liquidez diária e retorno melhor do que a poupança, ideal para o investidor que ainda não conhece o mercado, mas já cansou do baixo rendimento da poupança. O intuito desta proposta de função é mostrar as projeções de retorno de um investimento onde o usuário informa qual o valor que irá investir e por quanto tempo. Como é pretendido alcançar o investidor iniciante, o resultado da função será o retorno que obteria com a taxa de juros correspondente ao Tesouro Selic e à Poupança para que ele compare os investimentos facilmente. **__Planejamento da função__** __Entrada:__ moneysim(di, t, am=FALSE) • di: dinheiro investido > número inteiro com a quantidade de dinheiro pretendido para investimento. • t: tempo de investimento > número inteiro com o tempo em meses que o dinheiro permanecerá investido • am: aporte mensal > componente lógico, se FALSE o cálculo deve ser realizado para um único valor de di. Se TRUE o cálculo deve ser feito para t * di, levando em conta taxas de juros diferentes de acordo com o tempo que o dinheiro permaneceu investido. __Verificando os parâmetros:__ • di é um número positivo, maior do que 30? Se não, pare e retorne “o mínimo para investimento em Tesouro Selic é de 30 reais”. • t é um número positivo, maior do que zero? Se não, pare e retorne “Duração inválida”. __Pseudo-código:__ 1. Criar um vetor j e armazenar a taxa de juros do tesouro Selic na posição 1 e a taxa de juros da poupança na posição 2. 2. Verifique se há aportes mensais (am=TRUE), se não, prossiga para 3. Se sim, ir para passo 7. 3. Crie uma variável imposto (imp), verifique se t < 6, se sim e atribua o valor 22.5% a imp. Se t > 6, verifique se t < 12, se sim, atribua o valor 20% à variável imp. Se t >12 e menor que 24 meses atribua o valor 17.5%. Se t > 24 atribua o valor 15% à variável imp. 4. Realizar a conta de rendimento final com a expressão ((di*j[1] )*t) – ( (((di*j[1])*t) – di)*imp ), e guardar resultado em um objeto chamado selic. 5. Realizar a conta para os juros da poupança, com a expressão ( di*j[2]*t) e guardar resultado em um objeto chamado poup. 6. Repetir o passo 3, mas agora para cada posição em t (t[1], t[2], ...), criando o vetor imp com os impostos relativos à cada período do dinheiro investido. 7. Realizar a conta de rendimento mês a mês de acordo com as taxas de imposto, somando a conta de cada mês e guardar resultado em um objeto chamado selic. 8. Realizar a conta para os juros da poupança, com a expressão ( di*j[2]*t) e guardar resultado em um objeto chamado poup. 9. Retornar uma matriz contendo o nome do investimento no nome das colunas (Selic e Poupança) e na primeira linha o valor do retorno no Tesouro Selic ( matrix[1,1] <- selic), e o valor do retorno na Poupança ( matrix[1,2] <- poup). __Saída:__ • Projeção do retorno financeiro obtido ao final do período no Tesouro Selic e na Poupança. ==== Comentários Danilo ==== Jéssica, como já tínhamos conversado, seu plano A é interessante. E achei uma boa ideia estabelecer como meta inicial o cálculo dos intervalos de superfície e como "bônus-se-der-tempo" os outros cálculos. Como o plano B me parece muito simples, sugiro fazer o plano A mesmo. //[[gruingas@gmail.com|Danilo]]// ====== Trabalho Final - Plano A executado ====== Segui com meu Plano A para a entrega da função. Como já explicado, seu intuito é informar ao usuário qual o tempo mínimo que deve permanecer na superfície entre 2 mergulhos não descompressivos consecutivos, baseado na tabela RDP (Recreational Dive Planner). Assim, como produto final temos a função ''diveplan''. Aqui você encontra o meu código da função: [[.:diveplan.]] Aqui você encontra o minha página de ajuda [[.:Help.]]