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.

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

PHP para iniciantes - Como obter a diferença em horas entre duas datas (e suas respectivas horas)

Quantidade de visualizações: 117 vezes
Nesta dica eu mostro como podemos usar as funções mktime() e gmdate() da linguagem PHP para obter e retornar a diferença em horas entre duas datas, e suas horas, é claro. Note que vamos fornecer duas datas diferentes (e suas horas) e vamos obter a diferença entre elas em segundos.

Veja o código completo:

<head>
<title>Estudando PHP</title>
</head>
<body>

<?php
  // data e hora inicial = 23/11/2006 - 13:23:15
  $data_inicial = mktime(13, 23, 15, 11, 23, 2006);
  // data e hora final = 23/11/2006 - 10:23:15
  $data_final = mktime(22, 23, 15, 11, 23, 2006);
  $segundos = $data_final - $data_inicial;
  echo "A diferença em horas entre as duas 
    datas é: " . gmdate("H:i:s", $segundos);
?>
 
</body>
</html>

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

A diferença em horas entre as duas datas é: 09:00:00


Python ::: Dicas & Truques ::: Strings e Caracteres

Como pesquisar uma substring em uma string usando a função find() da linguagem Python

Quantidade de visualizações: 12451 vezes
Nesta dica mostrarei como podemos usar o método find() do objeto string da linguagem Python para pesquisar uma
substring em uma string. A assinatura dessa função é:

find(substring[, start[, end]])


onde substring é a substring a ser pesquisada e start e end são argumentos opcionais que definem os índices de início e fim da pesquisa.

Se a substring não for encontrada, o valor -1 é retornado. Se for encontrada, o índice do primeiro caractere é retornado.

Veja um exemplo completo do seu uso:

def main():
  frase = "Gosto de Python e JavaScript"

  indice = frase.find("Python")
  if indice != -1:
    print("A palavra foi encontrada no índice", indice)
  else:
    print("A palavra não foi encontrada")

if __name__== "__main__":
  main()

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

A palavra foi encontrada no índice 9.


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

Exercício Resolvido de VisuAlg - Um programa que lê três números inteiros e mostra o maior

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

Faça um algoritmo VisuAlg que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com:

Informe o primeiro número: 34
Informe o segundo número: 83
Informe o terceiro número: 72
O segundo número é o maior
Resposta/Solução:

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

Algoritmo "Um programa que lê três números inteiros e mostra o maior"

Var
  // variáveis usadas na resolução do problema
  num1, num2, num3: inteiro

Inicio
  // vamos solicitar os três números inteiros
  escreva("Informe o primeiro número: ")
  leia(num1)
  escreva("Informe o segundo número: ")
  leia(num2)
  escreva("Informe o terceiro número: ")
  leia(num3)

  // o primeiro número é o maior?
  se (num1 > num2) e (num1 > num3) entao
    escreva("O primeiro número é o maior")
  senao
    // o segundo número é o maior?
    se (num2 > num1) e (num2 > num3) entao
      escreva("O segundo número é o maior")
    senao
      // o terceiro número é o maior?
      se (num3 > num1) e (num3 > num2) entao
        escreva("O terceiro número é o maior")
      senao
        // os números não são diferentes
        escreva("Os três números não são diferentes")
      fimse
    fimse
  fimse

Fimalgoritmo



Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos

Como acessar variáveis de instâncias para escrita em Ruby sem a necessidade de métodos mutatórios usando a função attr_accessor

Quantidade de visualizações: 7378 vezes
Por padrão, variáveis de instância em Ruby só podem ser acessadas para escrita usando métodos mutatórios, ou seja, uma variável de instância @nome deve ser modificada usando um método definir_nome.

É possível dispensar o uso de métodos mutatórios empregando o método attr_accessor nos nomes das variáveis que poderão ser acessadas e modificadas. Lembre-se que, ao contrário de attr_reader, o método attr_accessor possibilita o acesso à variável de instância tanto para leitura quanto para escrita.

Veja um exemplo:

# Definição da classe Cliente
class Cliente
   attr_accessor :nome, :idade
   
   def initialize(nome, idade)
      @nome = nome
      @idade = idade
   end
end

# Cria uma instância da classe Cliente e inicializa as
# variáveis de instância @nome e @idade
cliente = Cliente.new("Osmar J. Silva", 35)

# Acessa as variáveis de instância sem a necessidade
# de métodos acessórios
puts cliente.nome
puts cliente.idade

# Modifica as variáveis de instância sem a necessidade
# de métodos mutatórios
cliente.nome = "Carlos da Silva"
cliente.idade = 56

# Obtém os resultados
puts cliente.nome
puts cliente.idade

Se tentarmos acessar e modificar as variáveis nome e idade diretamente, sem os métodos mutatórios e a função attr_accessor nós teremos um erro do tipo:

Traceback (most recent call last):
estudos.arb:15:in `<main>': undefined method `nome' for #<Cliente:0x0000029a7211f080 @nome="Osmar J. Silva", @idade=35> (NoMethodError)


C++ ::: Dicas & Truques ::: Matemática e Estatística

Como calcular MDC em C++ - C++ para matemática

Quantidade de visualizações: 37408 vezes
Como calcular MDC em C++

Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada:

Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b.

