Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
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
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios

Como ler todo o conteúdo de um arquivo texto usando Delphi - As funções AssignFile(), ReadLn() e Eof() do Delphi

Quantidade de visualizações: 31813 vezes
Nesta dica mostro como usar o Delphi para ler todo o conteúdo de um arquivo texto. Esta leitura será feita linha a linha e adicionaremos cada linha a um TMemo à medida que ela for lida.

O primeiro passo para se ler um arquivo texto usando Delphi é declarar uma variável do tipo TextFile. Em seguida usamos a procedure AssignFile() para associar a variável TextFile ao arquivo em disco.

Como queremos ler o conteúdo do arquivo, a função Reset() deve ser usada. Esta função abre o arquivo texto fornecido e posiciona o cursor de leitura no início do arquivo. A partir daí podemos usar um laço while e a função ReadLn() para ler cada linha do arquivo. Note o uso da função Eof() para testarmos se o ponteiro de leitura ainda não atingiu o fim do arquivo.

Veja o exemplo para um melhor entendimento:

procedure TForm1.Button1Click(Sender: TObject);
var
  arquivo: TextFile;
  linha: String;
begin
  // vamos fazer uma ligação entre a variável arquivo e o
  // arquivo que queremos ler
  AssignFile(arquivo, 'C:\arquivo de codigos\dados.txt');

  // vamos abrir o arquivo em  modo leitura
  Reset(arquivo);

  // vamos ler cada linha e adicioná-la a um Memo
  while not Eof(arquivo) do
  begin
    ReadLn(arquivo, linha);
    Memo1.Lines.Add(linha);
  end;

  // hora de fechar o arquivo
  CloseFile(arquivo);
end;


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


Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar null em Java

Quantidade de visualizações: 32043 vezes
O tipo de dados null é um tipo (ou valor) especial que indica que uma referência não está apontando para nenhum objeto, ou seja, aponta para uma posição de memória nula. Este tipo pode ser atribuído (ou testado) apenas a referências. Seu uso não é permitido com primitivos.

Veja um trecho de código no qual definimos que uma variável do tipo String aponta para um objeto nulo:

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

    System.out.println(nome.length());    

    System.exit(0);
  }
}

Este código compila normalmente. Porém, ao tentarmos executá-lo, temos uma exceção de tempo de execução NullPointerException:

Exception in thread "main" 
java.lang.NullPointerException
  at Estudos.main(Estudos.java:5)


Isso aconteceu porque estamos tentando executar um método de um objeto que não existe.

Uma técnica muito valiosa é testar se uma referência não está apontando para um objeto nulo. Veja como isso é feito:

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

    if(nome != null)
      System.out.println(nome.length());    
    else
      System.out.println("Objeto é nulo.");      

    System.exit(0);
  }
}

Tenha em mente que, quando uma referência recebe o valor null, o objeto para o qual ela apontava fica imediatamente disponível para o coletor de lixo (Garbagge Colector), ou seja, a memória ocupada pelo objeto pode ser liberada a qualquer momento.

Veja agora o que acontece quando tentamos atribuir o valor null a um primitivo:

public class Estudos{
  public static void main(String args[]){
    int valor = null;     

    System.exit(0);
  }
}

Eis a mensagem de erro de compilação:

Estudos.java:3: incompatible types
found   : <nulltype>
required: int
 int valor = null;
             ^
1 error



VB.NET ::: Dicas & Truques ::: Strings e Caracteres

Como inverter o conteúdo de uma string em VB.NET usando os métodos ToCharArray() e Reverse()

Quantidade de visualizações: 7926 vezes
Nesta dica mostrarei como podemos tirar proveito do método ToCharArray() da classe String e do método Reverse() da classe Array do VB.NET para inverter a ordem dos caracteres de uma palavra, frase ou texto.

Note que criamos uma função personalizada InverterString() que recebe uma string, a inverte e devolve uma nova string com a ordem dos caracteres invertida.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    ' vamos declarar uma string
    Dim frase As String = "Gosto de VB.NET"

    ' mostramos a frase original
    Console.WriteLine("Frase original: " & frase)

    ' inverte o conteúdo da string
    frase = InverterString(frase)

    ' mostramos a frase invertida
    Console.WriteLine("A frase invertidade é: " & frase)

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub

  ' Função que recebe uma string e a devolve invertida
  Function InverterString(ByVal str As String) As String
    Dim invertida As String
    Dim arrChar() As Char = str.ToCharArray()
    Array.Reverse(arrChar)
    invertida = arrChar
    Return invertida
  End Function
