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 ::: Tratamento de Erros ::: Erros de Tempo de Execução

Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do Java

Quantidade de visualizações: 17277 vezes
A exceção ClassCastException é um erro de tempo de execução que ocorre quando tentamos fazer um cast (coerção - conversão explícita) de uma classe para outra classe diferente desta ou que não seja uma superclasse desta. Em outras palavras, casts válidos para classes e interfaces devem seguir as regras abaixo:

1) Se NovoTipo é uma classe, a classe da expressão sendo convertida deve ser do tipo NovoTipo ou herdar de NovoTipo.
2) Se NovoTipo é uma interface, a classe da expressão sendo convertida deve implementar NovoTipo.

Considere o código a seguir:

public class Estudos{
  public static void main(String args[]){
    Object x = new Integer(0);
    System.out.println((String)x);
  }
}

Este código compila normalmente. Porém, ao ser executado, a seguinte mensagem de erro é exibida:

Exception in thread "main" 
java.lang.ClassCastException: java.lang.Integer 
cannot be cast to java.lang.String
  at Estudos.main(Estudos.java:4)


Esta mensagem nos informa que a classe Integer não pode sofrer um cast para String, uma vez que Integer não é e nem herda de String. Veja agora a nova versão:

public class Estudos{
  public static void main(String args[]){
    Object x = new Integer(0);
    System.out.println((Integer)x);
  }
}

Veja que agora nós estamos fazendo o cast de uma referência Object para Integer. Embora Object não seja e nem herde de Integer, o sistema de tempo de execução sabe que x guarda atualmente uma referência a um Integer:

Object x = new Integer(0);



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

Como testar se um diretório existe em PHP usando a função file_exists()

Quantidade de visualizações: 19054 vezes
Em algumas situações nós precisamos verificar se um determinado diretório existe no sistema antes de efetuarmos alguma operação. Para isso nós podemos usar a função file_exists(). Esta função retorna um valor true se o diretório existir e false em caso contrário.

Veja um código PHP completo demonstrando o seu uso:

<?php
  $diretorio = "arquivo/imagens";

  if(file_exists($diretorio)){
    echo "O diretório já existe.";
  }
  else{
    echo "O diretório não existe ainda.";
  }
?>



Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string termina com uma determinada substring em Ruby usando uma função ends_with() personalizada

Quantidade de visualizações: 7076 vezes
O Ruby, até a versão 1.8.6 não dispõe de um método para verificar se uma string termina com uma determinada substring. Assim, veja abaixo como escrever uma função ends_with(). Esta função recebe a string e a substring e retorna true se a string terminar com a substring. Eis a listagem completa:

# função auxiliar que permite verificar se
# uma string termina com uma substring
def ends_with(string, substring)
  pos = string.length - substring.length
  
  if string.index(substring, pos) == pos   
    return true
  else
    return false
  end
end

# declara e inicializa uma variável string
frase = "Gosto muito de Java, PHP e Ruby"

# vamos verificar a string termina com "Ruby"
if ends_with(frase, "Ruby")
  puts "A string termina com \"Ruby\""
else
  puts "A string NÃO termina com \"Ruby\""
end

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

A string termina com "Ruby"


C ::: Dicas & Truques ::: Strings e Caracteres

Como percorrer os caracteres de uma string C usando um laço for

Quantidade de visualizações: 17619 vezes
Como em C uma string é um vetor de caracteres, tais caracteres podem ser acessados por meio de seu índice no vetor (um valor inteiro começando em 0). Este trecho de código mostra como você pode usar o laço for para acessar cada caractere individualmente e exibí-lo na tela do programa:

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

int main(int argc, char *argv[]){
  char palavra[] = "Arquivo";

  // vamos percorrer os caracteres usando um laço for
  int i;
  for(i = 0; i < strlen(palavra); i++){
    printf("Caractere na posicao %d = %c\n", i, palavra[i]);
  }

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

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

Caractere na posicao 0 = A
Caractere na posicao 1 = r
Caractere na posicao 2 = q
Caractere na posicao 3 = u
Caractere na posicao 4 = i
Caractere na posicao 5 = v
Caractere na posicao 6 = o


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

Como calcular porcentagem em VisuAlg - Como efetuar cálculos de porcentagem em VisuAlg

Quantidade de visualizações: 2733 vezes
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em VisuAlg.

Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas.

Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor, percentual, valor_final: real

inicio
  valor <- 178.00 // valor original
  percentual <- 15.0 / 100.0 // 15%
  valor_final <- valor + (percentual * valor)

  // mostra o resultado
  escreva("O valor final do produto é: ", valor_final)

  // O resultado será 204,70

fimalgoritmo

Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor, percentual, valor_final: real

inicio
  valor <- 250.00; // valor original
  percentual <- 8.0 / 100.0 // 8%
  valor_final <- valor - (percentual * valor)

  // mostra o resultado
  escreva("O valor final do produto é: ", valor_final)

  // O resultado será 230,00

fimalgoritmo

Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  perguntas, acertos: real

inicio
  perguntas <- 90.0
  acertos <- 72.0

  // mostra a porcentagem de acertos
  escreva("Porcentagem de acertos: ")
  escreval(((acertos / perguntas) * 100), "%")

  // mostra a porcentagem de erros
  escreva("Porcentagem de erros: ")
  escreval((((perguntas - acertos) / perguntas) * 100), "%")

  // Os resultados serão 80% e 20%

fimalgoritmo

Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor_anterior, novo_valor, porcentagem_lucro: real

inicio
  valor_anterior <- 300.0 // valor anterior
  novo_valor <- 340.0 // valor novo

  // calcula a porcentagem de lucro
  // efetua o cálculo
  porcentagem_lucro <- ((novo_valor * 100) / valor_anterior) - 100

  escreva("A porcentagem de lucro foi de: ", porcentagem_lucro, "%")

  // O resultado será 13,33

fimalgoritmo

Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor, percentual, comissao: real

inicio
  valor <- 70.0 // valor do produto
  percentual <- 5.0 / 100.0 // 5%

  // calcula a comissão
  comissao <- percentual * valor

  // mostra o resultado
  escreva("O valor repassado ao vendedor é: ", comissao)

  // O resultado será 3,5

fimalgoritmo



C++ ::: Dicas & Truques ::: Strings e Caracteres

Como substituir todas as ocorrências de uma substring em uma string C++ usando uma função substituir_string() personalizada

Quantidade de visualizações: 10544 vezes
Nesta dica mostrarei como podemos tirar proveito das funções empty(), size(), find(), replace() e length() da classe String do C++ para escrever uma função substituir_string() personalizada que nos permite substituir todas as ocorrências de uma substring em uma string.

Veja o código C++ completo para o exemplo:

#include <string>
#include <iostream>

using namespace std;

// função personalizada para substituir todas as ocorrências
// de uma substring em uma string
void substituir_string(string& str, const string de, 
  const string para){
  
  // variáveis auxiliares
  int i = 0, indice;
  
  // a string está vazia?
  if(str.empty()){
    str = de;
    return;
  }
  
  // fazemos as substituições da substring
  while(i < str.size()){
    indice = str.find(de, 0);
    
    if(indice >= 0){ 
      str.replace(indice, de.length(), para);
    }
    else{
      return;
    }
	
    i++;
  }
}

// função principal do programa
int main(int argc, char *argv[]){
  // vamos criar uma string
  string frase = "Java? Gosto de Java, Java!";
  cout << "A frase original é: " << frase << endl;	
	
  // Substitui as ocorrências de "Java" por "PHP"
  substituir_string(frase, "Java", "PHP"); 
	 
  // e mostramos o resultado	 
  cout << "Depois da substituição: " << frase << endl; 
	 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

A frase original é Java? Gosto de Java, Java!
Depois da substituição: PHP? Gosto de PHP, PHP!


C# ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string C# começa com uma determinada substring usando o método StartsWith() da classe String

Quantidade de visualizações: 11762 vezes
Em algumas situações nós precisamos verificar se uma palavra, texto ou frase começa com uma determinada substring. Em C# isso pode ser feito por meio da função StartsWith() da classe String. Este método retorna true se a string começar com a substring informada e false em caso contrário.

Veja um código C# completo no qual testamos se uma string começa com a substring "Gosto":

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string texto = "Gosto de programar em C#";

      if (texto.StartsWith("Gosto")) {
        Console.WriteLine("O texto começa com \"Gosto\"");
      }
      else {
        Console.WriteLine("O texto NÃO começa com \"Gosto\"");
      }

      Console.WriteLine();
    }
  }
}

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

