Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em Python

Quantidade de visualizações: 4002 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Python. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Python.

Veja um trecho de código Python completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

def main():
  # vamos declarar e construir uma matriz de três linhas
  # e três colunas
  linhas, colunas = (3, 3)
  matriz = [[0 for x in range(linhas)] for y in range(colunas)]
  soma_diagonal = 0 # guarda a soma dos elementos na diagonal
  # principal

  # vamos ler os elementos da matriz
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      matriz[i][j] = int(input("Informe o valor para a linha " + str(i) 
        + " e coluna " + str(j) + ": "))

  print()
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()

  # vamos calcular a soma dos elementos da diagonal   
  # principal
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      if i == j:
        soma_diagonal = soma_diagonal + matriz[i][j]

  # finalmente mostramos a soma da diagonal principal
  print("\nA soma dos elementos da diagonal principal é: %d" %
    soma_diagonal)  

if __name__== "__main__":
  main()

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

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

3  7  9  
2  4  1  
5  6  8  

A soma dos elementos da diagonal principal é: 15



JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string termina com uma determinada substring em JavaScript usando a função endsWith()

Quantidade de visualizações: 2139 vezes
O método endsWith() da linguagem JavaScript foi adicionado ao objeto String na revisão ECMAScript 2015, ou ES6, também chamado de ECMAScript 6.

Este método é chamado diretamente em uma variável do tipo string e retorna true se a palavra, frase ou texto terminar com uma substring específica e false em caso contrário.

Veja um exemplo no qual verificamos se uma frase termina com a palavra "JavaScript":

<!doctype html>
<html>
<head>
  <title>JavaScript 6</title>
</head>
 
<body>
 
<script type="text/javascript">
  var frase = "Eu prefiro programar em JavaScript";
  
  if(frase.endsWith("JavaScript")){
    document.writeln("A frase termina com a palavra JavaScript");  
  }
  else{
    document.writeln("A frase não termina com a palavra JavaScript");  
  }
</script>
 
</body>
</html>


Ao executarmos este código JavaScript nós teremos o seguinte resultado:

A frase termina com a palavra JavaScript

É importante ter em mente que a função endsWith() diferencia letras maiúsculas de letras minúsculas.


Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como ler o conteúdo de um arquivo texto em Java usando as classes BufferedReader, FileReader e a função readLine()

Quantidade de visualizações: 1 vezes
Nesta dica mostrarei como podemos combinar as classes BufferedReader, FileReader e a função readLine() para ler o conteúdo de um arquivo texto em Java, uma linha de cada vez.

Veja o código completo para o exemplo:

package estudos;

import java.io.*;

public class Estudos {
  public static void main(String[] args) {
    try {
      BufferedReader in = new BufferedReader(
        new FileReader("c:\\estudos_java\\alunos.txt"));
      String linha;
      while((linha = in.readLine()) != null){
        System.out.println(linha);
      }
      in.close();
    } 
    catch (IOException e){
      System.out.println("Houve um erro: " + e.getMessage());
    }

    System.out.println();
  }
}

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

Alberto
Maria
Fernanda
Josias


Java ::: Tratamento de Erros ::: Erros de Tempo de Execução

Como tratar o erro IndexOutOfBoundsException do Java - A exceção IndexOutOfBoundsException da linguagem Java

Quantidade de visualizações: 18067 vezes
A exceção IndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de elementos em um vetor, matriz, string ou demais coleções. Lembre-se de que os índices em Java começam em 0 e vão até a quantidade de elementos menos 1.

Antes de vermos os exemplos, observe a posição da classe pública IndexOutOfBoundsException na hierarquia de classes da plataforma Java:

java.lang.Object
  java.lang.Throwable
    java.lang.Exception
      java.lang.RuntimeException
        java.lang.IndexOutOfBoundsException


Esta classe implementa a interface Serializable e possui duas sub-classes conhecidas: ArrayIndexOutOfBoundsException e StringIndexOutOfBoundsException.

Veja um exemplo no qual tentamos acessar um elemento de um vetor usando um índice inválido:

public class Estudos{
  public static void main(String args[]){
    // um array de quatro elementos
    int[] valores = {5, 23, 76, 3};     

    // vamos fornecer um índice inválido
    System.out.println(valores[4]); 

    System.exit(0);
  }
}

Este código compila normalmente. Porém, ao tentarmos executá-lo, temos a seguinte mensagem de erro:

Exception in thread "main" 
java.lang.ArrayIndexOutOfBoundsException: 4
  at Estudos.main(Estudos.java:7)

A forma mais adequada de corrigir este erro é fornecendo um valor de índice que realmente esteja na faixa permitida. Veja agora o mesmo trecho de código usando uma string:

public class Estudos{
  public static void main(String args[]){
    String nome = "Java";     

    // vamos fornecer um índice inválido
    System.out.println(nome.charAt(4)); 

    System.exit(0);
  }
}

Compile este código e execute-o. Você verá a seguinte mensagem de erro:

Exception in thread "main" 
java.lang.StringIndexOutOfBoundsException: String 
index out of range: 4
  at java.lang.String.charAt(Unknown Source)
  at Estudos.main(Estudos.java:6)

Vamos fazer o mesmo usando uma ArrayList:

import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();
    
    // adiciona itens na lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");    
	
    // fornecemos um índica inválido
    String nome = nomes.get(4);

    System.out.println("O valor obtido foi: " + nome); 

    System.exit(0);
  }
}

Compile, execute e veja a mensagem de erro:

Exception in thread "main" 
java.lang.IndexOutOfBoundsException: Index: 4, 
Size: 4
  at java.util.ArrayList.RangeCheck(Unknown Source)
  at java.util.ArrayList.get(Unknown Source)
  at Estudos.main(Estudos.java:15)

Veja que no caso do vetor, a exceção lançada foi ArrayIndexOutOfBoundsException, no caso da string a exceção foi StringIndexOutOfBoundsException e no caso do ArrayList tivemos IndexOutOfBoundsException. Resolvemos abordar estas três exceções em apenas uma anotação para que você perceba a semelhança entre elas.


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


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