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
C# ::: Coleções (Collections) ::: ArrayList

Como adicionar itens ao final de uma ArrayList do C# usando o método Add()

Quantidade de visualizações: 10600 vezes
O método Add() da classe ArrayList do C# é usado quando queremos adicionar itens no final da lista. Este método aceita como parâmetro o elemento a ser adicionado. Este elemento é do tipo Object, ou seja, podemos inserir desde tipos primitivos até objetos de nossas próprias classes (incluindo o valor null), uma vez que estas também herdam de Object, direta ou indiretamente.

Note que o método Add() poderá atirar uma exceção do tipo NotSupportedException se a ArrayList for somente leitura ou possuir um tamanho fixo. Eis o código para o exemplo:

using System;
using System.Collections;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // Cria o ArrayList
      ArrayList nomes = new ArrayList();

      // Adiciona nomes de pessoas
      nomes.Add("Osmar J. Silva");
      nomes.Add("Carlos de Souza");
      nomes.Add("Mirian Fernanda Costa");

      // Percorre os elementos da ArrayList
      // usando o laço for
      for (int i = 0; i < nomes.Count; i++) {
        Console.Write("{0}\n", nomes[i]);
      }

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

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

Osmar J. Silva
Carlos de Souza
Mirian Fernanda Costa


JavaScript ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators)

JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScript

Quantidade de visualizações: 1292 vezes
O operador de bits & (E/AND sobre bits) da linguagem JavaScript é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0.

Para quem gosta de Lógica Matemática, ou a Tabela Verdade da Lógica de Boole, vai se lembrar do conectivo "^", que diz que a proposição resultante da conjunção só será verdadeira quando as proposições simples individuais forem verdadeiras. O operador de bits & do JavaScript é similar ao conectivo "^" da Lógica Proposicional.

Vamos analisar os seguintes valores binários:

a) 0101 (5 decimal)
b) 0100 (4 decimal)

Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado:

0101
0100
----
0100

Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em JavaScript agora. Observe o seguinte trecho de código:

<html>
<head>
  <title>Manipulação de Bits em JavaScript</title>
</head>
 
<body>

<script type="text/javascript">
  var a = 5;
  var b = 4;
  var c = a & b;
  
  // exibe o resultado (em binário e em decimal)
  document.writeln("a = " + obterBits(a) + " (" + a + ")");
  document.writeln("<br>b = " + obterBits(b) + " (" + b + ")");
  document.writeln("<br>a & b = " + obterBits(c) + " (" + c + ")");
  
  // função auxiliar que converte um decimal em sua representação em bits
  function obterBits(valor){
    var mascara = 1 << 31; // 10000000 00000000 00000000 00000000
    var buffer = ""; // um buffer para guardar os bits dos bytes
    
    for(var i = 1; i <= 32; i++){
      // compara os bits individuais dos dois valores inteiros
      if((valor & mascara) == 0){
    	buffer = buffer + "0";
      }
      else{
    	buffer = buffer + "1";
      }
      
      valor = valor << 1; // desloca uma posição para a esquerda
      // Cada troca à esquerda corresponde à multiplicação do
      // valor por 2
      
      if(i % 8 == 0){ // completou um byte?
        buffer = buffer + " ";
      }
    }
    
    return buffer;
  }
</script>

</body>
</html>


Ao executar este código teremos o seguinte resultado:

    a = 00000000 00000000 00000000 00000101 (5) 
    b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)



C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercício Resolvido de C++ - Calculando e exibindo os números primos entre 2 e 100

Quantidade de visualizações: 10190 vezes
Exercícios Resolvidos de C++ - Calculando e exibindo os números primos entre 2 e 100

Pergunta/Tarefa:

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). A saída do programa deverá ser parecida com:

Numeros primos entre 2 e 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Resposta/Solução:

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

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // limite dos números primos (incluindo)
  int limite = 100;
               
  // Lembre-se! O número 1 não é primo
  cout << "Numeros primos entre 2 e " << limite << endl;
  
  // laço que percorre os valores de 2 até o limite desejado
  for(int i = 2; i <= limite; i++){
    bool primo = true;
                       
    // se o valor de i for 7, a variável j do laço contará
    // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o 
    // módulo de 7 por qualquer um dos valores neste intervalo 
    // for igual a 0, então o número não é primo
    for(int j = 2; j <= (i / 2); j++){
      if(i % j == 0){
        primo = false; // não é primo
        break;
      }
    }
    
    if(primo){
      cout << i << " ";
    }
  }
  
  cout << "\n\n";
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



Portugol ::: Dicas & Truques ::: Cadeias e Caracteres

Como converter uma palavra, frase ou texto para letras maiúsculas usando a função caixa_alta() da biblioteca Texto do Portugol

Quantidade de visualizações: 184 vezes
Em algumas situações nós precisamos converter uma letra, palavra, frase ou texto em letras maiúsculas. Na linguagem Portugol isso pode ser feito usando-se a função caixa_alta() da biblioteca Texto.

Veja um código Portugol completo no qual pedimos para o usuário informar o seu nome e mostramos o resultado convertido para letras maiúsculas:

programa {
  // vamos incluir a biblioteca Texto
  inclua biblioteca Texto --> texto
  
  funcao inicio() {
    // vamos declarar uma variável para guardar o nome de uma pessoa
    cadeia nome, nome_maiusculo

    // vamos pedir para o usuário informar o seu nome
    escreva("Informe o seu nome: ")
    leia(nome)

    // vamos converter o nome para letras maiúsculas
    nome_maiusculo = texto.caixa_alta(nome)

    // vamos mostrar o resultado
    escreva("O seu nome em letras maiúsculas é: " + nome_maiusculo)
  }
}

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

Informe o seu nome: Marcelo de Souza Gomes
O seu nome em letras maiúsculas é: MARCELO DE SOUZA GOMES


Delphi ::: Imagens, Gráficos e Cores ::: TBitmap (A classe TBitmap)

Computação gráfica em Delphi - Como usar a classe TBitmap do Delphi

Quantidade de visualizações: 16654 vezes
A classe TBitmap encapsula um bitmap Windows (HBITMAP, um handle para um bitmap), incluindo sua paleta (HPALETTE, um handle para uma paleta de cores).

Esta classe herda de TGraphic e é usada para criar, manipular (redimensionar, rolar, rotacionar, pintar, etc) e armazenar imagens na memória e como arquivos em disco.

A classe TBitmap contém muitas propriedades e métodos úteis. Entre seus métodos podemos citar LoadFromFile(), usado para carregar uma imagem bitmap a partir do disco e guardá-la em memória como um objeto TBitmap. Veja o trecho de código abaixo:

procedure TForm2.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  // vamos criar o bitmap
  bmp := TBitmap.Create;

  // vamos carregar a imagem e guardá-la no bitmap
  bmp.LoadFromFile('foto.bmp');

  // vamos desenhar o bitmap no formulário
  // começando nas coordenadas x = 0; y = 0 a partir
  // do canto superior esquerdo da área cliente do formulário
  Form2.Canvas.Draw(0, 0, bmp);

  // vamos liberar o bitmap
  bmp.Free;
end;

Aqui nós carregamos o bitmap foto.bmp e o desenhamos na superfície do formulário usando o método Draw() do Canvas do formulário.

É possível também redimensionar o bitmap ao desenhá-lo no formulário. Veja este novo trecho de código:

procedure TForm2.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
  retang: TRect; // um objeto TRect
begin
  // vamos criar o bitmap
  bmp := TBitmap.Create;

  // vamos carregar a imagem e guardá-la no bitmap
  bmp.LoadFromFile('foto.bmp');

  // vamos redimensionar o bitmap na memória de
  // acordo com o retângulo abaixo
  retang.Top := 0;
  retang.Left := 0;
  retang.Right := 200;
  retang.Bottom := 150;

  // vamos desenhar o bitmap usando o método
  // StretchDraw da classe TCanvas
  Form2.Canvas.StretchDraw(retang, bmp);

  // vamos liberar o bitmap
  bmp.Free;
end;

Aqui nós usamos um objeto do registro (record) TRect para criar um retângulo especificando o tamanho do bitmap e fornecemos tal retângulo, juntamente com o bitmap, para o método StretchDraw() da classe TCanvas. Este método redimensiona a imagem antes de desenhá-la na superfície do formulário.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


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



VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço For do VB.NET - Apostila VB.NET para iniciantes

Quantidade de visualizações: 13578 vezes
O laço For...Next é usado quando sabemos exatamente a quantidade de vezes que o bloco de códigos deverá ser executado. Veja um exemplo no qual contamos de 1 a 10:

For valor As Integer = 1 To 10 Step 1
  Console.WriteLine(valor)
Next

Veja que o laço For...Next é composto de três partes muito importantes:

a) Inicialização da variável de controle:

For valor As Integer = 1

Aqui é onde definimos o valor inicial da variável de controle. No exemplo nós fizemos a declaração da variável no cabeçalho do laço, mas ela pode ser declarada externamente sem nenhum problema.

b) Limite do valor da variável de controle:

To 10

