Você está aqui: Python ::: Dicas & Truques ::: Recursão (Recursividade) |
|
Como somar os elementos de um vetor em Python usando uma função recursiva - Linguagem Python para iniciantesQuantidade de visualizações: 315 vezes |
|
Em algumas ocasiões ficamos imaginando o que pode ser feito com os métodos e funções recursivas. A resposta é: praticamente tudo. Veja abaixo um programa Python completo no qual eu mostro como escrever uma função recursiva que recebe um array e mostra a soma de seus elementos (lembre-se de que um array é o mesmo que vetor, ou seja, uma matriz de uma linha e várias colunas): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): # vamos declarar um array de 10 elementos valores = [0 for x in range(10)] # vamos pedir ao usuário para informar os valores para o vetor for i in range(0, len(valores)): valores[i] = int(input("Informe o valor do elemento {0}: ".format(i))) # vamos efetuar uma chamada à função recursiva somar(); # nota que estamos passando o índice inicial, o tamanho do # array e o array em si soma = somar(0, valores) print("\nA soma dos elementos é: {0}".format(soma)) # função recursiva para somar todos os elementos de um array def somar(indice, vetor): # o caso base...hora de encerrar a recursividade if indice == (len(vetor) - 1): return vetor[indice] else: # ainda não é o caso base? vamos fazer uma nova chamada à função somar() return vetor[indice] + somar(indice + 1, vetor) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Informe o valor do elemento 0: 7 Informe o valor do elemento 1: 3 Informe o valor do elemento 2: 1 Informe o valor do elemento 3: 3 Informe o valor do elemento 4: 8 Informe o valor do elemento 5: 9 Informe o valor do elemento 6: 4 Informe o valor do elemento 7: 3 Informe o valor do elemento 8: 2 Informe o valor do elemento 9: 6 A soma dos elementos é: 46 |
|
Link para compartilhar na Internet ou com seus amigos: | |
Python ::: Python para Engenharia ::: Unidades de Medida |
Como converter Metros Quadrados em Quilômetros Quadrados em Python - Python para Física e EngenhariaQuantidade de visualizações: 273 vezes |
Em muitas situações nós temos uma medida de área em m2 e queremos transformá-la em km2, ou seja, converter Metros Quadrados para Quilômetros Quadrados. Para isso só precisamos dividir os metros quadrados por 1.000.000. Veja a fórmula: \[\text{Quilômetros Quadrados} = \frac{\text{Metros Quadrados}}{1.000.000} \] Agora veja o código Python que pede para o usuário informar a medida de área em metros quadrados e a converte para quilômetros quadrados. Note que mostrei como exibir o resultado em notação científica e sem notação científica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): # vamos ler a medida em metros quadrados m_quadrados = float(input("Informe os metros quadrados: ")) # agora calculamos os quilômetros quadrados km_quadrados = m_quadrados / 1000000.00 # e mostramos o resultado print("Você informou {0} metros quadrados.".format(m_quadrados)) print("Isso equivale a {0} quilômetros quadrados.".format(km_quadrados)) print(f"Sem notação científica: {km_quadrados:.6f}") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe os metros quadrados: 80 Você informou 80.0 metros quadrados. Isso equivale a 8.0E-5 quilômetros quadrados. Sem notação científica: 0,000080 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica |
Exercícios Resolvidos de Python - Qual seria a vazão (m3/h) de saída para uma bacia hidrográfica "completamente impermeável", com área de 60 km2, sob uma chuva constanteQuantidade de visualizações: 153 vezes |
Pergunta/Tarefa: 1) Qual seria a vazão (m3/h) de saída para uma bacia hidrográfica "completamente impermeável", com área de 60 km2, sob uma chuva constante à taxa de 10 mm/h? A) 180.000 m3/h B) 6.000 m3/h C) 600.000 m3/h D) 60.000 m3/h E) 600.000.000 m3/h Sua saída deve ser parecida com: Área da bacia em km2: 60 Precipitação em mm/h: 10 A vazão é: 600000.0 m3/h O primeiro passo para resolver esta questão é relembrar a fórmula da vazão: \[\text{Q} = \text{A} \cdot \text{v}\] Onde: Q = vazão em m3/s, m3/h, etc; A = área da bacia m2, km2, etc. v = a taxa da chuva, ou seja, a precipitação em mm/s, mm/h, etc. A maior dificuldade aqui é a conversão das unidades, pois o exercício nos pede a vazão em m3/h. Por essa razão temos que converter a área para metros quadrados e a precipitação em milímetros para precipitação em metros. Então, hora de vermos a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): # vamos ler a área da bacia em km2 area = float(input("Área da bacia em km2: ")) # vamos ler a precipitação em milímetros por hora precipitacao = float(input("Precipitação em mm/h: ")) # vamos calcular a vazão em metros cúbicos por hora # primeiro convertemos a área para metros quadrados area = area * 1000000.0 # agora convertemos milímetros para metros precipitacao = precipitacao / 1000.0 # e calculamos a vazão vazao = area * precipitacao # e mostramos o resultado print("A vazão é: {0} m3/h".format(vazao)) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Python dados dois pontos no plano cartesianoQuantidade de visualizações: 2993 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem Python que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math as math def main(): # x e y do primeiro ponto x1 = float(input("Coordenada x do primeiro ponto: ")) y1 = float(input("Coordenada y do primeiro ponto: ")) # x e y do segundo ponto x2 = float(input("Coordenada x do segundo ponto: ")) y2 = float(input("Coordenada y do segundo ponto: ")) # agora vamos calcular o coeficiente angular m = (y2 - y1) / (x2 - x1) # e mostramos o resultado print("O coeficiente angular é: %f\n\n" % m) if __name__== "__main__": main() Ao executar este código em linguagem Python nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.666667 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar o módulo Math import math as math def main(): # x e y do primeiro ponto x1 = float(input("Coordenada x do primeiro ponto: ")) y1 = float(input("Coordenada y do primeiro ponto: ")) # x e y do segundo ponto x2 = float(input("Coordenada x do segundo ponto: ")) y2 = float(input("Coordenada y do segundo ponto: ")) # vamos obter o comprimento do cateto oposto cateto_oposto = y2 - y1 # e agora o cateto adjascente cateto_adjascente = x2 - x1 # vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa # (em radianos, não se esqueça) tetha = math.atan2(cateto_oposto, cateto_adjascente) # e finalmente usamos a tangente desse ângulo para calcular # o coeficiente angular tangente = math.tan(tetha) # e mostramos o resultado print("O coeficiente angular é: %f\n\n" % tangente) if __name__== "__main__": main() Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Água Fria: Reservatórios Uma edificação possui 10 ocupantes com um consumo médio per capita de 200 litros por dia. Qual a capacidade total mínima do reservatório, segundo a NBR 5.626, sem considerar a reserva de incêndio? A) 6 m3. B) 1,6 m3. C) 2 m3. D) 8 m3. E) 500 litros. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Analise o seguinte código Pythonletras = ['ab', 'cd'] for i in range(0, 2): letras.append(letras[i].upper()) print(letras) Qual é o resultado de sua execução? A) ['ab', 'cd'] B) ['AB', 'CD'] C) ['AB', 'CD', 'AB', 'CD'] D) ['ab', 'cd', 'AB', 'CD'] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Um arquivo JavaScript externo precisa, obrigatoriamente, conter a tag <script> A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil dos prepostos e preponentes Com relação as definições do preposto, assinale a alternativa correta. A) O preposto pode negociar por conta própria ou de terceiro, e participar indiretamente de operação idêntica a que lhe foi cometida. B) O preposto não pode, sem autorização escrita, fazer-se substituir no desempenho da preposição, sob pena de responder pessoalmente pelos atos do substituto e pelas obrigações por ele contraídas. C) Considera-se inválida a entrega de papéis, bens ou valores ao preposto, encarregado pelo preponente, se este os recebeu sem protesto. D) As limitações contidas na outorga de poderes podem ser opostas a terceiros, dependem do arquivamento e averbação do instrumento no Registro Público de Empresas Mercantis. E) No exercício de suas funções, os prepostos são pessoalmente responsáveis, perante terceiros, pelos atos culposos e atos dolosos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dinâmica A viscosidade cinemática de um óleo lubrificante é de 0,028m2/s, e seu peso específico relativo é de 0,85. Qual a sua viscosidade dinâmica, em Pa.s? Sabe-se que a aceleração gravitacional local é de 10m/s2. A) 233Pa.s. B) 85Pa.s. C) 85000Pa.s. D) 23,8Pa.s. E) 2,38Pa.s. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |