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
Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como usar arrays (vetores e matrizes) em Delphi

Quantidade de visualizações: 73946 vezes
Em programação de computadores, um array, também conhecido como vector (para arrays uni-dimensionais) ou matriz (para arrays bi-dimensionais), é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma seqüência de números inteiros, (ao contrário de um array associativo) mas o índex pode ter qualquer valor ordinal. Alguns arrays são multi-dimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por um seqüência (ou sucessão) finita de quatro números inteiros. Geralmente, arrays uni- e bi-dimensionais são os mais comuns.

Os arrays podem ser considerados como as estruturas de dado mais simples que é possível imaginar. Têm a vantagem de que os seus elementos são acessíveis de forma rápida, mas têm uma notável limitação: são de tamanho fixo, mas podem ser incrementados ou diminuídos com determinados algoritmos, geralmente envolvendo a cópia de elementos de um array para outro e reinicializando o original com a nova dimensão. Os vetores podem ser implementados desta forma.

Em Delphi um array é declarado da seguinte forma:

var
  valores: array[1..10] of Integer;

Aqui nós temos um array chamado valores que contém 10 elementos do tipo Integer. Estes elementos podem ser acessados por índices que variarão de 1 a 10, ou seja, podemos acessar o 5º elemento da seguinte forma:

procedure TForm1.Button1Click(Sender: TObject);
var
  valores: array[1..10] of Integer;
begin
  valores[5] := 20;
end;

Este tipo de array que ora criamos é chamado de array estático, em contraposição aos arrays dinâmicos, os quais podem ter seus tamanhos redimensionados durante a execução do programa.

A forma mais prática de se trabalhar com arrays em Delphi é usando laços. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valores: array[1..5] of Integer;
  i, soma: Integer;
begin
  // vamos preencher o array com os valores de 1 a 5
  for i := 1 to 5 do
    begin
      valores[i] := i;
    end;

  // vamos percorrer o array novamente e obter a soma dos
  // valores de seus elementos
  soma := 0;
  for i := 1 to 5 do
    begin
      soma := soma + valores[i];
    end;

  // vamos exibir o resultado
  ShowMessage('A soma dos valores é: ' + IntToStr(soma));
end;

Aqui nós declaramos um array de 5 elementos do tipo Integer e inicializamos seus elementos com os valores de 1 a 5. Em seguida percorremos todo o array novamente para obter a soma dos valores dos elementos.

É possível também declarar e já inicializar um array. Veja:

procedure TForm1.Button1Click(Sender: TObject);
const
  valores: array[1..5] of Integer = (3, 2, 6, 12, 9);
var
  i, soma: Integer;
begin
  // vamos percorrer o array novamente e obter a soma dos
  // valores de seus elementos
  soma := 0;
  for i := 1 to 5 do
    begin
      soma := soma + valores[i];
    end;

  // vamos exibir o resultado
  ShowMessage('A soma dos valores é: ' + IntToStr(soma));
end;

Note que aqui eu declarei o array como uma constante. Isso aconteceu porque o Delphi não permite que inicializemos variáveis locais ([DCC Error] Unit1.pas(32): E2195 Cannot initialize local variables). Caso você realmente precise do array como variável e não constante, e deseje inicializá-lo juntamente com a declaração, mova-o para a seção interface do formulário ou classe.

Para finalizar, veja que é possível criar arrays de todos os tipos em Delphi. Veja no trecho de código abaixo como usamos um array de Char para guardar uma palavra e exibí-la normal e depois invertida:

procedure TForm1.Button1Click(Sender: TObject);
const
  letras: array[1..5] of Char = ('O', 's', 'm', 'a', 'r');
var
  i: Integer;
  resultado: String;
begin
  resultado := '';

  // vamos exibir a palavra na forma normal
  for i := 1 to 5 do
    resultado := resultado + letras[i];

  // exibe o resultado
  ShowMessage(resultado);

  // vamos exibir a palavra invertida
  resultado := '';
  for i := 5 downto 1 do
    resultado := resultado + letras[i];

  // exibe o resultado
  ShowMessage(resultado);
end;

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


C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico

Exercícios Resolvidos de C# - Como somar dois números em C# - Escreva um programa C# que leia dois números e mostre a sua soma

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

Escreva um programa C# que leia dois números e mostre a sua soma. Os dois números deverão ser informados pelo usuário e você deverá efetuar a leitura como dois inteiros e mostrar a soma também como um inteiro. Os valores informados pelo usuário podem ser positivos ou negativos.

Sua saída deverá ser parecida com:

Informe o primeiro valor: 8
Informe o segundo valor: 3
A soma dos dois valores é: 11
Resposta/Solução:

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

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos ler o primeiro número
      Console.Write("Informe o primeiro valor: ");
      int n1 = int.Parse(Console.ReadLine());

      // vamos ler o segundo número
      Console.Write("Informe o segundo valor: ");
      int n2 = int.Parse(Console.ReadLine());

      // agora vamos efetuar a soma dos valores informados
      int soma = n1 + n2;

      // e mostramos o resultado
      Console.WriteLine("A soma dos dois valores é {0}", soma);
      
      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}



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

Como remover os espaços em excesso de uma string e deixar apenas um espaço entre as palavras usando a função preg_replace() e expressões regulares do PHP

Quantidade de visualizações: 284 vezes
Nesta dica mostrarei como é possível tirar proveito da função preg_replace() da linguagem PHP para retirar os espaços em excesso de uma frase ou texto. Note o uso da função trim() para remover também os espaços antes e depois da frase ou texto.

Veja o código completo para o exemplo:

<?php
  // uma frase com excesso de espaços 
  // vamos deixar apenas um espaço entre as palavras
  $frase = "   Gosto muito de   programar em    PHP  ";
  $frase2 = trim(preg_replace('/\s\s+/',' ', $frase));
  echo "Com espaços: " . $frase . "<br>";
  echo "Sem espaços: " . $frase2; 
?>

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

Com espaços:  Gosto muito de   programar em  PHP
Sem espaços: Gosto muito de programar em PHP


Pode ser necessário você olhar no código fonte da página HTML para visualizar melhor o resultado.


Java ::: Coleções (Collections) ::: ArrayList

Java Collections para iniciantes - Arrays (vetores) ou a ArrayList? Qual devo usar?

Quantidade de visualizações: 16323 vezes
Uma das perguntas mais frequentes que os usuários do nosso site nos fazem é aquela sobre o uso de simples arrays (vetores e matrizes) ou objetos da classe ArrayList. Se o número de elementos for fixo ou você precisar de muita eficiência ao lidar com tipos primitivos, então arrays podem ser a melhor escolha.

Porém, muitos problemas envolvendo o armazenamento de dados requerem estruturas de dados que possam ser redimensionadas de acordo com a necessidade do algorítmo. Neste caso, uma ArrayList (ou qualquer uma das outras classes Collections) pode ser a escolha certa.

Veja um trecho de código para ficar mais fácil o entendimento:

package arquivodecodigos;
 
public class Estudos{
  public static void main(String args[]){
    int valores[] = {4, 12, 8, 5, 13};
    System.out.println("Primeiro elemento no vetor: " 
      + valores[0]);
  }
}

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

Primeiro elemento no vetor: 4

Como podemos ver neste exemplo, um array (nesse caso um vetor) possui um tamanho fixo, ou seja, o compilador não nos permite reduzir ou aumentar a quantidade de elementos em um vetor ou matriz criado a partir da notação de arrays. Assim, apesar de todas as facilidades que os arrays trazem consigo, este pode ser um empecilho para o tipo de aplicação que queremos desenvolver em um determinado momento.

A classe ArrayList, por outro lado, possui tamanho variado. Isso quer dizer que seu tamanho é aumentado ou reduzido de acordo com as necessidades do seu código.

Uma outra questão que diferencia arrays de ArrayList, é que não podemos armazenar tipos primitivos em um objeto da classe ArrayList. Se precisarmos fazer isso, o tipo primitivo deve ser colocado em uma classe encapsuladora, por exemplo, a classe Integer. Em algumas situações o compilador faz isso nos bastidores, e esta operação é chamada de auto-boxing.


Java ::: Pacote java.lang ::: Integer

Java Básico - Como usar a constante SIZE da classe Integer para obter a quantidade de bits necessária para armazenar um int

Quantidade de visualizações: 6857 vezes
Em algumas situações gostaríamos de obter a quantidade de bits necessária para armazenar um valor do tipo int (inteiro). Para isso podemos usar a constante SIZE da classe Integer (uma classe wrapper que encapsula o valor primitivo int). Veja como isso pode ser feito:

public class Estudos {
  public static void main(String[] args) {
    // vamos obter a quantidade de bits necessária para representar um int
    int quantBits = Integer.SIZE;
    
    // o resultado
    System.out.println("Um int ocupa " + quantBits + " bits, ou seja, " +
       (quantBits / 8) + " bytes");    
  }
}

Ao executarmos este código o resultado será:

Um int ocupa 32 bits, ou seja, 4 bytes.


Java ::: Dicas & Truques ::: Strings e Caracteres

Apostila Java para iniciantes - Como substituir um caractere em uma string usando o método setCharAt() da classe StringBuffer do Java

Quantidade de visualizações: 186 vezes
Nesta dica mostrarei como podemos usar o método setCharAt() da classe StringBuffer da linguagem Java para substituir caracteres individuais em uma palavra, frase ou texto.

Veja um código completo, no qual trocamos a letra "j" por "J":

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    StringBuffer frase = new StringBuffer("Programar em java.");
    System.out.println(frase);
    frase.setCharAt(13, 'J'); // troca 'j' por 'J' 
    System.out.println(frase);
     
    System.exit(0);
  }
} 

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

Programar em java.
Programar em Java.


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

Vetores e Matrizes - Exercícios Resolvidos de Java - Ex. 15 - Declarar, construir e inicializar dois vetores de int e criar um terceiro vetor com os valores dos elementos sendo a soma dos elementos dos dois vetores anteriores

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

Considere os seguintes vetores:

// declara, constrói e inicializa dois vetores de 5 inteiros cada
int a[] = {5, 2, 9, 5, 7};
int b[] = {2, 6, 10, 3, 3};
Escreva um programa Java GUI ou console que cria um terceiro vetor de 5 inteiros e atribua a cada elemento deste vetor a soma dos elementos correspondentes nos dois vetores anteriores. Sua saída deverá ser algo parecido com:

Valores na matriz a: 5   2   9   5   7   
Valores na matriz b: 2   6   10   3   3   
Valores na matriz c: 7   8   19   8   10
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa dois vetores de 5 inteiros cada
    int a[] = {5, 2, 9, 5, 7};
    int b[] = {2, 6, 10, 3, 3};
    int c[] = new int[5];
    
    // vamos preencher o terceiro vetor com a soma dos dois anteriores
    for(int i = 0; i < c.length; i++){
      c[i] = a[i] + b[i];  
    }
    
    // vamos mostar o resultado
    System.out.print("Valores no vetor a: ");
    for(int i = 0; i < a.length; i++){
      System.out.print(a[i] + "   ");  
    }
    
    System.out.print("\nValores no vetor b: ");
    for(int i = 0; i < b.length; i++){
      System.out.print(b[i] + "   ");  
    }
    
    System.out.print("\nValores no vetor c: ");
    for(int i = 0; i < c.length; i++){
      System.out.print(c[i] + "   ");  
    }
    
    System.out.println();
  }
}



PHP ::: Dicas & Truques ::: Data e Hora

Como verificar se um ano é bissexto usando PHP

