Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural |
Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando Python - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 914 vezes |
Pergunta/Tarefa: Veja a seguinte figura: Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero. Escreva um programa Python que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A. Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga). Sua saída deve ser parecida com: Valor da carga em kN/m: 10 Distância em metros: 13 A reação no apoio A é: 65.000000 kN A reação no apoio B é: 65.000000 kN O momento fletor máximo é: 211.250000 kN Informe uma distância a partir do apoio A: 4 O momento fletor na distância informada é: 180.000000 kN A força cortante no apoio A é: 65.000000 kN A força cortante no apoio B é: -65.000000 kN Veja 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) ---------------------------------------------------------------------- # Algoritmo que calcula reação de apoio, momento fletor # e força cortante em uma viga bi-apoiada em Python # vamos importar o módulo Math import math # função principal do programa def main(): # vamos pedir para o usuário informar o valor da carga carga = float(input("Valor da carga em kN/m: ")) # vamos pedir para o usuário informar a distância entre os apoios distancia = float(input("Distancia em metros: ")) # vamos calcular a reação no apoio A reacao_a = (1.0 / 2.0) * carga * distancia # vamos calcular a reação no apoio B reacao_b = reacao_a # vamos calcular o momento fletor máximo flexao_maxima = (1.0 / 8.0) * carga * math.pow(distancia, 2.0) # e mostramos o resultado print("\nA reação no apoio A é: {0} kN".format(reacao_a)) print("A reação no apoio B é: {0} kN".format(reacao_b)) print("O momento fletor máximo é: {0} kN".format(flexao_maxima)) # vamos pedir para o usuário informar uma distância a # partir do apoio A distancia_temp = float(input("\nInforme uma distância a partir do apoio A: ")) # vamos mostrar o momento fletor na distância informada if distancia_temp > distancia: print("\nDistância inválida.") else: flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \ (distancia - distancia_temp) print("O momento fletor na distância informada é: {0} kN".format( flexao_distancia)) # vamos mostrar a força cortante no apoio A cortante_a = (1.0 / 2.0) * carga * distancia print("\nA força cortante no apoio A é: {0} kN".format(cortante_a)) # vamos mostrar a força cortante no apoio B cortante_b = cortante_a * -1 print("A força cortante no apoio B é: {0} kN".format(cortante_b)) if __name__== "__main__": main() |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de linhas e colunas de um vetor ou matriz usando a propriedade shape do objeto ndarray da biblioteca NumPy do PythonQuantidade de visualizações: 2695 vezes |
Podemos usar a propriedade shape do objeto ndarray da biblioteca NumPy para obter a quantidade de linhas e colunas em um vetor ou matriz. Para um vetor, o retorno será a quantidade de colunas seguida por uma vírgula. Para matrizes, a propriedade retornará a quantidade de linhas e colunas. Veja:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np def main(): # vamos criar um vetor com 8 elementos vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4]) # vamos mostrar a quantidade de linhas e colunas nesse vetor print("Linhas e colunas no vetor:", vetor.shape) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", matriz.shape) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Linhas e colunas no vetor: (8,) Linhas e colunas na matriz: (2, 4) Além de usar a propriedade shape do objeto ndarray, nós podemos também efetuar uma chamada ao método global shape() da NumPy. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np def main(): # vamos criar um vetor com 8 elementos vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4]) # vamos mostrar a quantidade de linhas e colunas nesse vetor print("Linhas e colunas no vetor:", np.shape(vetor)) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", np.shape(matriz)) if __name__== "__main__": main() Execute e veja que o resultado é o mesmo para ambos os códigos. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Como somar o primeiro e o último dígito de um número inteiro informado pelo usuário em PythonQuantidade de visualizações: 725 vezes |
Pergunta/Tarefa: Escreva um programa Python que pede para o usuário informar um número inteiro e mostre a soma do primeiro dígito com o último dígito. Atenção: você deve usar apenas os operadores matemáticos e a função log10(). Sua saída deverá ser parecida com: Informe um número inteiro: 48763 A soma do primeiro e do último dígito é: 7 Veja 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) ---------------------------------------------------------------------- # vamos importar o módulo Math import math # método principal def main(): # vamos pedir para o usuário informar um número inteiro numero = int(input("Informe um número inteiro: ")) # vamos obter a quantidade (-1) de dígitos no número informado quant = int(math.log10(numero)) primeiro_digito = (int)(numero / pow(10, quant)) ultimo_digito = numero % 10 # soma o primeiro e o último dígito soma = primeiro_digito + ultimo_digito # mostra o resultado print("A soma do primeiro e do último dígito é: {0}".format(soma)) if __name__== "__main__": main() |
Python ::: Matplotlib Python Library (Biblioteca Python Matplotlib) ::: Passos Iniciais |
Plotagem e visualização de dados em Python - Como instalar a biblioteca Matplotlib e testar seu funcionamentoQuantidade de visualizações: 3031 vezes |
A biblioteca Matplotlib, escrita originalmente por John D. Hunter em 2003, é um dos pacotes Python mais populares para a plotagem e visualização de dados. O acesso às funcionalidades da Matplotlib é feito por meio da interface Pylab, que lembra muito o MATLAB, a linguagem de programação proprietária desenvolvida pela MathWorks. Os usuários acostumados com essa ferramenta chegam a afirmar que a biblioteca Matplotlib, combinada com a biblioteca NumPy, pode ser considerada o equivalente open source do MATLAB. Já tenho o Matplotlib disponível na minha instalação do Python? Antes de iniciar qualquer projeto que envolva a biblioteca Matplotlib, é importante verificar se a mesma está disponível em sua instalação do Python. Isso pode ser de várias formas. Mostrarei como obter a lista de módulos usando a opção "list" do pip. Basta abrir uma janela de terminal e disparar o seguinte comando: C:\Users\Osmar>pip list Você terá um resultado parecido com: C:\Users\Osmar>pip list Package Version ----------------- ------- astroid 2.4.2 colorama 0.4.4 isort 5.6.4 joblib 1.0.0 lazy-object-proxy 1.4.3 mccabe 0.6.1 numpy 1.19.4 pandas 1.1.5 Pillow 8.0.1 pip 20.3.3 pylint 2.6.0 python-dateutil 2.8.1 pytz 2020.4 scikit-learn 0.24.0 scipy 1.5.4 setuptools 49.2.1 six 1.15.0 threadpoolctl 2.1.0 toml 0.10.2 wrapt 1.12.1 wxPython 4.1.1 ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a bibliteca Matplotlib import matplotlib as mp def main(): # vamos mostrar a versão da biblioteca Matplotlib versao = mp.__version__ print("A versão do Matplotlib é:", versao) if __name__== "__main__": main() Se você tiver o Matplotlib instalado, o resultado desse código será algo como: A versão do Matplotlib é: 3.4.1 Se você não tiver a biblioteca Matplotlib instalada, a seguinte mensagem de erro será exibida: Exception has occurred: ModuleNotFoundError File "c:\estudos_python\estudos.py", line 3, in <module> import matplotlib as mp ModuleNotFoundError: No module named 'matplotlib' Não tenho o Matplotlib ainda. O que faço? Abra uma janela de terminal e dispare o comando abaixo: C:\Users\Osmar>pip install matplotlib Depois de alguns segundos você verá o seguinte resultado: Collecting matplotlib Downloading matplotlib-3.4.1-cp39-cp39-win_amd64.whl (7.1 MB) |-| 7.1 MB 3.3 MB/s Requirement already satisfied: pillow>=6.2.0 in c:\python_3_9_1\lib\site-packages (from matplotlib) (8.0.1) Requirement already satisfied: python-dateutil>=2.7 in c:\python_3_9_1\lib\site-packages (from matplotlib) (2.8.1) Requirement already satisfied: numpy>=1.16 in c:\python_3_9_1\lib\site-packages (from matplotlib) (1.19.4) Collecting cycler>=0.10 Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB) Requirement already satisfied: six in c:\users\osmar\appdata\roaming\python\python39\site-packages (from cycler>=0.10->matplotlib) (1.15.0) Collecting kiwisolver>=1.0.1 Downloading kiwisolver-1.3.1-cp39-cp39-win_amd64.whl (51 kB) |-| 51 kB 3.8 MB/s Collecting pyparsing>=2.2.1 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) |-| 67 kB 1.7 MB/s Installing collected packages: pyparsing, kiwisolver, cycler, matplotlib Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.1 pyparsing-2.4.7 Obteve resultado parecido? Pronto! Você já pode começar a usar a biblioteca Matplotlib em seus aplicações Python. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
JavaScript - JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUE |
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 |