End Module

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

Frase original: Gosto de VB.NET
A frase invertidade é: TEN.BV ed otsoG


C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular a área de um círculo em C dado o raio do círculo

Quantidade de visualizações: 9019 vezes
A área de um círculo pode ser calculada por meio do produto entre a constante PI e a medida do raio ao quadrado (r2). Comece analisando a figura abaixo:



Sendo assim, temos a seguinte fórmula:



Onde A é a área, PI equivale a 3,14 (aproximadamente) e r é o raio do círculo.

O raio é a medida que vai do centro até um ponto da extremidade do círculo. O diâmetro é a medida equivalente ao dobro da medida do raio, passando pelo centro do círculo e dividindo-o em duas partes. A medida do diâmetro é 2 * Raio.

Veja agora um código C completo que calcula a área de um círculo mediante a informação do raio:

#include <stdio.h>
#include <stdlib.h>
#include <math.h> 
 
// vamos definir o valor de PI
#define PI 3.14159265358979323846 
 
int main(int argc, char *argv[]){
  int raio;
  printf("Informe o raio do círculo: ");
  // efetua a leitura do raio
  scanf("%d", &raio);
  // calcula a área
  double area = PI * pow(raio, 2);
  // mostra o resultado
  printf("A area do círculo de raio %d é igual a %f\n\n", 
    raio, area);
  
  system("PAUSE");  
  return 0;
}

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

Informe o raio do círculo: 5
A area do círculo de raio 5 é igual a 78.539816

A circunferência é um conjunto de pontos que estão a uma mesma distância do centro. Essa distância é conhecida como raio. A circunferência é estudada pela Geometria Analítica e, em geral, em um plano cartesiano. O círculo, que é formado pela circunferência e pelos infinitos pontos que preenchem seu interior, é estudado pela Geometria Plana, pois ele ocupa um espaço e pode ter sua área calculada, diferentemente da circunferência.


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

Como ordenar os elementos de vetor C++ usando a Ordenação da Bolha (Bubble Sort) - Revisado

Quantidade de visualizações: 15630 vezes
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos.

O entendimento deste método é fácil. Se estivermos ordenando os valores do menor para o maior, o método da bolha percorre os elementos da matriz, comparando e movendo o menor valor para a primeira posição do vetor (array), tal qual bolhas indo para a superfície. Veja um exemplo completo:

#include <iostream>
 
using namespace std;
 
void bubble_sort(int matriz[], int tam){
  int temp, i, j;
 
  for(i = 0; i < tam; i++){
    for(j = 0; j < tam; j++){
      if(matriz[i] < matriz[j]){
        temp = matriz[i];
        matriz[i] = matriz[j];
        matriz[j] = temp;
      }
    }
  }
}
 