Quantidade de visualizações: 112 vezes
Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da terra e com os eventos sazonais relacionados às estações do ano.

Na linguagem PHP podemos verificar se um ano é bissexto checando o valor retornado por date("L"). Se o valor retornado for "1", então o ano é bissexto. Observe que, em PHP, o valor 1 é considerado true (verdadeiro).

Veja um trecho de código completo no qual testamos se um determinado ano é bissexto ou não:

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

<?php  
  // função que verifica se o ano é bissexto
  function ano_bissexto($ano){  
    return (date('L', mktime(0, 0, 0, 1, 1, $ano)) == 1);  
  }  

  // agora vamos testar a função
  $ano = 2020;
  if(ano_bissexto($ano)){
    echo "O ano $ano é bissexto";
  }
  else{
    echo "O ano $ano não é bissexto";
  }
?>  

</body>
</html>

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

O ano 2020 é bissexto


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

Como converter de octal para decimal usando o método parseInt() da classe Integer da linguagem Java

Quantidade de visualizações: 10230 vezes
Nesta dica eu mostrarei como podemos tirar proveito do método parseInt() da classe Integer do Java para converter um valor octal para decimal. Para isso nós só precisamos fornecer o valor 8 como segundo argumento para esta função.

Veja o código completo:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    String octal = "10";
     
    // efetua a conversão de octal para
    // decimal
    int decimal = Integer.parseInt(octal, 8);
 
    // exibe o resultado
    System.out.println("O octal " + octal + " em decimal é " +
      decimal);
 
    System.exit(0);
  }
}

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

O octal 10 em decimal é 8


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

Como usar vetores e matrizes (arrays) na linguagem C++

Quantidade de visualizações: 38074 vezes
Vetores e matrizes, também chamados de arrays em programação, são grupos consecutivos de locais na memória que possuem o mesmo tipo de dados, ou seja, um vetor ou matriz em C++ pode conter apenas elementos do mesmo tipo.

Um vetor é uma matriz de um coluna e várias linhas, enquanto uma matriz é a matriz propriamente dita, ou seja, que possui várias linhas e várias colunas.

Veja um trecho de código no qual temos um vetor contendo 5 elementos do tipo int:

#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  // declara e inicializa a matriz
  int valores[5] = {65, 3, 8, 41, 12};
 
  // exibe os elementos da matriz
  for(int i = 0; i < 5; i++){
    cout << "Posição: " << i <<
      " - Valor: " << valores[i] << endl;
  }
 
  system("PAUSE"); // pausa o programa
  return 0;
}

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

Posição: 0 - Valor: 65
Posição: 1 - Valor: 3
Posição: 2 - Valor: 8
Posição: 3 - Valor: 41
Posição: 4 - Valor: 12
Pressione qualquer tecla para continuar. . .

Aqui nós usamos a técnica de declarar e inicializar o vetor em uma mesma linha. Em seguida usamos um laço para percorrer todos os elementos. Veja que os elementos do vetor são acessados usando um índice que começa em 0 e vai até a quantidade de elementos menos 1.

Veja agora um trecho de código que declara um vetor e inicializa seus elementos usando um laço for:

#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  // declara a matriz
  int valores[5];
 
  // inicializa os elementos usando um laço
  for(int i = 0; i < 5; i++){
    valores[i] = 2 * i;
  }
 
  // exibe os elementos da matriz
  for(int i = 0; i < 5; i++){
    cout << "Posição: " << i <<
      " - Valor: " << valores[i] << endl;
  }
 
  system("PAUSE"); // pausa o programa
  return 0;
}

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

Posição: 0 - Valor: 0
Posição: 1 - Valor: 2
Posição: 2 - Valor: 4
Posição: 3 - Valor: 6
Posição: 4 - Valor: 8
Pressione qualquer tecla para continuar. . .

É importante notar que, se não inicializados, os valores dos elementos de um vetor poderão guardar valores aleatórios. Jamais confie que eles terão o valor 0 por padrão.

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