Você está aqui: Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular o determinante de uma matriz 3x3 usando a Método de Sarrus em Python - Python para Álgebra LinearQuantidade de visualizações: 5299 vezes |
Os estudos da Geometria Analítica e Álgebra Linear envolvem, em boa parte de seus cálculos, a magnitude de vetores, ou seja, o módulo, tamanho, comprimento ou intensidade dos vetores. E isso não é diferente em relação às matrizes. Quando uma matriz é envolvida nos cálculos, com muita frequência precisamos obter o seu determinante, que nada mais é que um número real associado à todas as matrizes quadradas. Nesta dica mostrarei como obter o determinante de uma matriz quadrada de ordem 3, ou seja, três linhas e três colunas, usando o Método de Sarrus (somente matrizes 3x3). Note que é possível obter o mesmo resultado com o Teorema de Laplace, que não está restrito às matrizes quadradas de ordem 3. Veja também que não considerei as propriedades do determinante, o que, em alguns casos, simplifica muito os cálculos. Então, vamos supor a seguinte matriz 3x3: ![]() O primeiro passo é copiarmos a primeira e a segunda colunas para o lado direito da matriz. Assim: ![]() Agora dividimos a matriz em dois conjuntos: três linhas diagonais descendentes e três linhas diagonais ascendentes: ![]() Agora é só efetuar cálculos. Multiplicamos e somamos os elementos de cada conjunto, subtraindo o segundo conjunto do primeiro. Veja: (1 x 5 x 9 + 2 x 6 x 7 + 3 x 4 x 8) - (7 x 5 x 3 + 8 x 6 x 1 + 9 x 4 x 2) = 0 Como podemos ver, o determinante dessa matriz é 0. E agora veja o código Python no qual declaramos e instanciamos uma matriz 3x3, em seguida, calculamos o seu determinante: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np # função principal do programa def main(): # vamos criar uma matriz 3x3 m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)]) # calcula o determinante usando a Regra de Sarrus det = ((m[0][0] * m[1][1] * m[2][2]) + (m[0][1] * m[1][2] * m[2][0]) + (m[0][2] * m[1][0] * m[2][1])) - ((m[2][0] * m[1][1] * m[0][2]) + (m[2][1] * m[1][2] * m[0][0]) + (m[2][2] * m[1][0] * m[0][1])) # mostramos o resultado print("O determinante da matriz é: %f" % det) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O determinante da matriz é: 2.0 É possível também obter o determinante de uma matriz (não restrita à dimensão 3x3) usando o método linalg.det() da biblioteca NumPy do Python. Veja o código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np # função principal do programa def main(): # vamos criar uma matriz 3x3 m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)]) # calcula o determinante usando apenas NumPy det = np.linalg.det(m) # mostramos o resultado print("O determinante da matriz é: %f" % det) if __name__== "__main__": main() Veja que usei a mesma matriz e, usando apenas o método linalg.det() nós obtemos o mesmo resultado. |
![]() |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar em letra maiúscula apenas o primeiro caractere de uma palavra ou frase usando a função capitalize() do PythonQuantidade de visualizações: 11608 vezes |
Nesta dica mostrarei como podemos usar o método capitalize() do objeto string da linguagem Python para transformar em letra maiúscula apenas a primeira letra de uma palavra, frase ou texto. Veja o trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): frase1 = "trabalho, Estudo e toco Guitarra." # converte a primeira letra para maiúsculas e as demais # para letras minúsculas frase2 = frase1.capitalize() # mostra os resultados print("Frase original:", frase1) print("Apenas a primeira letra maiúscula:", frase2) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Frase original: trabalho, Estudo e toco Guitarra. Apenas a primeira letra maiúscula: Trabalho, estudo e toco guitarra. |
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o arco cosseno de um número em Python usando o método acos() do módulo mathQuantidade de visualizações: 3436 vezes |
O arco cosseno, (também chamado de cosseno inverso) pode ser representado por cos-1 x, arccos x ou acos x. Esta função é a inversa do cosseno, ou seja, se o cosseno é a relação entre o cateto adjacente ao ângulo e a hipotenusa, o arco cosseno parte desta relação para encontrar o valor do ângulo. Em Python, o arco cosseno de um número pode ser obtido por meio do método acos() da classe Math. Este método recebe um valor double e retorna também um double, na faixa 0 <= x <= PI, onde PI vale 3.1416. Veja um código Python completo no qual informamos um número e em seguida calculamos o seu arco-cosseno: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar o módulo Math import math as math def main(): numero = 0.5 print("O arco cosseno de %f é %f" % (numero, math.acos(numero))) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: O arco cosseno de 0.500000 é 1.047198 Não se esqueça de que as funções trigonométricas são usadas para modelar o movimento das ondas e fenômenos periódicos, como padrões sazonais. Elas formam a base para análises avançadas em engenharia elétrica, processamento digital de imagem, radiografia, termodinâmica, telecomunicações e muitos outros campos da ciência e da tecnologia. |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Python para iniciantes - Como contar de 0 a 10 usando o laço for da linguagem PythonQuantidade de visualizações: 10612 vezes |
Nesta dica veremos como usar o loop for da linguagem Python para contar de 0 até 10. É um exemplo bem simples, mas serve para nos lembrar da sintáxe dessa construção. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): for i in range(11): print(i, end = " ") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Python - Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menorQuantidade de visualizações: 1805 vezes |
Algoritmos Resolvidos de Python - Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor Pergunta/Tarefa: Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor que R$ 20,00; caso contrário, o lucro será de 30%. Elabore um algoritmo que leia o valor do produto e imprima o valor de venda para o produto. Sua saída deverá ser parecida com: Informe o valor do produto: 85 O valor de venda é: 110.5 Veja a resolução comentada deste exercício usando Python: Código para principal.py: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # método principal def main(): # valor ler o valor do produto valor = float(input("Informe o valor do produto: ")) # vamos calcular o valor de venda if valor < 20: valor_venda = valor + (valor * (45.0 / 100)) else: valor_venda = valor + (valor * (30.0 / 100)) print("O valor de venda é: {0}".format(valor_venda)) if __name__== "__main__": main() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Pandas Python Library |
Exercício Resolvido de Python Pandas - Como testar se um DataFrame do Pandas possui algum valor não informadoQuantidade de visualizações: 735 vezes |
Pergunta/Tarefa: Dado o seguinte arquivo CSV (carros.csv): Marca;Modelo;Ano;Valor;Vendido Fiat;Sienna;2010;23500.00;S Volkswagen;Polo;2009;31453.00;N Volkswagen;;2001;19200.00;S Fiat;Palio;1995;7500.00;S Honda;Civic;;42000.00;S Renault;Sandero;2010;52000.00;N Escreva um programa Python Pandas que carrega este arquivo .csv em um DataFrame, exiba o seu conteúdo e informe se o DataFrame contém algum valor não informado para qualquer uma das colunas. Analisando o arquivo vemos que há dois valores ausentes: o modelo do veículo na quarta linha e o ano do veículo na sexta linha. Sua saída deverá ser parecida com: Os dados do DataFrame são: Marca Modelo Ano Valor Vendido 0 Fiat Sienna 2010.0 23500.0 S 1 Volkswagen Polo 2009.0 31453.0 N 2 Volkswagen NaN 2001.0 19200.0 S 3 Fiat Palio 1995.0 7500.0 S 4 Honda Civic NaN 42000.0 S 5 Renault Sandero 2010.0 52000.0 N Há valores ausentes no DataFrame Veja a resolução comentada deste exercício em Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # importamos a biblioteca Pandas import pandas as pd def main(): # vamos carregar os dados do arquivo .csv df = pd.read_csv("C:\\estudos_python\\carros.csv", delimiter=";") # vamos mostrar o DataFrame resultante print("Os dados do DataFrame são:\n") print(df) # vamos testar se existe algum valor ausenta em alguma # das colunas do DataFrame if df.isnull().values.any(): print("\nHá valores ausentes no DataFrame") else: print("\nNão existe valores ausentes no DataFrame") if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string é composta apenas de caracteres maiúsculos usando a função isupper() do PythonQuantidade de visualizações: 9067 vezes |
Este exemplo mostra como usar a função isupper() do objeto string da linguagem Python para verificar se uma palavra, frase ou texto contém apenas caracteres maiúsculos. Se qualquer caractere minúsculo for encontrado, a função retorna false. Obs: Mesmo que a string contenha números ela ainda pode estar em letras maiúsculas. Veja um código Python completo exemplificando seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): string = "GOSTO DE PYTHON E JAVA" if string.isupper(): print("A string está em letras maiúsculas") else: print("A string não está em letras maiúsculas") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A string está em letras maiúsculas |
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: 368 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 para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # 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 ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Python - Escreva um programa Python que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor BQuantidade de visualizações: 334 vezes |
Pergunta/Tarefa: Escreva um programa Python que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor B com seus elementos distribuídos da seguinte forma: Vetor A = [8, 5, 4, 1, 2, 3, 4, 6, 9, 7] Vetor B = [24, 10, 12, 2, 6, 6, 12, 12, 27, 14] Note que os elementos do vetor B seguem um padrão. Se o elemento do vetor A estiver em uma posição par, então o elemento do vetor B será o triplo do elemento do vetor A. Caso contrário o elemento do vetor B será o dobro do elemento do vetor A. Neste exercício a primeira posição/índice dos vetores é assumida como sendo zero. Em algumas linguagens de programação o primeiro índice é um e não zero. Sua saída deverá ser parecida com: Informe o valor do 1.o elemento: 8 Informe o valor do 2.o elemento: 5 Informe o valor do 3.o elemento: 4 Informe o valor do 4.o elemento: 1 Informe o valor do 5.o elemento: 2 Informe o valor do 6.o elemento: 3 Informe o valor do 7.o elemento: 4 Informe o valor do 8.o elemento: 6 Informe o valor do 9.o elemento: 9 Informe o valor do 10.o elemento: 7 Elementos do vetor A: 8, 5, 4, 1, 2, 3, 4, 6, 9, 7 Elementos do vetor B: 24, 10, 12, 2, 6, 6, 12, 12, 27, 14 Veja a resolução comentada deste exercício em Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # vamos declarar e construir dois vetores de 10 inteiros vetor_a = [0 for x in range(10)] vetor_b = [0 for x in range(10)] # agora vamos pedir para o usuário informar os valores # dos elementos do vetor A for i in range(len(vetor_a)): vetor_a[i] = int(input("Valor do %d.o elemento: " % ((i + 1)))) # vamos construir o vetor B for i in range(len(vetor_b)): # o índice atual é par? if i % 2 == 0: vetor_b[i] = vetor_a[i] * 3 else: vetor_b[i] = vetor_a[i] * 2 # vamos mostrar os elementos do vetor A print("\nElementos do vetor A:\n") for i in range(len(vetor_a)): print("%d, " % vetor_a[i], end=' ') # vamos mostrar os elementos do vetor B print("\n\nElementos do vetor B:\n") for i in range(len(vetor_b)): print("%d, " % vetor_b[i], end=' ') if __name__== "__main__": main() |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética profissional, social, política Para Aristóteles, a base da ética é a justiça: "Essa forma de justiça (geral) é, portanto, uma virtude completa e governa nossas relações com os outros; por isso, muitas vezes, a justiça é considerada a virtude mais perfeita e nem a estrela vespertina, nem a estrela matutina é mais admirada que ela. Daí o provérbio: a justiça encerra toda a virtude" (ARISTÓTELES apud AUTOR, 1987, p. 93). A respeito do exposto, assinale a alternativa correta: A) A justiça é o que torna a ética tanto individual quanto social. B) A ética não depende das relações sociais para existir. C) A justiça deve ser ajustada e deliberada pela ética. D) A justiça se realiza na moral, e não nas leis do Estado. E) A justiça fundamenta os preceitos morais de convivência em sociedade. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações O dimensionamento de uma seção transversal de um elemento linear concreto armado, sujeito a solicitações normais, de acordo com a NBR 6118 - "Projeto de estruturas de concreto" - é realizado com base em hipóteses básicas. A respeito dessas hipóteses, analise as informações a seguir, indicando V para as verdadeiras e F para as falsas: ( ) A distribuição das deformações ocorre de forma não linear ao longo da altura da seção. ( ) As deformações nas barras de armadura são idênticas às deformações do concreto que as envolve. ( ) Admite-se que todas as tensões de tração existentes serão resistidas pelo concreto e pela armadura. ( ) Adota-se o diagrama parábola-retângulo idealizado para o concreto comprimido. Assinale a alternativa que contém a sequência correta: A) V - V - F - F. B) V - F - F - F. C) F - V - F - V. D) F - V - V - V. E) V - F - F - V. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética, Legislação e Entidades que regulamentam a profissão Você estudou sobre a aplicação do método de solução de problemas de engenharia para fins de análise e solução de dilemas éticos na profissão. Com base nessa ferramenta, as alternativas abaixo apresentam etapas de análise e solução de problemas éticos, exceto: A) Definição do problema e determinação dos objetivos. B) Identificação de soluções alternativas e de restrições. C) Escolha de uma solução e testes de potenciais impactos da solução. D) Negociação e aprovação da solução pelo ente envolvido, a fim de evitar atritos. E) Documentação e comunicação da solução. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
(TRE-MT - Analista Judiciário - Engenharia Civil) Em hidráulica, no que diz respeito à classificação dos escoamentos quanto à direção na trejetória das partículas, o escoamento pode ser A) forçado. B) laminar. C) permanente. D) livre. E) transitório. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?palavra = "FACULDADE" resultado = palavra[0:len(palavra):2] print(resultado) A) EALCF B) FACULDADE C) FA D) DADE E) FCLAE Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
C# - Como retornar o tamanho do texto de um TextBox em C# Windows Forms usando a propriedade TextLength |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |