Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
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
Java ::: Coleções (Collections) ::: ArrayList

Como testar se um valor está contido em uma ArrayList do Java usando a função contains()

Quantidade de visualizações: 19618 vezes
Em algumas situações nós queremos verificar se um determinado valor está contido em um dos elementos da ArrayList. Para isso nós podemos usar o método contains(), que retorna true se o valor existir e false em caso contrário.

Veja um exemplo de seu uso:

package estudos_java;

import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá inteiros
    ArrayList<Integer> valores = new ArrayList<>();
    
    // adiciona itens na lista
    valores.add(34);
    valores.add(12);
    valores.add(8);
    valores.add(23);
    	
    // Verifica se um determinado 
    if(valores.contains(12)){
      System.out.println("O valor foi encontrado.");
    }
    else{
      System.out.println("O valor não foi encontrado.");
    } 

    System.exit(0);
  }
}

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

O valor pesquisado foi encontrado.


C++ ::: C++ para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em C++

Quantidade de visualizações: 1615 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 C++. 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 C++.

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

#include <iostream>
#include <cstdlib>
   
using namespace std;
   
int main(int argc, char *argv[]){
  // vamos declarar e construir uma matriz de três linhas
  // e três colunas
  int linhas = 3, colunas = 3;
  int matriz[linhas][colunas];
  // guarda a soma dos elementos na diagonal principal
  int soma_diagonal = 0;
    
  // vamos ler os valores para os elementos da matriz
  for(int i = 0; i < linhas; i++){ // linhas
    for(int j = 0; j < colunas; j++){ // colunas
      cout << "Informe o valor para a linha " << i <<
	" e coluna " << j << ": "; 
      cin >> matriz[i][j];       
    }       
  }
     
  // vamos mostrar a matriz da forma que ela
  // foi informada
  cout << "\n";
  // percorre as linhas
  for(int i = 0; i < linhas; i++){ 
    // percorre as colunas
    for(int j = 0; j < colunas; j++){ 
      cout << matriz[i][j] << "   ";
    }
    // passa para a próxima linha da matriz
    cout << "\n";
  }
     
  // vamos calcular a soma dos elementos da diagonal   
  // principal
  for(int i = 0; i < linhas; i++){
    for(int j = 0; j < colunas; j++){
      if(i == j){
        soma_diagonal = soma_diagonal + matriz[i][j];
      }
    }
  }
     
  // finalmente mostramos a soma da diagonal principal
  cout << "\nA soma dos elementos da diagonal principal é: " 
    << soma_diagonal << "\n\n";
       
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este código C++ 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



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

Exercícios Resolvidos de Java - Como retornar o maior elemento em cada uma das colunas de uma matriz usando Java

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

Dada a seguinte matriz:

6   10   4
2    9   7
20   3   1
Escreva um programa Java que exibe o maior elemento em cada uma das colunas dessa matriz.

Sua saída deverá ser parecida com:

Maior elemento na coluna 0 é 20
Maior elemento na coluna 1 é 10
Maior elemento na coluna 2 é 7
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos declarar e constuir uma matriz de 3 linhas e três colunas
    int matriz[][] = {{6, 10, 4}, {2, 9, 7}, {20, 3, 1}};
    
    // vamos percorrer a matriz e exibir o maior elemento de cada coluna
    // começamos com cada coluna
    for(int i = 0; i < matriz[0].length; i++){
      // assumimos que o maior valor é o primeiro dessa coluna
      int maior = matriz[0][i];
      // percorremos todos os elementos desta linha
      for(int j = 0; j < matriz.length; j++){
        // o elemento atual é maior que o maior?
        if(matriz[j][i] > maior){
          // maior assume o valor atual
          maior = matriz[j][i];
        }
      }
      
      // exibimos o maior elemento desta coluna
      System.out.println("Maior elemento na coluna " + i + " é " + maior);
    }
  }
}



PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle

Apostila PHP para iniciantes - Como testar múltiplas condições usando a construção if...elseif...else da linguagem PHP

Quantidade de visualizações: 9851 vezes
A construção if...else (se...do contrário) pode ser extendida com o uso de elseif para testar múltiplas condições. Desta forma, você pode ter quantos blocos elseif (ou então se) você desejar. Veja o trecho de código a seguir:

<?php
  $valor = 20;
  
  if($valor == 15){
    echo "O valor é igual à 15";
  }
  elseif($valor > 15){
    echo "O valor é maior que 15";
  }
  else{
    echo "O valor é menor que 15";
  }
?>

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

O valor é maior que 15


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

Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C - Geometria Analítica e Álgebra Linear usando C

Quantidade de visualizações: 4411 vezes
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0).

Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2:

\[\vec{v} = \left(7, 6\right)\]

Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D:



Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9.

Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6).

Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras:

\[a^2 = b^2 + c^2\]

Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira:

\[a = \sqrt{b^2 + c^2}\]

Passando para os valores x e y que já temos:

\[a = \sqrt{7^2 + 6^2}\]

Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final:

\[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\]

E aqui está o código C que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
  
int main(int argc, char *argv[]){
  float x, y, norma;
  // vamos ler os valores x e y
  printf("Informe o valor de x: ");
  scanf("%f", &x);
  printf("Informe o valor de y: ");
  scanf("%f", &y);
  
  // vamos calcular a norma do vetor
  norma = sqrt(pow(x, 2) + pow(y, 2));
    
  // mostra o resultado
  printf("A norma do vetor é: %f", norma);
 
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Informe o valor de x: 7
Informe o valor de y: 6
A norma do vetor é: 9.219544457292887

Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo.


C# ::: Dicas & Truques ::: Arquivos e Diretórios

Como renomear ou mover arquivos em C# usando a função Move() da classe File

Quantidade de visualizações: 16575 vezes
O método Move() da classe File é útil quando precisamos renomear ou mover arquivos. Este método recebe os caminhos e nomes antigo e novo do arquivo a ser renomeado ou movido de diretório. Veja um trecho de código no qual mostramos como renomear um arquivo texto (sem movê-lo para um diretório diferente):

static void Main(string[] args){
  // não esqueça
  // using System.IO;
  
  // caminho e nome atual do arquivo
  string antigo = "C:\\estudos_csharp\\arquivo.txt";
  
  // caminho e novo nome do arquivo
  string novo = "C:\\estudos_csharp\\arquivo2.txt";

  // vamos renomear o arquivo
  File.Move(antigo, novo);
  Console.WriteLine("Arquivo renomeado com sucesso.");

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



PHP ::: Dicas & Truques ::: Variáveis e Constantes

Como testar se uma variável ou constante é do tipo integer - Como usar as funções is_int() e is_integer() do PHP

Quantidade de visualizações: 9631 vezes
Em algumas situações precisamos verificar se uma determinada ou constante é do tipo integer, ou seja, possui um valor inteiro, sem casas decimais. Isso pode ser feito por meio das funções is_int() e is_integer(). Elas retornam um valor true se o arguemento for um inteiro e false em caso contrário.

Veja um exemplo completo de como usá-las:

<?php
/*
  Em algumas situações podemos querer saber se
  o tipo de uma variável é integer, ou seja,
  contém um valor inteiro (sem casas decimais).
 
  Este teste pode ser feito com o auxílio da
  função is_int() ou is_integer(). Esta função 
  retorna um valor true ou false dependendendo do 
  tipo de variável sendo testada.    
  */ 
 
  $valor = 10;
 
  if(is_int($valor)){
    echo 'A variável $valor é do tipo integer';
  }
?>

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

A variável $valor é do tipo integer

Esta dica foi revisada, atualizada e testada com o PHP 8.


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: 2788 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():

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

# 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().


VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de VisuAlg - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

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

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa VisuAlg que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

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

algoritmo "Testar o tipo de um triângulo em VisuAlg"

var
  // variáveis usadas na resolução do problema
  lado_a, lado_b, lado_c: inteiro

inicio
  // vamos ler o primeiro lado do triângulo
  escreva("Informe o primeiro lado do triângulo: ")
  leia(lado_a)

  // vamos ler o segundo lado do triângulo
  escreva("Informe o segundo lado do triângulo: ")
  leia(lado_b)

  // vamos ler o terceiro lado do triângulo
  escreva("Informe o terceiro lado do triângulo: ")
  leia(lado_c)

  // os lados informados formam um triângulo?
  se ((lado_a < (lado_b + lado_c)) e (lado_b < (lado_a + lado_c)) e 
    (lado_c < (lado_a + lado_b))) entao
    // é um triângulo equilátero (todos os lados iguais)?
    se ((lado_a = lado_b) e (lado_b = lado_c)) entao
      escreval("O triângulo é equilátero")
    senao
      // é isósceles (dois lados iguais e um diferente)?
      se ((lado_a = lado_b) ou (lado_a = lado_c) ou (lado_c = lado_b)) entao
        escreval("O triângulo é isósceles")
      senao
        // é escaleno
        escreval("O triângulo é escaleno")
      fimse
    fimse
  senao
    escreval("Os lados informados não formam um triângulo.")
  fimse

fimalgoritmo



C ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções

Como usar protótipos de função em C

Quantidade de visualizações: 12296 vezes
Um protótipo de função é uma declaração que define o nome, tipos de parâmetros e tipos de retorno de uma função. Em geral o protótipo de uma função é exigido quando a definição da função não é feita antes do código que efetua uma chamada a ela. Veja um exemplo:

#include <stdio.h>
#include <stdlib.h>

// uma função que retorna a soma de dois inteiros
// fornecidos como argumento
int somar(int a, int b){
  return (a + b);
}

int main(int argc, char *argv[]){
  // efetua uma chamada à função somar
  int res = somar(3, 5);

  // exibe o resultado
  printf("Soma: %d", res);

  puts("\n\n");
  system("PAUSE");
  return 0;
}

Este código compila e executa normalmente, uma vez que a função somar() foi definida antes da função main(), ou seja, antes da parte do programa que possui uma chamada a ela. Veja agora esta nova versão:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
  // efetua uma chamada à função somar
  int res = somar(3, 5);

  // exibe o resultado
  printf("Soma: %d", res);

  puts("\n\n");
  system("PAUSE");
  return 0;
}

// uma função que retorna a soma de dois inteiros
// fornecidos como argumento
int somar(int a, int b){
  return (a + b);
}

Aqui temos um problema: a função somar() é definida depois do código contendo uma chamada a ela. No Dev-C++ temos o seguinte erro de compilação:

`somar` undeclared (first use this function) 

A solução para este casos é a criação do protótipo da função. Para a função somar() isso pode ser feito da seguinte forma:

// protótipo da função somar()
int somar(int, int);

Note que não há a necessidade de especificar os nomes dos parâmetros da função, apenas seus tipos. Veja ainda que o protótipo da função é terminado com ponto-e-vírgula e sempre colocado após as instruções de #include. Veja o código completo para um exemplo usando protótipos de funções:

#include <stdio.h>
#include <stdlib.h>

// protótipo da função somar()
int somar(int, int);

int main(int argc, char *argv[]){
  // efetua uma chamada à função somar
  int res = somar(3, 5);

  // exibe o resultado
  printf("Soma: %d", res);

  puts("\n\n");
  system("PAUSE");
  return 0;
}

// uma função que retorna a soma de dois inteiros
// fornecidos como argumento
int somar(int a, int b){
  return (a + b);
}


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



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