E-Book 650 Dicas e Truques de Python - PDF com 1.200 páginas
Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Resistência dos Materiais - Tensões, Deformações e Lei de Hooke

Uma barra de aço de 12,7 mm de diâmetro suporta uma carga de 7.000 kg. a) Qual é a tensão atuante na barra? b) Qual será a deformação? - Desafio de Programação Resolvido em Python

Quantidade de visualizações: 269 vezes
Pergunta/Tarefa:

Uma barra de aço de 12,7 mm de diâmetro suporta uma carga de 7.000 kg.
a) Qual é a tensão atuante na barra?
b) Qual será a deformação? (Módulo de elasticidade do aço = 205.000 MPa).

Sua saída deverá ser parecida com:

A área da seção circular é: 1.2667686977437442 cm2:
A força em kN é: 68646.55
A tensão na barra é: 541.9027966373587 MPa
A deformação na barra é: 2.6434282762797987 mm/m
Resposta/Solução:

Além da aplicação da Lei de Hooke, fique atento(a) às conversões de milímetros quadrados para metros quadrados, quilograma para quilonewton, quilonewton por centímetro quadrado para megapascal e metros para milímetros. A maioria dos alunos e profissionais de engenharia erram os cálculos por culpa dessas conversões.

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 Python que calcula a tensão e a deformação em
# uma barra

# vamos importar o módulo Math
import math

# função principal do programa
def main():
  # vamos ler o diâmetro da seção circular da barra
  diametro = float(input("Informe o diâmetro em milímetros: "))
  # vamos ler a carga atuante na barra
  carga = float(input("Informe a carga em kg: "))
  
  # vamos definir o módulo de elasticidade do aço
  mod_elasticiade_aco = 205000

  # o primeiro passo é encontrar a área da seção transversal da barra
  area = (math.pi * math.pow(diametro, 2)) / 4
  # como o resultado da área veio em milímetros quadrados, vamos
  # converter para centímetros quadrados
  area = area / 100
  
  # vamos converter a carga em kg para kN
  gravidade = 9.80665
  forca = carga * gravidade

  # agora vamos calcular a tensão atuante na barra
  tensao = forca / area
  # a tensão veio em kN/cm2. Precisamos converter para MPa
  tensao = tensao / 100

  # agora vamos calcular a deformação
  deformacao = tensao / mod_elasticiade_aco
  # a deformação está em metros. Vamos converter para milímetros
  deformacao = deformacao * 1000

  # vamos mostrar os resultados
  print("\nA área da seção circular é: {0} cm2: ".format(area))
  print("A força em kN é: {0} kN".format(forca))
  print("A tensão na barra é: {0} MPa".format(tensao))
  print("A deformação na barra é: {0} mm/m".format(deformacao))

if __name__== "__main__":
  main()


Link para compartilhar na Internet ou com seus amigos:

Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo em Python usando a função sin() do módulo Math

Quantidade de visualizações: 1024 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem Python. Este método, que faz parte do módulo Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a biblioteca Math
import math as math
  
def main():
  print("Seno de 0 = ", math.sin(0))
  print("Seno de 1 = ", math.sin(1))
  print("Seno de 2 = ", math.sin(2))
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Seno de 0 = 0.0
Seno de 1 = 0.8414709848078965
Seno de 2 = 0.9092974268256817

Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como exibir os valores de 0 a 10 em ordem decrescente usando o laço for da linguagem Python

Quantidade de visualizações: 12866 vezes
Em geral, todos os exemplos que vemos de laço for (laço ou loop PARA) mostram a variável de controle sendo incrementada, raras vezes decrementada. Nesta dica mostrarei como isso pode ser feito, ou seja, vamos contar de 0 a 10 em ordem decrescente.

Veja o código completo:

----------------------------------------------------------------------
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():
  for i in range(10, -1, -1):
    print(i)
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

10
9
8
7
6
5
4
3
2
1
0


Python ::: Dicas & Truques ::: Formatação de datas, strings e números

Como inserir uma determinada quantidade de espaços à esquerda de um valor numérico usando Python

Quantidade de visualizações: 7346 vezes
Este trecho de código Python mostra como definir uma quantidade de caracteres de espaço à esquerda de um valor numérico. Este exemplo funciona com inteiros. Para ponto-flutuante você deve trocar "d" por "f".

Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  valor = 54

  # com três espaços
  print("O valor é %5d" % valor)

  # com nove espaços
  print("O valor é %11d" % valor)

  # com quatro espaços
  print("O valor é %6d" % valor)

if __name__== "__main__":
  main()

Ao executar este código Python 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)
----------------------------------------------------------------------

O valor é    54
O valor é          54
O valor é     54



Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Números Aleatórios, Números Randômicos, Amostras Aleatórias, Amostras Randômicas

Como gerar números aleatórios em Python usando o método random.randint() da biblioteca NumPy

Quantidade de visualizações: 2502 vezes
Nesta dica mostrarei como podemos gerar números inteiros randômicos usando random.randint() da biblioteca NumPy. Note que a geração de números aleatórias é uma parte importante para o desenvolvimento de modelos de teste (test models) em Inteligência Artificial (IA), Machine Learning e outras áreas de estudo que envolvem Data Science.

Veja um exemplo da forma mais simples do uso da função random.randint():

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos o módulo random da bibliteca NumPy
from numpy import random

def main():
  # vamos gerar um número inteiro aleatório de 0 (incluído) à
  # 10 (não incluído) 
  valor = random.randint(10)
  print("O número sorteado foi: ", valor)  

if __name__== "__main__":
  main()


Ao executar este código teremos um resultado parecido com:

O número sorteado foi: 3

Aqui nós informamos o limite alto do valor aleatório a ser gerado (mas ele não é incluído). Se quisermos limitar a faixa inferior, podemos tirar proveito dos parâmetros low e high da função randint(). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos o módulo random da bibliteca NumPy
from numpy import random

def main():
  # vamos gerar um número inteiro aleatório de 5 (incluído) 
  # à 10 (não incluído) 
  valor = random.randint(5, 10)
  print("O número sorteado foi: ", valor)  

if __name__== "__main__":
  main()

A partir da versão 1.19 da NumPy, os desenvolvedores da biblioteca recomendam o uso do método integers() do módulo default_rng().


Python ::: Dicas & Truques ::: Lista (List)

Curso de Python - Como ordenar uma lista de strings baseado no tamanho de cada uma

Quantidade de visualizações: 7923 vezes
Este exemplo mostra como ordenar os elementos de uma List de strings baseado no tamanho da palavra, frase ou texto. Note como o valor "key = len" como argumento para o método sort() da classe List.

Veja o código completo para a dica:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  # cria uma lista de nomes
  nomes = ['Carlos', 'Igor', 'Osmar', 'Fernanda']
 
  # exibe a lista na ordem original
  print(nomes)
  
  # ordena a lista
  nomes.sort(key = len)
 
  # exibe a lista ordenada
  print(nomes)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

['Carlos', 'Igor', 'Osmar', 'Fernanda']
['Igor', 'Osmar', 'Carlos', 'Fernanda']


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 76 usuários muito felizes estudando em nosso site.