A palavra-chave To permite definir o valor máximo que a variável de controle pode alcançar.

c) Incremento da variável de controle:

Step 1

A palavra-chave Step permite definir o valor que servirá de incremento para a variável de controle. No exemplo usamos 1, mas poderia ser qualquer valor inteiro.

Veja um exemplo de laço For...Next no qual exibimos os números pares de 0 a 20:

For numero As Integer = 0 To 20 Step 2
  Console.WriteLine(numero)
Next

E se quisermos contar de trás para frente? Fácil, basta fornecer um valor negativo para o incremento. Veja:

For numero As Integer = 10 To 0 Step -1
  Console.WriteLine(numero)
Next



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

Como converter uma string para letras maiúsculas em JavaScript usando a função toUpperCase() do objeto String - JavaScript para iniciantes

Quantidade de visualizações: 167 vezes
A função toUpperCase() do objeto String da linguagem JavaScript nos permite transformar todos os caracteres de uma palavra, frase ou texto em letras maiúsculas.

Veja o código completo para o exemplo:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
 
<script type="text/javascript">
  var frase = "Veja Esta Frase.";
  document.writeln(frase);  
  frase = frase.toUpperCase();
  document.writeln("<br>" + frase);
</script>
 
</body>
</html>

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

Veja Esta Frase.
VEJA ESTA FRASE.


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

Tratamento de erros em Java - Como tratar o erro ArrayIndexOutOfBoundsException em Java

Quantidade de visualizações: 18423 vezes
A exceção ArrayIndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de elementos em um vetor ou matriz (array). 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 ArrayIndexOutOfBoundsException na hierarquia de classes da plataforma Java:

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


Esta classe implementa a interface Serializable.

Veja um exemplo no qual tentamos acessar um elemento de um vetor ou matriz 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.


C ::: C para Engenharia ::: Física - Mecânica

Como calcular a energia cinética de um corpo dado sua massa e sua velocidade usando a linguagem C

Quantidade de visualizações: 1509 vezes
Energia Cinética é a forma de energia relacionada aos corpos em movimento e é diretamente proporcional ao quadrado da velocidade do corpo. Sendo uma grandeza física escalar, a energia cinética possui como unidade de medida, de acordo com as unidades do SI (Sistema Internacional de Medidas), o joule.

A energia cinética é a capacidade de algum corpo em movimento realizar trabalho, modificando o estado de movimento dos corpos ao seu redor ou deformando-os. Quanto maior é a velocidade e a massa do corpo, maior é a sua capacidade de realizar trabalho quando estiver em movimento. De forma análoga, podemos pensar que um corpo que apresenta uma grande energia cinética necessita de uma grande quantidade de energia para cessar o seu movimento.

A fórmula para obtenção da Energia Cinética de um corpo, quando temos a sua massa e a sua velocidade é:

\[ E_c = \frac{\text{m} \cdot v^2}{\text{2}} \]

Onde:

Ec ? energia cinética (em joule, J).

m ? massa do corpo (em kg).

v ? velocidade do corpo (em m/s).

É comum, também, encontrarmos essa fórmula escrita da seguinte forma:

\[ E_c = \frac{1}{2} \text{m} \cdot v^2 \]

É importante observarmos que, caso um corpo se encontre em repouso, a energia cinética a ele associada é nula, ou seja, zero. Além disso, a energia cinética depende da velocidade desse corpo ao quadrado. Sendo assim, ao duplicarmos a velocidade de um corpo, sua energia cinética aumenta quatro vezes e, ao triplicá-la, a energia cinética desse corpo fica nove vezes maior.

Vamos ver um exemplo agora? Observe o seguinte enunciado:

1) Um ciclista e sua bicicleta possuem uma massa total de 100kg, e uma velocidade de 54km/h. Calcule sua energia cinética.

O exercício já nos dá a massa total em kg, mas precisamos converter km/h em m/s antes de realizar o cálculo da energia cinética. Fique atento(a). Veja o código C completo que efetua este cálculo e exibe a energia cinética resultante:

#include <stdio.h>
#include <stdlib.h>
#include <math.h> 
     
int main(int argc, char *argv[]){
  // a massa total
  float massa = 100; // em kg
  // velocidade (em m/s)
  float velocidade = 54 / 3.6; // converti de km/h para m/s
  
  // agora calculamos a energia cinética
  float energia_cinetica = (massa * pow(velocidade, 2)) / 2;
  
  // mostramos o resultado
  printf("A energia cinética é: %fJ",
    energia_cinetica);
			  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

A energia cinética é: 11250.000000J

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á 29 usuários muito felizes estudando em nosso site.