O trecho de código abaixo mostra como calcular o MDC de dois números informados:

#include <iostream>

using namespace std;

int MDC(int a, int b){
  int resto;

  while(b != 0){
    resto = a % b;
    a = b;
    b = resto;
  }

  return a;
}

int main(int argc, char *argv[]){
   int x, y;

   cout << "Este programa permite calcular o MDC\n";
   cout << "Informe o primeiro valor: ";
   cin >> x;
   cout << "Informe o segundo valor: ";
   cin >> y;

   cout << "\nO Máximo Divisor Comum de "
     << x << " e " << y << " é " << MDC(x, y) << endl;

   system("PAUSE");
   return EXIT_SUCCESS;
}

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

Este programa permite calcular o MDC
Informe o primeiro número: 12
Informe o segundo número: 9
O Máximo Divisor Comum de 12 e 9 é 3


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

Como verificar a existência de um diretório usando a função DirectoryExists() do Delphi

Quantidade de visualizações: 13176 vezes
Em algumas situações precisamos saber se um diretório já existe, talvez para evitar que nosso código tente criar um diretório com o mesmo caminho e nome. Em Delphi isso pode ser feito com o auxílio da função DirectoryExists() da unit SysUtils. Esta função recebe uma string contendo o nome do diretório a ser pesquisado e retorna true se o diretório existir e false em caso contrário. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  diretorio: string;
begin
  // diretório que queremos verificar a existência
  diretorio := 'C:\arquivo de codigos';

  // vamos verificar se o diretório existe
  if DirectoryExists(diretorio) then
    ShowMessage('O diretório existe')
  else
    ShowMessage('O diretório NÃO existe');
end;

Note que a unit FileCtrl também contém uma função chamada DirectoryExists(). Porém, esta função foi considerada ultrapassada. Dê preferência àquela da unit SysUtils.

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


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

Aprenda a programar em Python - Como criar suas próprias funções em Python

Quantidade de visualizações: 17873 vezes
Funções em Python são definidas usando a palavra-chave def. Tal palavra é seguida pelo nome da função, seguida de um par de parênteses que podem conter os parâmetros da função. Finalmente os dois-pontos (:) finalizam a definição da função. Veja um exemplo:

def minhaFuncao():
  print "Fui chamada"

# chama a função
minhaFuncao()

Veja agora um exemplo de função com um parâmetro:

def escrever(texto):
  print texto

# chama a função
escrever("Gosto de programar em Python")

Em Python, funções podem retornar um resultado para o código chamador usando a palavra-chave return. Veja:

def maior(x, y):
  if x > y:
    return x
  else:
    return y

# chama a função
print maior(43, 6)



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

Como calcular o cosseno de um ângulo em C# usando a função Cos() da classe Math - Calculadora de cosseno em C#

Quantidade de visualizações: 2166 vezes
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula:

\[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \]

Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função Cos() da linguagem C#. Esta função, que é um método da classe Math, recebe um valor numérico Double e retorna um valor Double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:

using System;
using System.Collections;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos calcular o cosseno de três números
      Console.WriteLine("Cosseno de 0 = " + Math.Cos(0));
      Console.WriteLine("Cosseno de 1 = " + Math.Cos(1));
      Console.WriteLine("Cosseno de 2 = " + Math.Cos(2));

      Console.WriteLine("\nPressione qualquer tecla para sair...");
      // pausa o programa
      Console.ReadKey();
    }
  }
}

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

Cosseno de 0 = 1
Cosseno de 1 = 0,5403023058681397
Cosseno de 2 = -0,4161468365471424

Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo:




Java ::: Dicas & Truques ::: Mouse e Teclado

Java Swing - Como detectar um clique em um botão JButton e exibir uma mensagem JOptionPane

Quantidade de visualizações: 12 vezes
Nesta dica mostrarei como podemos usar o método addActionListener() da linguagem Java para definir um evento de clique a um botão JButton. Quando o usuário clicar no botão nós vamos interceptar este evento e mostrar uma mensagem JOptionPane.showMessageDialog().

Veja o código completo para o exemplo:

 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JButton btn;
 
  public Estudos() {
    super("Detectando um clique em um botão");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    btn = new JButton("Clique");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JOptionPane.showMessageDialog(null, "Fui clicado!");
        }
      }   
    ); 
        
    c.add(btn);
     
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



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

Exercícios Resolvidos de Java - Escreva um programa (algorítmo) Java que usa o laço for para exibir uma tabela de conversões de milhas para quilômetros

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

Escreva um programa (algorítmo) Java que usa o laço for para exibir uma tabela de conversões de milhas para quilômetros. Sabendo que uma milha equivale a 1.609 quilômetros, seu programa deverá exibir uma saída parecida com:

Milhas		Quilômetros
-------------------------------
1		1.609
2		3.218
3		4.827
4		6.436
5		8.045
6		9.654
7		11.263
8		12.872
9		14.481
10		16.09
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){
    System.out.println("Milhas\t\tQuilômetros");
    System.out.println("-------------------------------");

    // um laço for que repetirá 10 vezes
    for (int i = 1; i <= 10; i++){
      // usamos a variável de controle do laço para o cálculo
      System.out.println(i + "\t\t" + (i * 1.609));
    }
  }
}


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


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