diff --git a/Giovanna/atividades/atividadesAula1.pdf b/Giovanna/atividades/atividadesAula1.pdf new file mode 100644 index 00000000..45ce4d47 Binary files /dev/null and b/Giovanna/atividades/atividadesAula1.pdf differ diff --git a/Giovanna/atividades/exercicioContextualizado3.py b/Giovanna/atividades/exercicioContextualizado3.py new file mode 100644 index 00000000..29014847 --- /dev/null +++ b/Giovanna/atividades/exercicioContextualizado3.py @@ -0,0 +1,83 @@ +resolucaoImagem = 1 +tipoCelula = 1 +tipoSensor = 1 + +print("Esse programa tem como objetivo receber dados para configurar o uso de Microscópio confocal de varredura a laser. \n As seguir serão apresentadas as configurações padrões e você poderá fazer as alterações necesssárias. \n Todas as informações aqui inseridas são códigos que devem ser consultados no manual de instrução para as opções desejadas.") + +print("Resolução da imagem: ", resolucaoImagem, "\n Houve alteração nessa variável? Digite a nova informação. Senão, digite a opção padrão acima.") +novaResolucaoImagem = int(input()) +print(novaResolucaoImagem == resolucaoImagem) +resolucaoImagem = novaResolucaoImagem + +print("Tipo de célula: ", tipoCelula, "\n Houve alteração nessa variável? Digite a nova informação. Senão, digite a opção padrão acima.") +novoTipoCelula = int(input()) +print(novoTipoCelula == tipoCelula) +tipoCelula = novoTipoCelula + +print("Tipo de sensor: ", tipoSensor, "\n Houve alteração nessa variável? Digite a nova informação. Senão, digite a opção padrão acima.") +novotipoSensor = int(input()) +print(novotipoSensor == tipoSensor) +tipoSensor = novotipoSensor + +print( + "As informações de configuração escolhidas pelo usuário são:\n", + "Resolução da imagem: ", resolucaoImagem, "\n", + "Tipo de célula: ", tipoCelula, "\n", + "Tipo de sensor: ", tipoSensor, "\n" +) + +print("Vamos iniciar a calibração do equipamento.") + +print("Aperte 10x a tecla que corresponde à primeira letra do seu nome") +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +calibracao1 = input() +print("A informação foi corretamente digitada: ", calibracao1) + +print("Aperte 10x a tecla que corresponde à última letra do seu nome") +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +calibracao2 = input() +print("A informação foi corretamente digitada: ", calibracao2) + +print("Aperte 10x a tecla que corresponde à segunda letra do seu nome") +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +calibracao3 = input() +print("A informação foi corretamente digitada: ", calibracao3) + +print("Aperte 10x a tecla que corresponde à penúltima letra do seu nome") +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +calibracao4 = input() +print("A informação foi corretamente digitada: ", calibracao4) + +print("A calibração foi realizada com sucesso.") \ No newline at end of file diff --git a/Giovanna/atividades/exercicioContextualizado4.py b/Giovanna/atividades/exercicioContextualizado4.py new file mode 100644 index 00000000..94a85124 --- /dev/null +++ b/Giovanna/atividades/exercicioContextualizado4.py @@ -0,0 +1,41 @@ + +statusHabituacao = int(input("Seu animal está habituado? Digite 1 para SIM e 2 para NÃO ")) # É preciso saber se o animal foi habituado para iniciar o teste + +if statusHabituacao == 1: + distanciaInicial = 30 # Define o quão próximo o animal está da barra, começando com 30cm + + distanciaAtual = float(input("Qual a distância atual do animal até a barra em centímetros? ")) # saber se o animal se aproximou da barra + + if distanciaAtual < distanciaInicial: # se a distancia atual é menor que a distancia inicial (o animais se aproximou), a recompensa é liberada + print("0,5ml de recompensa liberada! ") + + statusPrimeiraEtapa = int(input("O animal tocou 20x na barra? Digite 1 para SIM e 2 para NÃO ")) # o animal precisa tocar na barra 20x para seguir para a próxima etapa do experimento + + if statusPrimeiraEtapa == 1: # verifica se o animal atingiu o requisito para passar para próxima etapa + print("O experimento passou para a próxima etapa.") + else: + print("Oops! Não é possível ir para a próxima etapa :(") + + # para receber a recompensa, o animal precisa tocar na barra esquerda quando o som 1 tocar e na barra direita quando o som 2 tocar + somEmitido = int(input("Informe qual som foi emitido, 1 ou 2: ")) # lê qual som foi emitido + barraTocada = int(input("Informe qual barra o animal tocou. Digite 4 para esquerda e 5 para direita: ")) # lê qual barra o animal tocou + + # as condições a seguir verificam se o animal atendeu ao requisito para liberar a recompensa ou não + if somEmitido == 1 and barraTocada == 4: + print("0,5ml de recompensa liberada! ") + elif somEmitido == 2 and barraTocada == 5: + print("0,5ml de recompensa liberada! ") + else: + print("Nenhuma recompensa liberada.") + + statusSegundaEtapa = int(input("O experimento foi realizado 50x em 30min? Digite 1 para SIM e 2 para NÃO ")) # lê a condição do experimento + + # a condição verifica se os requisitos para seguir para a próxima fase foram atendidos + if statusSegundaEtapa == 1: + print("O experimento seguirá para a próxima fase.") + else: + print("O experimento ainda não pode seguir para a próxima fase.") + + +else: + print("Oops! Só é possível começar o treinamento quando o animal estiver habituado :(") \ No newline at end of file diff --git a/Giovanna/atividades/exercicioContextualizado5.py b/Giovanna/atividades/exercicioContextualizado5.py new file mode 100644 index 00000000..8059063e --- /dev/null +++ b/Giovanna/atividades/exercicioContextualizado5.py @@ -0,0 +1,106 @@ +# lista +dataBaseLista = [ + # 0 regiao; 1 estado; 2 municipio; 3 coduf; 4 codmun; 5 codRegiaoSaude; 6 nomeRegiaoSaude; 7 data; 8 semanaEpi; 9 populacaoTCU2019; 10 casosAcumulado; 11 casosNovos; 12 obitosAcumulado; 13 obitosNovos; 14 Recuperadosnovos + ["Norte", "AP", "Serra do Navio", 16, 160005, 16001, "AREA CENTRAL", "2023-01-01", 1, 5397, 1996, 0, 5, 0, 0], + ["Norte", "PA", "Bom Jesus do Tocantins", 15, 150157, 15003, "CARAJAS", "2023-06-25", 26, 16981, 1436, 0, 29, 0, 0], + ["Norte", "TO", "Almas", 17, 170040, 17003, "SUDESTE", "2022-08-03", 31, 7055, 324, 1, 5, 0, 0], + ["Norte", "RO", "São Francisco do Guaporé", 11, 110149, 11007, "VALE DO GUAPORE", "2022-07-02", 26, 20266, 5341, 9, 58, 0, 0], + ["Norte", "AC", "Acrelândia", 12, 120001, 12002, "BAIXO ACRE E PURUS", "2022-07-02", 26, 15256, 2907, 1, 40, 0, 0], + ["Norte", "RR", "Amajari", 14, 140002, 14001, "CENTRO Norte", "2022-08-30", 35, 12796, 1447, 3, 26, 0, 0], + + ["Nordeste", "RN", "Acari", 24, 240010, 24004, "4ª REGIAO DE SAUDE - CAICO", "2023-01-01", 1, 11136, 1494, 0, 26, 0, 0], + ["Nordeste", "PB", "Água Branca", 25, 250010, 25011, "11ª REGIAO", "2023-03-16", 11, 10234, 2201, 0, 16, 20, 0], + ["Nordeste", "PI", "Wall Ferraz", 22, 221170, 22009, "VALE DO RIO GUARIBAS", "2022-12-31", 52, 4462, 338, 0, 3, 0, 0], + ["Nordeste", "PE", "Gravatá", 26, 260640, 26003, "CARUARU", "2022-08-01", 31, 84074, 10575, 0, 167, 0, 0], + ["Nordeste", "CE", "Potengi", 23, 231120, 23020, "20ª REGIAO CRATO", "2022-07-13", 28, 11045, 924, 3, 7, 0, 0], + ["Nordeste", "MA", "Santa Helena", 21, 210980, 21011, "PINHEIRO", "2022-07-15", 28, 42130, 2252, 0, 32, 0, 0], + ["Nordeste", "AL", "Olho d'Água das Flores", 27, 270570, 27009, "9ª REGIAO DE SAUDE", "2022-11-09", 45, 21688, 2054, 0, 44, 0, 0], + ["Nordeste", "SE", "Rosário do Catete", 28, 280610, 28006, "NOSSA SENHORA DO SOCORRO", "2022-08-16", 33, 10855, 1221, 0, 22, 0, 0], + ["Nordeste", "BA", "Barra do Rocha", 29, 290310, 29015, "JEQUIE", "2022-11-16", 46, 5714, 788, 0, 8, 0, 0], + + ["Sudeste", "SP", "Pardinho", 35, 353610, 35063, "POLO CUESTA", "2022-11-27", 48, 6435, 1205, 0, 19, 0, 0], + ["Sudeste", "MG", "Itaú de Minas", 31, 313375, 31092, "PASSOS", "2022-10-02", 40, 16108, 5762, 0, 49, 0, 0], + ["Sudeste", "ES", "Itapemirim", 32, 320280, 32004, "SUL", "2022-12-04", 49, 34348, 10462, 1, 179, 0, 0], + ["Sudeste", "RJ", "Rio de Janeiro", 33, 330455, 33005, "METROPOLITANA I", "2022-12-27", 52, 6718903, 1280519, 1150, 37891, 3, 1], + + ["Sul", "PR", "Palotina", 41, 411790, 41020, "20ª RS TOLEDO", "2022-10-25", 43, 31846, 10741, 0, 104, 0, 0], + ["Sul", "SC", "Garopaba", 42, 420570, 42007, "GRANDE FLORIANOPOLIS", "2022-11-13", 46, 23078, 6985, 0, 55, 0, 0], + ["Sul", "RS", "Cândido Godói", 43, 430430, 43014, "REGIAO 14", "2022-11-16", 46, 6198, 1332, 0, 5, 0, 0], + + ["Centro-Oeste", "GO", "Caçu", 52, 520430, 52015, "SUDOESTE I", "2022-09-19", 38, 16009, 3001, -3, 46, 0, 0], + ["Centro-Oeste", "DF", "Brasília", 53, 530010, 53001, "DISTRITO FEDERAL", "2022-12-20", 51, 3015268, 880172, 1193, 11837, 0, 1], + ["Centro-Oeste", "MT", "Barra do Garças", 51, 510180, 51005, "GARCAS ARAGUAIA", "2022-07-17", 29, 61012, 15993, 0, 407, 0, 0], + ["Centro-Oeste", "MS", "Ivinhema", 50, 500470, 50003, "DOURADOS", "2022-12-20", 51, 23187, 8050, 47, 79, 2, 0] +] + +# tupla +dataBaseTupla = ( + # 0 regiao; 1 estado; 2 municipio; 3 coduf; 4 codmun; 5 codRegiaoSaude; 6 nomeRegiaoSaude; 7 data; 8 semanaEpi; 9 populacaoTCU2019; 10 casosAcumulado; 11 casosNovos; 12 obitosAcumulado; 13 obitosNovos;Recuperadosnovos;emAcompanhamentoNovos;interior/metropolitana + ("Norte", "AM", "Presidente Figueiredo", 13, 130353, 13001, "MANAUS", "ENTORNO E ALTO RIO NEGRO", "2023-04-05", 14, 36279, 8603, 0, 123, 0 , 1), + ("Norte", "AP", "Serra do Navio", 16, 160005, 16001, "AREA CENTRAL", "2023-01-01", 1, 5397, 1996, 0, 5, 0, 0), + ("Norte", "PA", "Bom Jesus do Tocantins", 15, 150157, 15003, "CARAJAS", "2023-06-25", 26, 16981, 1436, 0, 29, 0, 0), + ("Norte", "TO", "Almas", 17, 170040, 17003, "SUDESTE", "2022-08-03", 31, 7055, 324, 1, 5, 0, 0), + ("Norte", "RO", "São Francisco do Guaporé", 11, 110149, 11007, "VALE DO GUAPORE", "2022-07-02", 26, 20266, 5341, 9, 58, 0, 0), + ("Norte", "AC", "Acrelândia", 12, 120001, 12002, "BAIXO ACRE E PURUS", "2022-07-02", 26, 15256, 2907, 1, 40, 0, 0), + ("Norte", "RR", "Amajari", 14, 140002, 14001, "CENTRO Norte", "2022-08-30", 35, 12796, 1447, 3, 26, 0, 0), + + ("Nordeste", "RN", "Acari", 24, 240010, 24004, "4ª REGIAO DE SAUDE - CAICO", "2023-01-01", 1, 11136, 1494, 0, 26, 0, 0), + ("Nordeste", "PB", "Água Branca", 25, 250010, 25011, "11ª REGIAO", "2023-03-16", 11, 10234, 2201, 0, 16, 20, 0), + ("Nordeste", "PI", "Wall Ferraz", 22, 221170, 22009, "VALE DO RIO GUARIBAS", "2022-12-31", 52, 4462, 338, 0, 3, 0, 0), + ("Nordeste", "PE", "Gravatá", 26, 260640, 26003, "CARUARU", "2022-08-01", 31, 84074, 10575, 0, 167, 0, 0), + ("Nordeste", "CE", "Potengi", 23, 231120, 23020, "20ª REGIAO CRATO", "2022-07-13", 28, 11045, 924, 3, 7, 0, 0), + ("Nordeste", "MA", "Santa Helena", 21, 210980, 21011, "PINHEIRO", "2022-07-15", 28, 42130, 2252, 0, 32, 0, 0), + ("Nordeste", "AL", "Olho d'Água das Flores", 27, 270570, 27009, "9ª REGIAO DE SAUDE", "2022-11-09", 45, 21688, 2054, 0, 44, 0, 0), + ("Nordeste", "SE", "Rosário do Catete", 28, 280610, 28006, "NOSSA SENHORA DO SOCORRO", "2022-08-16", 33, 10855, 1221, 0, 22, 0, 0), + ("Nordeste", "BA", "Barra do Rocha", 29, 290310, 29015, "JEQUIE", "2022-11-16", 46, 5714, 788, 0, 8, 0, 0), + + ("Sudeste", "SP", "Pardinho", 35, 353610, 35063, "POLO CUESTA", "2022-11-27", 48, 6435, 1205, 0, 19, 0, 0), + ("Sudeste", "MG", "Itaú de Minas", 31, 313375, 31092, "PASSOS", "2022-10-02", 40, 16108, 5762, 0, 49, 0, 0), + ("Sudeste", "ES", "Itapemirim", 32, 320280, 32004, "SUL", "2022-12-04", 49, 34348, 10462, 1, 179, 0, 0), + ("Sudeste", "RJ", "Rio de Janeiro", 33, 330455, 33005, "METROPOLITANA I", "2022-12-27", 52, 6718903, 1280519, 1150, 37891, 3, 1), + + ("Sul", "PR", "Palotina", 41, 411790, 41020, "20ª RS TOLEDO", "2022-10-25", 43, 31846, 10741, 0, 104, 0, 0), + ("Sul", "SC", "Garopaba", 42, 420570, 42007, "GRANDE FLORIANOPOLIS", "2022-11-13", 46, 23078, 6985, 0, 55, 0, 0), + ("Sul", "RS", "Cândido Godói", 43, 430430, 43014, "REGIAO 14", "2022-11-16", 46, 6198, 1332, 0, 5, 0, 0), + + ("Centro-Oeste", "GO", "Caçu", 52, 520430, 52015, "SUDOESTE I", "2022-09-19", 38, 16009, 3001, -3, 46, 0, 0), + ("Centro-Oeste", "DF", "Brasília", 53, 530010, 53001, "DISTRITO FEDERAL", "2022-12-20", 51, 3015268, 880172, 1193, 11837, 0, 1), + ("Centro-Oeste", "MT", "Barra do Garças", 51, 510180, 51005, "GARCAS ARAGUAIA", "2022-07-17", 29, 61012, 15993, 0, 407, 0, 0), + ("Centro-Oeste", "MS", "Ivinhema", 50, 500470, 50003, "DOURADOS", "2022-12-20", 51, 23187, 8050, 47, 79, 2, 0) +) + +# printar na tela o número de casos acumulados para o estado do rio de janeiro tanto para a tupla quanto para a lista +print(dataBaseLista[19][10]) +print(dataBaseTupla[19][10]) + +# printar na tela todos os óbitos acumulados mostrando os casos apenas para o caso dos estados (sem mostrar regiões de saúde, etc..). +for dados in dataBaseLista: + print(dados[1], " - Total de óbitos acumulados: ", dados[12]) + +# Assuma que os dados de óbitos novos para o estado da paraíba estejam errados em 10 unidades para menos. Sobrescreva a informação tanto na lista quanto na tupla, corrigindo os dados. +dataBaseLista[8][12] += 10 +# dataBaseTupla[8][13] += 10 para tupla não é possível alterar o valor + +# Retorne o tamanho total da lista +print("O tamanho total da lista é: ", len(dataBaseLista)) + +# Verifique qual é o maior valor numérico de óbitos novos e o menor valor numérico de óbitos novos. +obitosNovos = dataBaseLista[0][13] +for dados in dataBaseLista: + if obitosNovos < dados[13]: + obitosNovos = dados[13] +print("O maior valor de óbitos novos é: ", obitosNovos) + +obitosNovos = dataBaseLista[0][13] +for dados in dataBaseLista: + if obitosNovos > dados[13]: + obitosNovos = dados[13] +print("O menor valor de óbitos novos é: ", obitosNovos) + +# Remova da lista os dados das regiões de saúde +for dados in dataBaseLista: + dados.pop(5) # exclui o código da região + dados.pop(5) # exclui o nome da região, é o mesmo índice porque os índices atualizaram com o comando anterior + +# Extraia os dados de Wall Ferraz/PI apresentando os casos novos com um print +print("O total de casos novos em Wall Ferraz/PI é: ", dataBaseTupla[9][11]) \ No newline at end of file diff --git a/Giovanna/atividades/exercicioContextualizado6.py b/Giovanna/atividades/exercicioContextualizado6.py new file mode 100644 index 00000000..295a8a5a --- /dev/null +++ b/Giovanna/atividades/exercicioContextualizado6.py @@ -0,0 +1,86 @@ + +# Esse programa tem o objetivo de auxiliar na realização de uma cirurgia esterotáxica em ratos + +# Parte 1 - Anestesia +print("Parte 1 - Anestesia") +pesoRato = float(input("Informe o peso do seu animal em Kg: ")) + +# O cálculo do volume é (de acordo com o POP) + # ketamina - (70 x peso em kg)/100 + # xilazina - (3 x peso em kg)/20 + # resultado em mL +volumeKetamina = (70*pesoRato)/100 +volumeXilazina = (3*pesoRato)/20 +print("Aplique ", volumeKetamina, "mL de ketamina e ", volumeXilazina, "mL de xilazina") +input("Aperte em qualquer tecla para continuar...") + +# Parte 2 - Poscionamento do animal no estereotáxico +print("Parte 2 - Posicionamento no estereotáxico") +print("As barras que suportam o peso do animal devem ser posicionadas no ouvido externo do animal.") +posiconamento = int(input("Verifique a angulação da cabeça do animal. Ela deve estar sem diferenças de angulação entre o bregma e o lambda, para ter uma superfície de cirurgia plana. A angulação está correta? Digite 1 para SIM ou 0 para NÃO.")) +while posiconamento == 0: + posiconamento = int(input("Para seguir com o procedimento, é preciso ajustar bem a angulação. Lembre-se que a cabeça do animal deve estar sem diferenças de angulação entre o bregma e o lambda, para ter uma superfície de cirurgia plana. A angulação está correta? Digite 1 para SIM ou 0 para NÃO.\n")) + +# Parte 3 - Limpeza do campo de trabalho +input("Parte 3 - Limpeza do campo de trabalho") +input("Passo I - Retire a pelagem que recobre a parte superior da calota craniana") +input("Passo II - Retire os tecidos moles (epiderme, derme e tecido conjuntivo) até alcançar a parte óssea da caixa craniana.") +input("Passo III - Limpe a calota craniana de qualquer resto de “pele” que esteja sobrando utilizando H 2 O 2 10 volumes.") +input("Passo IV - Utilize uma pequena camada de poliacrilato em todo o perímetro externo para evitar sangramentos.") + +# Parte 4 - Posicionamento dos parafusos +print("Parte 4 - Posicionamento dos parafusos") +input("Deve-se escolher um ponto para a fixação de parafusos, de preferência na parte posterior da calota craniana, pois a camada óssea é mais espessa e suporta uma maior profundidade do parafuso. Obs: Cuidar para não aprofundar muito o parafuso. Com parafusos maiores deve-se dar até 3 voltas no parafuso.") + +# Parte 5 - Cálculos +print("Parte 5 - Cálculos das coordenadas") +print("Posicione a agulha sobre o bregma. Depois de posicionar...") +referencias = {} +referencias['AP'] = float(input("Informe o valor encontrado na régua Antero-Posterior do estereotáxico: ")) +referencias['LL'] = float(input("Informe o valor encontrado na régua Latero-Lateral do estereotáxico: ")) +referencias['DV'] = float(input("Informe o valor encontrado na régua Dorso-Ventral do estereotáxico: ")) + +coordenadas = [1, 2, 3] +coordenadas[0] = float(input("Informe a coordenada Antero-Posterior da região da cirurgia:")) +coordenadas[1] = float(input("Informe a coordenada Latero-Lateral da região da cirurgia (valor positivo):")) +coordenadas[2] = float(input("Informe a coordenada Dorso-lateral da região da cirurgia:")) + +posicoes = ( + referencias['AP'] + coordenadas[0], + referencias['LL'] + coordenadas[1], + referencias['LL'] - coordenadas[1], + referencias['DV'] + coordenadas[2] +) + +# Parte 6 - Introdução da primeira cânula-guia +print("Parte 6 - Introdução da cânula guia") +print("As coordenadas para o ponto de inserção da clánula guia para o hemisfério 1 são:\n", + "AP - ", posicoes[0], "\n", + "LL - ", posicoes[1], "\n", + ) +input("Posicione a agulha das coordenadas acima e faça um furo com a broca até alcançar as meninges.") +print("Introduza a cânula-guia previamente confeccionada até o valor Dorso-Ventral: ", posicoes[3]) +print("Logo após, drene qualquer sangue ou líquido cefalorraquidiano que esteja saindo pelo orifício criado no crânio. Para isso utilize pequenos rolos de papel absorvente.") + +# Parte 7 - Confecção de parte do capacete +print("Parte 7 - Confecção da primeira parte do capacete") +print("Faça uma mistura do acrílico polimerizante com o solvente até ficar com textura espessa porém maleável (o ideal é que a mistura seja capaz de cobrir a parte desejada sem escorrer por todo o crânio). Com essa mistura faça um capacete abrangendo o crânio, a cânula-guia e o parafuso. Deixe secar até ficar suficientemente rígido. O tempo de secagem varia de acordo com a temperatura e umidade da sala.") + +# Parte 8 - Introdução da segunda cânula-guia +print("Parte 6 - Introdução da cânula guia") +print("As coordenadas para o ponto de inserção da clánula guia para o hemisfério 2 são:\n", + "AP - ", posicoes[0], "\n", + "LL - ", posicoes[2], "\n", + ) +input("Posicione a agulha das coordenadas acima e faça um furo com a broca até alcançar as meninges.") +print("Introduza a cânula-guia previamente confeccionada até o valor Dorso-Ventral: ", posicoes[3]) +input("Logo após, drene qualquer sangue ou líquido cefalorraquidiano que esteja saindo pelo orifício criado no crânio. Para isso utilize pequenos rolos de papel absorvente.") +print("Use a mistura do acrílico polimerizante com o solvente para finalizar o capacete abrangendo o crânio, a cânula-guia e o parafuso. Deixe secar até ficar suficientemente rígido. De preferência espalhar o cimento sobre a maior área do crânio, sempre deixando um espaço entre o capacete e o início da área tecidual. Este cuidado previne de um futuro descolamento do capacete devido a entrada de sangue u outro líquido entre o capacete e o crânio.") + +# Parte 9 - Finalização +print("Acomodar o animal em uma caixa aquecida por uma lâmpada e sem outros animais acordados. Assim que o animal despertar colocá-lo de volta a sua caixa-moradia.") +statusCirurgia = int(input("A cirurgia teve alguma complicação? Digite 1 para SIM e 0 para NÃO")) +if statusCirurgia == 1: + print("Registre no livros de cirurgia e entre em contato com o médico veterinário responsável para informar.") +else: + print("Não esqueça de acompanhar o animal no pós-operatório!") \ No newline at end of file diff --git a/Giovanna/atividades/questoesObjetivasAula2.pdf b/Giovanna/atividades/questoesObjetivasAula2.pdf new file mode 100644 index 00000000..97b1b8a5 Binary files /dev/null and b/Giovanna/atividades/questoesObjetivasAula2.pdf differ diff --git a/Giovanna/atividades/questoesObjetivasAula3.pdf b/Giovanna/atividades/questoesObjetivasAula3.pdf new file mode 100644 index 00000000..3bc2a2b8 Binary files /dev/null and b/Giovanna/atividades/questoesObjetivasAula3.pdf differ diff --git a/Giovanna/atividades/questoesObjetivasAula4.pdf b/Giovanna/atividades/questoesObjetivasAula4.pdf new file mode 100644 index 00000000..e5393ec9 Binary files /dev/null and b/Giovanna/atividades/questoesObjetivasAula4.pdf differ diff --git a/Giovanna/atividades/questoesObjetivasAula5.pdf b/Giovanna/atividades/questoesObjetivasAula5.pdf new file mode 100644 index 00000000..ba18d3c5 Binary files /dev/null and b/Giovanna/atividades/questoesObjetivasAula5.pdf differ diff --git a/Giovanna/atividades/questoesObjetivasAula6.pdf b/Giovanna/atividades/questoesObjetivasAula6.pdf new file mode 100644 index 00000000..3a3698e8 Binary files /dev/null and b/Giovanna/atividades/questoesObjetivasAula6.pdf differ diff --git a/Giovanna/atividades/resolucaoProvaAntiga.py b/Giovanna/atividades/resolucaoProvaAntiga.py new file mode 100644 index 00000000..85b63168 --- /dev/null +++ b/Giovanna/atividades/resolucaoProvaAntiga.py @@ -0,0 +1,83 @@ + +finalizar_programa = False +# definindo as variáveis +sinal_estimulacao = [] +# parâmetos de estimulação +corrente = 0.5 +tensao = 10 +tempo = 1 +frequencia = 10 +qtde_dados = tempo * frequencia + +# variáveis dos sensores +freq_aquisicao_eeg = 2 +tempo_aquisicao_eeg = 1 +qtde_dados_eeg = freq_aquisicao_eeg * tempo_aquisicao_eeg +banda_filtro_eeg = [20, 100] +dados_eeg = [] + +freq_aquisicao_ecg = 2 +tempo_aquisicao_ecg = 1 +qtde_dados_ecg = freq_aquisicao_ecg * tempo_aquisicao_ecg +banda_filtro_ecg = [100, 200] +dados_ecg = [] + +while finalizar_programa == False: + + print("Essa intervenção tem como objetivo aliviar os sintomas da depressão. Será feita uma estimulação transcraniana.") + print("Escolha uma das três opções de intervenção:") + tipo_intervencao = int(input("Digite o número referente ao tipo de intervenção:\n 1. Leve \n 2. Moderado \n 3. Grave")) + if tipo_intervencao == 1: + print("Para casos leves, indicamos corrente = 1, tensão = 2, tempo = 3 e frequencia = 4") + elif tipo_intervencao == 2: + print("Para casos moderados, indicamos corrente = 5, tensão = 6, tempo = 7 e frequencia = 8") + elif tipo_intervencao == 3: + print("Para casos graves, indicamos corrente = 9, tensão = 10, tempo = 11 e frequencia = 12") + + # recebendo parâmetros + corrente = float(input("Informe o valor de corrente desejado: ")) + tensao = float(input("Informe o valor de tensao desejado: ")) + tempo = float(input("Informe o tempo desejado: ")) + frequencia = int(input("Informe a frequencia desejada: ")) + + print("Os parâmetros definidos foram: \n Corrente = ", corrente, "\n Tensão = ", tensao, "\n Tempo = ", tempo, "\n Frequência: ", frequencia) + input("Digite qualquer coisa para iniciar a terapia") + + print("Iniciando a terapia...") # essa parte eu não entendi o que é pra enviar, então só simulei um valor qualquer + for contador in range(qtde_dados): + sinal_estimulacao.append(corrente*tensao*contador) + print(sinal_estimulacao) + + print("Recebendo dados do EEG") + for contador in range(qtde_dados_eeg): + dados_eeg.append(float(input())) + + print("Recendo dados do ECG") + for contador in range(qtde_dados_ecg): + dados_ecg.append(float(input())) + + # Calculando índices + max_eeg = max(dados_eeg) + min_eeg = min(dados_eeg) + max_ecg = max(dados_ecg) + min_ecg = min(dados_ecg) + soma_eeg = sum(dados_eeg) + soma_ecg = sum(dados_ecg) + + indices_coleta = ( + max_ecg, max_eeg, min_eeg, min_ecg, soma_eeg, soma_ecg + ) + + nome = input("Digite o nome do paciente: ") + + informacoes_paciente = { + "Nome": nome, + "Dados_Estimulo": sinal_estimulacao, + "Dados_eeg": dados_eeg, + "Dados_ecg": dados_ecg, + "Indices": indices_coleta + } + + print(informacoes_paciente) + + finalizar_programa = input("Você deseja finalizar o programa? Escreva True para SIM e False para NÃO: ") diff --git a/Giovanna/codigosAulas/dicionario.py b/Giovanna/codigosAulas/dicionario.py new file mode 100644 index 00000000..b4e6927f --- /dev/null +++ b/Giovanna/codigosAulas/dicionario.py @@ -0,0 +1,27 @@ +# para criar, cada um usa uma sintaxe, mas na hora de usar, todos usam colchetes [] +lista = [] +tupla = () # é igual a lista, mas não pode alterar os valores +dicionario = {} # em vez de índices (o número da posição), se usam chaves, que podem ser textos + +# com os dicionários, podemos criar hierarquias +dicionario['Professores'] = ['André', 'Denis'] +dicionario['Alunos'] = ['Vitor', 'Luis'] + +# criando um dicionário já com os valores +pessoalISD = { + 'Professores': ['André', 'Denis', 'Ramon'], # Professores é a chave de acesso para a lista que contém os professores. Estrutura: chave : conteúdo + 'Alunos': { + 'Giovanna': { + 'matricula': 20231010, + 'formacao': 'Psicologia', + 'orientador': 'Ramon' + }, + 'Deyvisom': { + 'matricula': 20231011, + 'formacao': 'CeT', + 'orientador': 'Hougelle' + } + } +} +aluno = input("Digite o aluno que quer pesquisar: ") +print(pessoalISD['Alunos'][aluno]['matricula']) \ No newline at end of file diff --git a/Giovanna/codigosAulas/dicionarioRepeticao.py b/Giovanna/codigosAulas/dicionarioRepeticao.py new file mode 100644 index 00000000..d1fea42e --- /dev/null +++ b/Giovanna/codigosAulas/dicionarioRepeticao.py @@ -0,0 +1,7 @@ +dicionario = { + "Brasil": [1, 2, 2, 1, 4, 5, 3], + "EUA": [3, 4, 56, 3, 6, 4, 2] + } +for pais in dicionario: # pega a chave do dicionario qunado itera o dicionario + print(pais) + print(dicionario[pais]) \ No newline at end of file diff --git a/Giovanna/codigosAulas/entradaSaida b/Giovanna/codigosAulas/entradaSaida new file mode 100644 index 00000000..06e612ec --- /dev/null +++ b/Giovanna/codigosAulas/entradaSaida @@ -0,0 +1,12 @@ +# Exercício 1 - comandos de entrada e saída em estrutura sequencial + +peso = float(input('Digite seu peso (kg)')) +altura = float(input('Digite sua altura (m)')) +imc = peso/(altura**2) +print('Seu IMC é', imc) + +print("Estou muito abaixo do peso? ", imc < 17) +print("Estou abaixo do peso? ", imc >= 17 and imc < 18.5) +print("Estou dentro do peso? ", 18.5 <= imc <= 25) +print("Estou acima do peso? ", imc > 25 and imc <= 30) # usando operador lógico +print("Estou muito acima do peso? ", imc > 30) diff --git a/Giovanna/codigosAulas/entradaSaidaCondicional b/Giovanna/codigosAulas/entradaSaidaCondicional new file mode 100644 index 00000000..4d586670 --- /dev/null +++ b/Giovanna/codigosAulas/entradaSaidaCondicional @@ -0,0 +1,17 @@ +# comandos de entrada e saída em estrutura de decisão + +peso = float(input('Digite seu peso (kg)')) +altura = float(input('Digite sua altura (m)')) +imc = peso/(altura**2) +print('Seu IMC é', imc) + +if imc < 17: + print("Estou muito abaixo do peso") +elif imc >= 17 and imc < 18.5: + print("Estou abaixo do peso") +elif 18.5 <= imc <= 25: + print("Estou dentro do peso") +elif imc > 25 and imc <= 30: + print("Estou acima do peso") +elif imc > 30: # aqui poderia ser else, caso omisso + print("Estou muito acima do peso? ") diff --git a/Giovanna/codigosAulas/estruturasDeRepeticao.py b/Giovanna/codigosAulas/estruturasDeRepeticao.py new file mode 100644 index 00000000..3f8d450e --- /dev/null +++ b/Giovanna/codigosAulas/estruturasDeRepeticao.py @@ -0,0 +1,34 @@ +# aqui vc encontra: range, repetição com for e listas + +for i in range(5): + print(i) # retorna de 0 a 4 + +for item in range(10, 110, +10): # parâmetros de range: start (onde começa), stop (onde para), step (intervalo) + print(item) + +for caractere in "Giovanna": + print(caractere) + +lista = ['Giovanna', 'Vítor', 'José'] + +for item in lista: + print(item) + +# duas formas de fazer a mesma coisa - retornar todos os itens da lista: + +linguagens = ['Pyhton', 'PHP', 'C#', 'PowerBuilder', 'Cobol'] +tamanho = len(linguagens) # retorna quantos itens tem a lista +indices = range(tamanho) + +for i in indices: + print(linguagens[i]) + +for linguagem in linguagens: + print(linguagem) + +for key, value in enumerate(['p', 'y', 't', 'h', 'o', 'n']): + print(key, value) + +for i, valor in enumerate(linguagens): + print('Linguagem: ' + valor) + print('Índice: ' + str(i)) \ No newline at end of file diff --git a/Giovanna/codigosAulas/exemploplot.py b/Giovanna/codigosAulas/exemploplot.py new file mode 100644 index 00000000..10ddd34b --- /dev/null +++ b/Giovanna/codigosAulas/exemploplot.py @@ -0,0 +1,13 @@ +# pesquisei no google plot real time + +import numpy as np +import matplotlib.pyplot as plt + +plt.axis([0, 10, 0, 1]) + +for i in range(1000): + y = np.random.random() #aquisição de dados novos, no OpenVibe vai ser o chump + plt.scatter(i, y) # plotando pontos espaçados no gráfico + plt.pause(0.05) # atualizando o dado em tempo real, o suficiente para a tela randerizar, sem isso, ele só plota no final + +plt.show() \ No newline at end of file diff --git a/Giovanna/codigosAulas/exemplosRepeticaoContada.py b/Giovanna/codigosAulas/exemplosRepeticaoContada.py new file mode 100644 index 00000000..7a294333 --- /dev/null +++ b/Giovanna/codigosAulas/exemplosRepeticaoContada.py @@ -0,0 +1,23 @@ +# Geração de números aleatórios para experimentos + +# from numpy import random + +# listaValores = random.rand(10) + +# for valorIndividual in listaValores: +# print(valorIndividual, '\n') + +# Duas ou mais listas + +lista_1 = ['bacon', 'fritas', 'picanha'] +lista_2 = ['cerveja', 'refri', 'suco'] + +for alimento, bebida in zip(lista_1, lista_2): + print(alimento, bebida) + +# um bloco de código é executado ao final da iteração +listaNomes = ['Giovanna', 'Letycia', 'Lana'] +for nome in listaNomes: + print(nome) +else: + print('Todos os nomes foram listados com sucesso') \ No newline at end of file diff --git a/Giovanna/codigosAulas/for.py b/Giovanna/codigosAulas/for.py new file mode 100644 index 00000000..48f17f77 --- /dev/null +++ b/Giovanna/codigosAulas/for.py @@ -0,0 +1,14 @@ +dado = [89127, 1298, 902, 3097, 356] + +soma = dado[0]+dado[1]+dado[2]+dado[3] # trabalho de corno +print(soma) + +soma = 0 +for contador in range(len(dado)): + soma += dado[contador] +print(soma) + +soma = 0 +for d in dado: + soma += d +print(soma) \ No newline at end of file diff --git a/Giovanna/codigosAulas/funcoesEClasses.py b/Giovanna/codigosAulas/funcoesEClasses.py new file mode 100644 index 00000000..098790f6 --- /dev/null +++ b/Giovanna/codigosAulas/funcoesEClasses.py @@ -0,0 +1,32 @@ +# Problema experimento com +# coleta e processamento + +# dados (entrada e saída) +# tempo? + +def coletarDados(tempoExperimento, frequenciaSensor): # o nome da função é um verbo/ação + qtdDados = tempoExperimento*frequenciaSensor + # coleta + """ + Essa função é só para colocar os dados + """ + dado = [] + for contador in range(qtdDados): + dado.append(float(input())) + return dado + +# processamento +def integrar(dado, frequenciaSensor): + for data in dado: + soma = soma + (1 / frequenciaSensor) * dado + return soma + +tempo = 1 +freq = 1 +integral = integrar(coletarDados(tempo, freq), freq) + +processar = integrar # integrar não é uma coisa, é uma memória/abstração, pode generalizar e usar de outras formas +processar(coletarDados(tempo, freq), freq) + +# processar = {"int":integrar} +# processar["int"](coletarDados(tempo, freq), freq) \ No newline at end of file diff --git a/Giovanna/codigosAulas/helloplot.py b/Giovanna/codigosAulas/helloplot.py new file mode 100644 index 00000000..78a25db3 --- /dev/null +++ b/Giovanna/codigosAulas/helloplot.py @@ -0,0 +1,10 @@ +import matplotlib +import matplotlib.pyplot as plt +import numpy as np + +t = np.arange(0, 2, 0.01) +s = 1 + np.sin(2*np.pi*t) + +fig, ax = plt.subplots() +ax.plot(t, s) +plt.show() diff --git a/Giovanna/codigosAulas/listas.py b/Giovanna/codigosAulas/listas.py new file mode 100644 index 00000000..e383fda6 --- /dev/null +++ b/Giovanna/codigosAulas/listas.py @@ -0,0 +1,15 @@ +# aprendendo a usar listas + +lista = ["Giovanna", 24, 1.59, ["psicóloga", "mestranda"]] # cria a lista e define seus valores + +# print(lista[1]) # mostra o valor na posição 1 + +# lista[3] = 51 # altera valores da lista + +print(lista[0:2]) # os dois pontos servem para selecionar uma faixa, "a partir do 0 (primeiro número), acesse até antes do 2 (segundo número)" + +print(lista[0 : len(lista) : 2]) # até o tamanho da lista, de 2 em 2 - vai pular um + +# verificando a existência de itens em uma lista +print ("Giovanna" in lista) # retorna true +print ("peixe" in lista) # retorna false diff --git a/Giovanna/codigosAulas/mqtt.py b/Giovanna/codigosAulas/mqtt.py new file mode 100644 index 00000000..746701ce --- /dev/null +++ b/Giovanna/codigosAulas/mqtt.py @@ -0,0 +1,15 @@ +import paho.mqtt.client as mqtt +import json +def on_connect(client, userdata, flags, rc): + print("Connected with result code "+str(rc)) + client.subscribe("newdev") +def on_message(client, userdata, msg): + print(msg.topic+" "+str(msg.payload)) # msg.topic é o e-mail de origem e msg.payload é o conteúdo + # msg = json.loads('{"DOIT Esp32 DevKit v1"}') + client.publish('cmd2dev1488', '{"op":2,"m":"0,0,100,0","t":"200","p":"20000","f":"0"}') + +client = mqtt.Client() +client.on_connect = on_connect +client.on_message = on_message +client.connect("10.1.0.18", 1883, 60) # endereço do servidor +client.loop_forever() \ No newline at end of file diff --git a/Giovanna/codigosAulas/simulacaoColeta.py b/Giovanna/codigosAulas/simulacaoColeta.py new file mode 100644 index 00000000..d3aeaa03 --- /dev/null +++ b/Giovanna/codigosAulas/simulacaoColeta.py @@ -0,0 +1,20 @@ +tempoExperimento = 1 #s +frequenciaSensor = 10 #Hz +qtdDados = tempoExperimento * frequenciaSensor + +# coleta +dados = [] +for contador in range(qtdDados): + dados.append(float(input())) + +soma = 0 +# linguagem de baixo nível +# for contador in range(len(dado)): +# soma = soma + (1 / frequenciaSensor) * dado[contador] +# print(soma) + +# forma mais fácil de fazer +for dado in dados: + soma = soma + (1 / frequenciaSensor) * dado +print(soma) + diff --git a/Giovanna/codigosAulas/while.py b/Giovanna/codigosAulas/while.py new file mode 100644 index 00000000..1b10dab1 --- /dev/null +++ b/Giovanna/codigosAulas/while.py @@ -0,0 +1,10 @@ +acabouPrograma = False + +while not acabouPrograma: + acabouPrograma = (input() == "x") + pass + +while True: + if input() == "x": + break # quebra a estrutura de repetição mais próxima; também tem o continue, que voltar pro início da repetição + pass \ No newline at end of file