Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios e Algorítmos Resolvidos de Java - Programa Java para somar os elementos da diagonal secundária de uma matriz

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

Em álgebra linear, a diagonal secundária de uma matriz A é a coleção das entradas Aij em que i + j é igual a n + 1 (onde n é a ordem da matriz). A diagonal secundária de uma matriz quadrada une o seu canto inferior esquerdo ao canto superior direito (conforme mostrado na saída do problema proposto abaixo).

Escreva um programa (algorítmo) Java que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal secundária.

Sua saída deverá ser parecida com a imagem abaixo:

Informe o valor para a linha 0 e coluna 0: 5
Informe o valor para a linha 0 e coluna 1: 2
Informe o valor para a linha 0 e coluna 2: 7
Informe o valor para a linha 1 e coluna 0: 5
Informe o valor para a linha 1 e coluna 1: 3
Informe o valor para a linha 1 e coluna 2: 12
Informe o valor para a linha 2 e coluna 0: 4
Informe o valor para a linha 2 e coluna 1: 10
Informe o valor para a linha 2 e coluna 2: 1

    5     2     7 
    5     3    12 
    4    10     1 

A soma dos elementos da diagonal secundária é: 14
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package exercicios;

import java.util.Scanner;

public class Exercicios {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos declarar e construir uma matriz de três linhas e
    // três colunas
    int matriz[][] = new int[3][3];
    int soma_diagonal = 0; // guarda a soma dos elementos na
    // diagonal secundária
    
    // vamos ler os valores para os elementos da matriz
    for(int i = 0; i < matriz.length; i++){ // linhas
      for(int j = 0; j < matriz[0].length; j++){ // colunas
        System.out.print("Informe o valor para a linha " + i 
          + " e coluna " + j + ": ");
        matriz[i][j] = Integer.parseInt(entrada.nextLine());       
      }       
    }
    
    // vamos mostrar a matriz da forma que ela foi informada
    System.out.println();
    for(int i = 0; i < matriz.length; i++){ // percorre as linhas
      for(int j = 0; j < matriz[0].length; j++){ // percorre as colunas
        System.out.printf("%5d ", matriz[i][j]);
      }
      // passa para a próxima linha da matriz
      System.out.println();
    }
    
    // vamos calcular a soma dos elementos da diagonal secundária
    int ordem = 3; // ordem da matriz
    for(int i = 1; i <= matriz.length; i++){
    for(int j = 1; j <= matriz[0].length; j++){
      if((i + j) == (ordem + 1)){
        soma_diagonal = soma_diagonal + matriz[i - 1][j - 1];
      }
    }
  }
    
    // finalmente mostramos a soma da diagonal secundária
    System.out.println("\nA soma dos elementos da diagonal secundária é: " + 
     soma_diagonal);
  }
}



JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle

JavaScript para iniciantes - Como testar condições em JavaScript usando if e if..else

Quantidade de visualizações: 10412 vezes
As estruturas if (se) e if..else (se..senão) da linguagem JavaScript são muito usadas quando queremos testar condições em nossos códigos e, dependendo do resultado do teste, efetuar desvios na execução das instruções. Veja a sintáxe do if:

if(condição){
  // instrução ou conjunto de instruções
}

A condição é qualquer teste que resulte em um valor boolean (true ou false). Veja, por exemplo, como podemos verificar se um valor é maior que 10:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var valor = 15;

  // vamos testar se o valor é maior que 10
  if(valor > 10){
    document.write("O valor é maior que 10.");
  }  
</script>

</body>
</html>

Ao executarmos este código, o texto "O valor é maior que 10." será exibido na tela. Porém, também gostaríamos de exibir uma mensagem caso o valor não for maior que 10. Para isso podemos usar a cláusula else. Veja:

<script type="text/javascript">
  var valor = 5;

  // vamos testar se o valor é maior que 10
  if(valor > 10){
    document.write("O valor é maior que 10.");
  }
  else{
    document.write("O valor NÃO é maior que 10.");
  }  
</script>

Ao executarmos o exemplo novamente, o texto "O valor NÃO é maior que 10." será exibido. Isso aconteceu porque, ao não satisfazer a condição do if, o fluxo de código caiu na cláusula else.