O texto começa com "Gosto"


C++ ::: STL (Standard Template Library) ::: Vector C++

Como criar um vector de strings em C++, inserir alguns nomes usando a função push_back() e percorrê-los usando um iterador

Quantidade de visualizações: 11182 vezes
Se você tem pouca experiência com a classe container vector da STL (Standard Template Library), este exemplo o ajudará um pouco. Aqui eu mostro como criar um vector de strings em C++, inserir alguns nomes nele usando a função push_back() e depois percorrê-los individualmente usando um iterador.

Veja o código C++ completo para o exemplo:

#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[]){
  // um vector vazio que conterá strings
  vector<string> nomes;

  // vamos inserir três nomes
  nomes.push_back("Osmar J. Silva");
  nomes.push_back("Carlos de Souza");
  nomes.push_back("Maria Dias de Carvalho");

  // vamos percorrer o vector e exibir os nomes
  vector<string>::iterator it;
  for(it = nomes.begin(); it < nomes.end(); it++){
    cout << *it << endl;
  }

  cout << "\n" << endl;
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Osmar J. Silva
Carlos de Souza
Maria Dias de Carvalho


Python ::: Dicas & Truques ::: Data e Hora

Como construir uma data em Python usando o construtor da classe datetime

Quantidade de visualizações: 7012 vezes
Nesta dica mostrarei como podemos usar o construtor da classe datetime do Python para construir e retornar uma nova data. Note que estou fornecendo a data para construtor da classe datetime usando o ano, o mês e o dia.

Veja o código Python completo para o exemplo:

from datetime import datetime

# função principal do programa
def main():
  # vamos definir o dia, mês e ano
  dia = 20
  mes = 4
  ano = 1980

  # Constrói um datetime (ano, mês, dia)
  data = datetime(ano, mes, dia)

  # Exibe o conteúdo do datetime
  print("A data construída foi {0}".format(data))
 
  # Obtém o ano da data recém-criada
  print("O ano da data construída foi: {0}".format(data.year))

if __name__== "__main__":
  main()

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

A data construída foi 1980-04-20 00:00:00
O ano da data construída foi: 1980


PHP ::: Fundamentos da Linguagem ::: Comentários

Aprenda a programar em PHP - Como inserir comentários em seus códigos PHP

Quantidade de visualizações: 16100 vezes
Comentários em nossos códigos são sempre uma boa idéia. Primeiro porque, no momento que estávamos escrevendo, a lógica está fresca em nossa cabeça. Porém, alguns dias depois podemos não entender muito bem a estratégia usada na resolução de um determinado problema.

A outra razão para o uso de comentários é facilitar o trabalho da pessoa que dará manutenção em nossos códigos, ou talvez permitir um melhor entendimento por parte do cliente que nos contratou para desenvolver uma determinada rotina.

Comentários em PHP podem ser usados de três formas diferentes. Para comentários de múltiplas linhas, devemos usar a sintáxe da linguagem C/C++:

<?
  /*
  Este é um exemplo de comentário de múltiplas
  linhas. Você pode usar quantas linhas quiser neste
  tipo de comentário. Este tipo de comentário é o mesmo
  usado na linguagem C/C++.
  */
   
  $valor = 15;
  echo "O valor informado é: " . $valor;
?>

Podemos usar comentários de uma linha apenas, usando a sintáxe da linguagem C++:

<?
  $valor = 30; // Define o valor da variável
  echo "O valor informado é: " . $valor; // exibe resultado
?>

A terceira forma de comentário usa o modelo de Shell:

<?
  $valor = 120; # Define o valor da variável
  echo "O valor informado é: " . $valor; # exibe resultado
?>


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


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