int main(int argc, char *argv[])
{
  int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
  int const quant_elem = 9;
 
  // imprime a matriz sem a ordenação
  for(int i = 0; i < quant_elem; i++){
    cout << valores[i] << "  ";
  }
 
  // vamos ordenar a matriz
  bubble_sort(valores, quant_elem);
 
  // imprime a matriz ordenada
  cout << endl;
  for(int i = 0; i < 9; i++){
    cout << valores[i] << "  ";
  }
 
  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

4 6 2 8 1 9 3 0 11
0 1 2 3 4 6 8 9 11

Pressione qualquer tecla para continuar...


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

Como obter a quantidade de elementos em um vetor (array ou matriz de uma dimensão) em PHP

Quantidade de visualizações: 8110 vezes
Em várias situações de programação em PHP nós precisamos contar, ou seja, obter a quantidade de elementos em um vetor, também chamado de array ou matriz unidimensional (de uma dimensão). Para isso nós podemos usar as funções count() ou sizeof().

Veja um exemplo completo de seu uso:

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

<?php  
  $pessoas[0] = "Osmar J. Silva";
  $pessoas[1] = "Salvador M. Andrade";
  $pessoas[2] = "Dyego Fernandes de Sousa";
 
  echo "O vetor possui " . sizeof($pessoas) . " elementos.";
?>  

</body>
</html>


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

O vetor possui 3 elementos.


HTML5 ::: Aplicativos Completos ::: Programas de desenho, edição e visualização de imagens e fotos

Como criar um programa de desenho simples usando o objeto Canvas do HTML5

Quantidade de visualizações: 5951 vezes
Revisando alguns códigos que desenvolvi para clientes ao longo desses anos, encontrei um exemplo de um programa de desenho bem simples demonstrando as possibilidades gráficas do elemento Canvas do HTML. Este código foi escrito há uns dois anos e resolvi compartilhar com todos, para que vocês possam aprimorá-lo e acrescentar novas idéias, afinal, o HTML5 está mais atual do que nunca.

Veja o resultado no navegador:



Eu o escrevi de forma bem simples, sem usar jQuery ou qualquer outro framework, apenas JavaScript raiz mesmo, de forma que até os estudantes mais iniciantes não terão dificuldade de entender. Veja a listagem completa e com comentários:

<html>
<head>
<title>Desenhando no canvas do HTML5</title>
</head>

<body style="padding: 15px">

<b>Clique e arraste para desenhar</b><br><br>

<canvas id="quadro" style="border: 1px solid #666" 
  width="600" height="350"></canvas>

<br><br><button onClick="limpar()">Limpar</button>

<script type="text/javascript">
  // obtém uma referência ao canvas
  var quadro = document.getElementById('quadro');
  // vamos obter o contexto de desenho
  var areaDesenho = quadro.getContext("2d");
  
  // podemos desenhar?
  var podeDesenhar = false; // ainda não
  
  // vetores para guardar as posições x, y, e se o mouse está sendo
  // movimentado pressionado
  var vetorX = new Array();
  var vetorY = new Array();
  var vetorArrastar = new Array();
  
  // agora vamos adicionar na área de desenho um "ouvidor" de 
  // eventos mousedown, ou seja, vamos detectar quando o usuário
  // pressionar o botão do mouse (sem soltar) 
  quadro.addEventListener('mousedown', function(e){
    // podemos iniciar o desenho
    podeDesenhar = true;
    registrarClique(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, false);
    desenhar(); // faça o desenho, moço
  });
  
  // o "ouvidor" de evento que detecta se o mouse está sendo arrastado
  // pressionado
  quadro.addEventListener('mousemove', function(e){	
    if(podeDesenhar){
      registrarClique(e.pageX - this.offsetLeft, e.pageY - 
        this.offsetTop, true);
      desenhar(); // faça o desenho, moço
    }
  });

  // o "ouvidor" de evento que detecta se o mouse foi liberado
  // e interrompe o desenho
  quadro.addEventListener('mouseup', function(e){	
    podeDesenhar = false;
  });

  // o mouse saiu da área de desenho?
  quadro.addEventListener('mouseleave', function(e){	
    podeDesenhar = false;
  });

  function registrarClique(x, y, arrastar){
    // aqui nós guardamos em vetores as posições x, y do clique ou
    // o movimento do mouse pressionado.
    vetorX.push(x);
    vetorY.push(y);
    vetorArrastar.push(arrastar);
  }
  
  // é aqui que a mágica ocorre
  function desenhar(){
    // primeiro vamos limpar o quadro de desenho
    areaDesenho.clearRect(0, 0, areaDesenho.canvas.width, 
      areaDesenho.canvas.height);
	
    areaDesenho.strokeStyle = "#5c5cd6"; // cor
    areaDesenho.lineJoin = "round"; // formato da junção de linha
    areaDesenho.lineWidth = 5; // largura da linha
			
    // percorremos os vetores, usando como base o vetor de coordenadas x
    for(var i = 0; i < vetorX.length; i++){		
      areaDesenho.beginPath(); // inicia o caminho
    
      // o mouse foi arrastado neste evento?
      if((vetorArrastar[i] == true && i > 0)){
        areaDesenho.moveTo(vetorX[i - 1], vetorY[i - 1]);
      }
      else{
        // é o início do desenho
        areaDesenho.moveTo(vetorX[i] - 1, vetorY[i]);
      }
     
      // desenha a linha do ponto X ao ponto Y  
      areaDesenho.lineTo(vetorX[i], vetorY[i]);
      // fecha o caminho
      areaDesenho.closePath();
      // conclui de fato o desenho
      areaDesenho.stroke();
    }  
  }
  
  // e aqui nós limpamos a área de desenho e esvaziamos os vetores
  function limpar(){
    areaDesenho.clearRect(0, 0, areaDesenho.canvas.width, 
      areaDesenho.canvas.height);
    vetorX = [];
    vetorY = [];
    vetorArrastar = [];
  }
</script>

</body>
</html>

Salve o código como "desenho.html" (cuidado para não salvar como "desenho.html.txt") e abra-o no seu navegador, remoto ou localmente. Você pode começar suas modificações alterando a cor do desenho, a largura da linha, etc. Você pode também deixar figuras pré-configuradas e até permitir que o usuário inclua fotos no Canvas.

Para os estudantes que já sabem Node.js, saiba que é possível enviar os três vetores via sockets em um ambiente real time para que outros usuários na rede vejam o seu desenho em tempo real. Bons estudos.


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

Apostila de PHP - Como criar suas próprias funções em PHP

Quantidade de visualizações: 31199 vezes
Uma função é um bloco de código que executa uma determinada tarefa, possivelmente baseado em um conjuntos de valores fornecidos, ou parâmetros, e possivelmente retornando um único valor. Funções permitem a melhora na leitura do código e correção de bugs, visto que blocos de códigos bem testados podem ser reutilizados inúmeras vezes em seus programas.

Antes de continuarmos é bom estar ciente dos diferentes nomes que as linguagens de programação adotam quando o assunto é função. Em Java, funções são chamadas de métodos. Em Delphi, temos funções (function) e procedimentos (procedure). Se uma função em Delphi retorna um valor, ela é chamada de function. Se nenhum valor é retornado, ela é chamada de procedure. Em PHP o nome é função (function) mesmo, não importando se valores são retornados ou não.

Veja um exemplo onde criamos uma função que apenas escreve na página:

<?
  // define a função
  function escrever(){
    echo "Observe este texto";
  }
  
  // chama a função
  escrever();
?>

Podemos estender este exemplo e fornecer à função o texto que deverá ser escrito. Veja:

<?
  // define a função
  function escrever($texto){
    echo $texto;
  }
  
  // chama a função
  escrever("Observe este texto");
?>

Veja que agora a função possui parâmetros, neste caso a variável local $texto. Assim, ao efetuarmos a chamada nós podemos fornecer um valor (um argumento) a esta função. Vamos progredir escrevendo uma função que soma dois valores:

<?
  // define a função
  function somar($valor1, $valor2){
    echo "A soma é: " . ($valor1 + $valor2);
  }
  
  // chama a função
  somar(3, 5);
?>

Para finalizar, vamos escrever uma função que retorna um valor. Veja:

<?
  // define a função
  function somar($valor1, $valor2){
    return ($valor1 + $valor2);
  }
  
  // chama a função
  $soma = somar(3, 5);
  echo "O resultado é: " . $soma;
?>

Observe o uso da palavra-chave return para definirmos o valor que será retornado pela função.


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

Como verificar se um diretório já existe em Java usando o método exists() da classe File

Quantidade de visualizações: 145 vezes
Em algumas situações nós precisamos verificar se um determinado diretório existe antes de efetuarmos alguma tarefa, talvez gravar um novo arquivo ou listar os arquivos contidos em um diretório. Para isso nós podemos o método exists() da classe File da linguagem Java. A classe File faz parte do pacote java.io.

A função exists() da classe File retorna um valor true se o diretório existir, e false em caso contrário. Veja um exemplo de seu uso:

package arquivodecodigos;
 
import java.io.File;

public class Estudos{
  public static void main(String args[]){
    // Este exemplo mostra como verificar a existência de um
    // diretório usando Java
    File diretorio = new File("c:\\java");
        
    // vamos checar se o diretório existe
    if(diretorio.exists()){
      System.out.println("Diretorio ja existe no sistema");
    }
    else{
      System.out.println("Diretorio ainda nao existe no sistema");
    }
  }
} 

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

O diretório já existe no sistema.


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

Como retornar o tamanho de um array em C++ - Curso de C++ - Vetores e matrizes em C++

Quantidade de visualizações: 11213 vezes
Muitas vezes precisamos saber a quantidade de elementos em vetor (array). Em C++, isso pode ser feito com o uso da função sizeof(). O que fazemos é obter a quantidade de bytes contidos em todo o vetor e depois dividimos pela quantidade de bytes no primeiro elemento. Veja o código:

#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  // declara e inicializa um array de 5 inteiros
  int valores[5] = {43, 12, 8, 4, 102};
 
  // obtém a quantidade de elementos na matriz
  int quant = sizeof(valores) / sizeof(valores[0]);
 
  // exibe o resultado
  cout << "Quant. elementos : " << quant << endl;
 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Quant. elementos : 5

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