Há algumas situações nas quais precisamos testar muitas condições ao mesmo tempo. Assim, além do if e else podemos empregar também a cláusula else if (senão se). Veja um exemplo no qual expandimos o exemplo anterior para testar se o valor é maior, menor ou igual a 10:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var valor = 5;

  // vamos testar se o valor é maior, menor ou igual a 10
  if(valor > 10){
    document.write("O valor é maior que 10.");
  }
  else if(valor < 10){
    document.write("O valor é menor que 10.");
  }
  else{
    document.write("O valor é igual a 10.");
  }  
</script>

</body>
</html>

Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6.


JavaScript ::: Dicas & Truques ::: Matemática e Estatística

Como elevar uma base a um determinado expoente usando o método pow() do objeto Math do JavaScript

Quantidade de visualizações: 24880 vezes
Em algumas situações nós precisamos efetuar cálculos de potenciação em JavaScript, ou seja, elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:



Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125.

A linguagem JavaScript nos fornece o método pow(), como parte do objeto Math, que recebe como argumentos a base e o expoente e nos retorna a potência. Veja um exemplo de seu uso no código abaixo:

<!doctype html>
<html>
<head>
 <title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var base = 4;
  var expoente = 5;
  var potencia = Math.pow(4, 5);
  document.write("A base " + base + " elevada ao expoente "
    + expoente + " é igual à potência " + potencia);
</script>

</body>
</html>

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

A base 4 elevada ao expoente 5 é igual a potencia 1024


C# ::: Dicas & Truques ::: Tipos de Dados

Curso de C# - Como usar os tipos de dados short e ushort da linguagem C#

Quantidade de visualizações: 9355 vezes
O tipo de dados short é um tipo primitivo integral com sinal (signed) que pode armazenar valores inteiros na faixa de -32.768 até 32.767. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.Int16 da plataforma .NET.

Podemos obter os valores mínimo e máximo que podem ser armazenados em um short por meio de suas propriedades MinValue e MaxValue. Veja:

static void Main(string[] args){
  // vamos obter o valor mínimo de um short
  short minimo = short.MinValue;

  // vamos obter o valor máximo de um short
  short maximo = short.MaxValue;
  
  // vamos mostrar o resultado
  Console.WriteLine("A faixa de valores de um short é: " + minimo +
    " até " + maximo);

  // vamos pausar a execução
  Console.ReadKey();
}

Ao executarmos este código teremos o seguinte resultado:

A faixa de valores de um short é: -32768 até 32767.

Ao atribuir valores para um short em tempo de design, ou seja, como um literal, devemos ter o cuidado de não atribuir valores que estejam fora da faixa permitida. Veja:

static void Main(string[] args){
  // a linha abaixo não vai compilar
  short valor = 35767;

  // vamos pausar a execução
  Console.ReadKey();
}

Este código não compila. A mensagem de erro:

Constant value '35767' cannot be converted to a 'short'

nos informa que o valor 35767 (que está acima da faixa permitida) não pode ser convertido para um short. Assim, se você desejar mesmo efetuar tal procedimento, uma conversão forçada (cast) deve ser feita:

static void Main(string[] args){
  int valor = 35767;

  // vamos forçar a conversão para short
  short valor2 = (short)valor;
 
  // vamos mostrar o resultado
  Console.WriteLine("Valor após o cast: " + valor2);

  // vamos pausar a execução
  Console.ReadKey();
}

Aqui nós "esprememos" o valor 35767 para um short e o resultado, -29769, definitivamente não é o que estávamos esperando.

O tipo ushort é um tipo primitivo integral sem sinal (unsigned) que pode armazenar valores inteiros na faixa de 0 até 65.535. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.UInt16 da plataforma .NET.

Podemos obter os valores mínimo e máximo que podem ser armazenados em um ushort por meio de suas propriedades MinValue e MaxValue. Veja:

static void Main(string[] args){
  // vamos obter o valor mínimo de um ushort
  ushort minimo = ushort.MinValue;

  // vamos obter o valor máximo de um ushort
  ushort maximo = ushort.MaxValue;
  
  // vamos mostrar o resultado
  Console.WriteLine("A faixa de valores de um ushort é: " + minimo +
    " até " + maximo);

  // vamos pausar a execução
  Console.ReadKey();
}

Ao executarmos este código teremos o seguinte resultado:

A faixa de valores de um ushort é: 0 até 65535.


PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como usar a função array_unique() do PHP para remover elementos duplicados de um vetor - Removendo elementos repetidos de um array PHP

Quantidade de visualizações: 18626 vezes
Em algumas situações nossos códigos precisam remover os elementos duplicados em um array (vetor) PHP. Isso pode ser feito por meio do uso da função array_unique(). Esta função recebe um array e retorna um outro array com os elementos duplicados removidos. Veja um exemplo:

<?php
  // vamos declarar e inicializar um vetor de inteiros
  $valores = array(43, 2, 6, 11, 98, 6, 3, 6);
 
  // vamos exibir os valores do vetor
  echo "Com elementos duplicados:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
 
  // vamos remover os elementos duplicados
  $valores = array_unique($valores);
   
  // vamos exibir os valores do vetor novamente
  echo "<br><br>Sem elementos duplicados:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
?>

Ao executarmos este código teremos o seguinte resultado:

Com elementos duplicados:
43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 
 
Sem elementos duplicados:
43 - 2 - 6 - 11 - 98 - 3 -


Note que a função array_unique() remove APENAS os valores dos elementos duplicados, ou seja, as chaves ou índices são mantidos. Isso pode ser visto no trecho de código a seguir:

<?php
  // vamos declarar e inicializar um vetor de inteiros
  $valores = array(43, 2, 6, 11, 98, 6, 3, 6);
 
  // vamos listar os valores dos elementos no vetor
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }
 
  // vamos remover os elementos duplicados
  $valores = array_unique($valores);
   
  // vamos listar os valores no vetor novamente
  echo "<br><br>";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }
?>

Este código resultará em:

43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 
 
43 - 2 - 6 - 11 - 98 - -


Note que a última iteração do laço deveria alcançar o valor 3. Em vez disso o laço imprimiu um valor não definido no índice 5. Esta dica foi escrita no PHP 5.2.10. Vamos torcer para que as versões mais recentes não apresentem este comportamento. Enquanto isso EVITE usar o laço for com vetores resultantes de uma chamada à função array_unique(). Use o laço foreach().


GNU Octave ::: GNU Octave para Engenharia ::: Cálculo Diferencial e Integral

Como calcular a derivada de uma função usando a função diff() do GNU Octave - Regra do Tombo (ou Regra da Potência)

Quantidade de visualizações: 3774 vezes
No cálculo, a derivada em um ponto de uma função y = f(x) representa a taxa de variação instantânea de y em relação a x neste ponto.

Um exemplo típico é a função velocidade que representa a taxa de variação (derivada) da função espaço. Do mesmo modo, a função aceleração é a derivada da função velocidade.

Geometricamente, a derivada no ponto x = a de y = f(x) representa a inclinação da reta tangente ao gráfico desta função no ponto (a,~f(a)). A função que a cada ponto x associa a derivada neste ponto de f(x) é chamada de função derivada de f(x). [Citação da Wikipédia]

Nesta dica mostrarei como podemos usar a função diff() do GNU Octave para calcular a derivada de uma função usando a Regra do Tombo ou, mais formalmente, a Regra da Potência.

Dada uma função:



A Regra do Tombo pede que o n desça e multiplique o x, que agora estará elevado a n - 1. Vamos ver um exemplo então? Observe como a derivada de f(x) = x5 é calculada na imagem a seguir:



Veja agora como podemos fazer este cálculo em GNU Octave. Para isso, abra a janela de comandos e dispare as linhas a seguir:

>> pkg load symbolic [ENTER]
>> syms x [ENTER]
>> f = x ** 5 [ENTER]
f = (sym)

   5
  x

>> diff(f, x) [ENTER]
ans = (sym)

     4
  5*x

>>

