Índice
O Curso
Material de Apoio
Área dos Alunos
Visitantes
Forum
notaR
Área Restrita
Cursos Anteriores
IBUSP
Outras Insitutições
IBUSP
Outras Insitutições
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 (JT Corsso).
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.
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).
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:
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.
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.
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.
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 diveplan