É possível que, após o comando "syms x" você veja algumas mensagens de aviso relacionadas à sua versão instalada do Python. Não se preocupe, pois esses avisos não interferem na funcionalidade da função diff().


JavaScript ::: Dicas & Truques ::: Miscelâneas

Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou impar

Quantidade de visualizações: 7600 vezes
Nesta dica mostrarei como é possível adicionar uma função isPar() ao objeto Number da linguagem JavaScript por meio do objeto prototype. Nossa função aceitará um valor numérico e retornará true se o valor for par, e false em caso contrário.

Veja o código completo para o exemplo:

<html>
<head>
  <title>Estudos JavaScript</title>
</head>
 
<body>

<script type="text/javascript">
  // vamos adicionar uma nova função ao objeto Number
  Number.prototype.isPar = function(){
    // retorna true se o número for par
    return (this % 2 == 0);
  }

  // agora vamos testar a nova função isPar()
  var numero = 13; // declara um valor numérico

  // vamos verificar se o número é par ou ímpar
  if(numero.isPar()){
    document.write("O número informado é par.");
  }
  else{
    document.write("O número informado NÃO é par.");
  }
</script>

</body>
</html>

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

O número informado NÃO é par.


Java ::: Pacote java.lang ::: String

Java Avançado - Como usar o método getBytes() da classe String para obter uma sequência de valores do tipo byte

Quantidade de visualizações: 8688 vezes
Em algumas situações gostaríamos de obter os caracteres de uma string como uma representação de inteiros em bytes. Para isso podemos usar o método getBytes(). Veja sua assinatura:

public byte[] getBytes()
Este método é chamado em uma instância da classe String e seu retorno é um array (matriz) do tipo byte. Veja um exemplo:

public class Main {
  public static void main(String[] args) {
    // vamos declarar um objeto da classe String
    String palavra = "Arquivo";
	
    // vamos obter os bytes usados na palavra anterior
    byte bytes[] = palavra.getBytes();

    // vamos percorrer a matriz de bytes e mostrá-los individualmente
    for(int i = 0; i < bytes.length; i++){
       System.out.print(bytes[i] + "   ");
    }
  }
}

Ao executarmos este código teremos o seguinte resultado:

65 114 113 117 105 118 111

De fato, o valor 65 é o código inteiro para o caractere "A". É importante observar que alguns caracteres não cabem em um byte (que possui o valor 127 como maior valor inteiro). Isso resulta na conversão para valores negativos.

Há outras duas sobrecargas do método getBytes() da classe String. A primeira:

byte[] getBytes(Charset charset)
nos permite especificar o conjunto de caracteres a ser usado na conversão como um objeto da classe Charset. A segunda:

byte[] getBytes(String charsetName)
nos permite especificar o nome do conjunto de caracteres como uma String.


PHP ::: Dicas & Truques ::: Strings e Caracteres

PHP para iniciantes - Como obter o comprimento (tamanho) de uma string usando a função strlen() do PHP

Quantidade de visualizações: 310 vezes
Nesta dica eu mostro como é possível usar a função strlen() da linguagem PHP para contar, ou seja, obter a quantidade de caracteres em uma palavra, frase ou texto.

Veja o código completo a seguir:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  // obtém o comprimento (tamanho) de uma string
  $string = "Bom dia";
  echo "Esta string possui " . strlen($string) . 
    " caracteres";
?>
 
</body>
</html>

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

Esta string possui 7 caracteres


C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar o tamanho de um array em C# usando a propriedade Length

Quantidade de visualizações: 8197 vezes
Nesta dica mostrarei como saber a quantidade de elementos em um vetor do C# usando a sua propriedade Length. Por quantidade de elementos nós estamos falando do tamanho do array.

Veja o código C# completo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // cria e inicializa um array de strings
      string[] cidades = {"Goiânia", "São Paulo",
        "Rio de Janeiro", "Curitiba"};

      // obtém a quantidade de elementos no array
      int quant = cidades.Length;
      Console.WriteLine("Este array possui {0} elementos.", quant);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

Este array possui 4 elementos.

Carregar Publicações Anteriores


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 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
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

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 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 Apenas R$ 32,90


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