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
Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como renomear um arquivo em Java usando a função renameTo() da classe File

Quantidade de visualizações: 189 vezes
Nesta dica eu mostro como podemos tirar proveito do método renameTo() da classe File do Java para renomear arquivos. Lembre-se de que a classe File está no pacote java.io. Além disso, não coloquei try...catch no exemplo. Faça isso caso você deseje usar este código em aplicações reais.

Veja o código completo:

package arquivodecodigos;

import java.io.File;

public class Estudos{
  public static void main(String[] args){
    // arquivo com o nome antigo
    File arquivo1 = new File("c:\\java\\Conectar.java");
     
    // arquivo com o novo nome
    File arquivo2 = new File("c:\\java\\Conectar2.java");
     
    boolean ok = arquivo1.renameTo(arquivo2);
    if(ok){
      System.out.println("Arquivo renomeado com sucesso.");
    }
    else{
      System.out.println("Nao foi possivel renomear o arquivo.");
    }
  }
}

Se o arquivo puder se renomeado com sucesso você verá a mensagem:

Arquivo renomeado com sucesso.


Python ::: Dicas & Truques ::: Lista (List)

Curso completo de Python - Como obter a quantidade de itens em uma lista Python

Quantidade de visualizações: 8826 vezes
Nesta dica mostrarei como podemos usar a função len() da linguagem Python para obtermos a quantidade de itens em um objeto List. Não deixe de ver outros exemplos de List nesta mesma seção.

Veja o código Python completo para o exemplo:

def main():
  # cria uma lista de nomes
  nomes = ['Carlos', 'Ricardo', 'Osmar']
 
  # obtém a quantidade de elementos na lista
  print("A lista contém %d itens" % len(nomes))

if __name__== "__main__":
  main()

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

A lista contém 3 itens


C# ::: Dicas & Truques ::: Mouse e Teclado

C# Windows Forms - Como tratar eventos do mouse em suas aplicações C# Windows Forms

Quantidade de visualizações: 16599 vezes
Aplicações de interface gráfica (GUI) em C# fazem uso extensivo do mouse e qualquer classe que herde de System.Windows.Forms.Control pode receber e tratar seus eventos. Os eventos do mouse mais comuns são pressionamento (click), liberação, movimento, etc. E cada um possui suas particularidades.

Sempre que um evento do mouse ocorre, as informações sobre tal evento são fornecidas ao método de tratamento de evento por meio de um objeto da classe MouseEventArgs (alguns eventos usam EventArgs) e o delegate usado para criar os gerenciadores de eventos do mouse é MouseEventHandler. Veja, por exemplo, o tratador de evento para o evento MouseClick de um Button:

private void button1_MouseClick(object sender, MouseEventArgs e){
  MessageBox.Show("Sou um Button e acabei de ser clicado!");
}

A classe MouseEventArgs é muito útil, pois é ela que nos permite obter informações sobre qual botão foi pressionado, as coordenadas x e y do evento, se um duplo-clique ocorreu, etc.

Veja um trecho de código no qual verificamos qual botão do mouse foi pressionado durante um evento MouseUp em um formulário:

private void Form1_MouseUp(object sender, MouseEventArgs e){
  if(e.Button == MouseButtons.Left){
    MessageBox.Show("Fui clicado com o botão esquerdo!");
  }
  else if(e.Button == MouseButtons.Right){
    MessageBox.Show("Fui clicado com o botão direito!");
  }
  else if (e.Button == MouseButtons.Middle){
    MessageBox.Show("Fui clicado com o botão do meio!");
  }
  else{
    MessageBox.Show("O que está acontecendo?");
  }
}

Veja os eventos do mouse que possuem um objeto da classe EventArgs:

a) MouseEnter - Ocorre quando o cursor do mouse entra na área de um controle.

b) MouseLeave - Ocorre quando o cursor do mouse deixa a área de um controle.

c) Click - Ocorre quando clicamos na área de um controle. Note que um click do mouse envolve pressionar e liberar o botão do mouse.

Veja os eventos do mouse que possuem um objeto da classe MouseEventArgs:

a) MouseDown - Ocorre quando o botão do mouse é pressionado dentro da área de um controle.

b) MouseHover - Ocorre quando o cursor do mouse pára sobre a área de um controle (sem clique, pressionamento ou movimento).

c) MouseMove - Ocorre quando movimentamos o mouse na área de um controle.

d) MouseUp - Ocorre quando o botão do mouse é liberado sobre a área de um controle.

e) MouseClick - Ocorre quando clicamos na área de um controle. Note que um click do mouse envolve pressionar e liberar o botão do mouse.

Há algumas diferenças significativas entre os eventos Click e MouseClick. Não deixe de consultar as outras dicas desta seção para aprofundar seus conhecimentos.


Python ::: Tkinter GUI Toolkit ::: Formulários e Janelas

Como definir a cor de fundo de uma janela do Tkinter do Python usando a função config()

Quantidade de visualizações: 3358 vezes
A cor de fundo de uma janela do Tkinter do Python pode ser definida por meio de uma chamada à função config() da classe Tk com o valor de uma cor para o parâmetro bg.

Veja uma aplicação Tkinter completa no qual definimos o título da janela e, em seguida, sua cor de fundo:

# vamos importar o módulo Tkinter
import tkinter as tk

# método principal
def main():
  # vamos criar a janela principal da aplicação
  janela = tk.Tk()

  # vamos definir o título da janela
  janela.title("Sistema de Biblioteca")

  # vamos definir a cor de fundo da janela
  janela.config(bg='#F2B33D')

  # entramos no loop de eventos
  janela.mainloop()

if __name__== "__main__":
  main()



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

Como pesquisar valores em arrays do PHP usando a função array_search()

Quantidade de visualizações: 24202 vezes
A função array_search() do PHP é muito útil quando precisamos pesquisar um determinado valor em um vetor e retornar o seu índice. É importante observar que esta função retorna o índice do elemento se ele for encontrado no array e, em caso contrário, retorna o valor FALSE.

Veja um exemplo completo de seu uso:

<?php
  $pessoas[0] = "Carlos";
  $pessoas[1] = "Juliana";
  $pessoas[2] = "Igor";
  $pessoas[3] = "Marcelo";
  $pessoas[4] = "Amélia";

  $indice = array_search("Igor", $pessoas);
  if($indice){
    echo "O valor foi encontrado no índice " . $indice;
  }
  else{
    echo "O valor pesquisado não foi encontrado.";
  }
?>

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

O valor foi encontrado no índice 2.


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

Exercícios Resolvidos de Java - Como resolver o problema da Subsequência de Soma Máxima em Java usando o Algorítmo de Kadane

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

O problema do Subvetor Contíguo de Soma Máxima, ou Subarray ou Subsequência de Soma Máxima é um dos algorítmos mais populares na programação dinâmica. Este problema envolve encontrar um subvetor, ou seja, um sub-array contíguo de maior soma possível. Por contíguo entendemos que os elementos da subsequência deverão estar consecutivos no vetor original.

O Algorítmo de Kadane, inventado por Jay Kadane em 1977, é um dos favoritos para a resolução deste problema, e deverá ser aplicado na resolução deste exercício.

Dado o vetor [-2, 1, -3, 4, -1, 2, 1, -5, 4], encontre a soma máxima da subsequência contígua. Não é exigido mostrar os elementos da sub-sequência, apenas o valor da soma máxima.

Sua saída deverá ser parecida com:

A soma maxima é: 6
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um array com 9 elementos
    int valores[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
    
    // agora usamos o algoritmo de Kadane para encontrar
    // a maior soma consecutiva
    int soma_maxima = kadane(valores);
    System.out.println("A soma maxima é: " + soma_maxima);
  }
  
  // método que recebe um array e usa o algoritmo de Kadane
  // para retornar a maior soma consecutiva
  public static int kadane(int vetor[]){
    // ajustamos max_atual para 0 e max_total para -1 
    int max_atual = 0, max_total = -1;
    
    // um laço for que percorre todos os elementos do
    // vetor, do primeiro até o último
    for(int i = 0; i < vetor.length; i++){
      // max_atual recebe ele mesmo mais o valor
      // do elemento no índice i
      max_atual = max_atual + vetor[i];
      
      // se max_atual for negativo nós o ajustamos
      // para zero novamente
      if(max_atual < 0){
        max_atual = 0;
      }
      
      // se max_atual for maior que max_total então
      // max_total recebe o valor de max_atual
      if(max_atual > max_total){
        max_total = max_atual;
      }
    }
    
    // e retornamos a soma máxima
    return max_total;
  }
}



Delphi ::: VCL - Visual Component Library ::: TListBox

Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltipla

Quantidade de visualizações: 14430 vezes
Este trecho de código mostra como podemos obter e exibir todos os itens selecionados em uma TListBox de seleção múltipla. Para executá-lo, coloque uma ListBox, um Memo e um Button em um formulário. Altere a propriedade MultiSelect da ListBox para True, adicione alguns itens e execute. Selecione um ou mais itens e clique no botão para visualizar o resultado. Note que usei um TStringList (classe concreta derivada de TStrings) para armazenar os itens selecionados. Veja o código:

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  selecionados: TStringList;
begin
  // para que este exemplo funcione corretamente, a ListBox
  // deverá permitir seleção múltipla
  // ListBox1.MultiSelect := True;
  selecionados := TStringList.Create;

  // vamos obter os itens selecionados na ListBox
  if ListBox1.SelCount > 0 then
    begin
      for i := 0 to ListBox1.Count - 1 do
        begin
          if ListBox1.Selected[i] then
            selecionados.Add(ListBox1.Items[i]);
        end;

        // vamos exibir os itens selecionados em um TMemo
        Memo1.Lines.Clear;
        Memo1.Lines.Add('Os itens selecionados são:');

        for i := 0 to selecionados.Count - 1 do
          Memo1.Lines.Add(selecionados[i]);
    end
  else
    ShowMessage('Nenhum item selecionado.');

  // vamos liberar o TStringList
  selecionados.Free;
end;

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


AngularJS ::: Angular / AngularJS + JavaScript ::: Controllers AngularJS

Como adicionar funções (ou métodos) ao seu controller AngularJS

Quantidade de visualizações: 2064 vezes
Nesta dica mostrarei como adicionar comportamento ao seu controller AngularJS, ou seja, adicionar funções ou métodos para acessar e/ou modificar as variáveis contidas no escopo.

Para este exemplo criaremos um controller chamado "VolumeTV". Este controller terá uma variável chamada "volume" e dois botões para aumentar ou diminuir o volume. Note que, tanto a variável quanto as duas funções são colocadas no $scope para facilitar o acesso destes a partir da view.

Veja o exemplo completo, sem usar AngularJS CLI nem TypeScript, somente JavaScript e HTML:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Cadastro de Alunos AngularJS</title>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js">
</script>

</head>
<body>

<script type="text/javascript">
  // vamos criar uma nova aplicação
  var app = angular.module('MinhaApp', []);
     
  // vamos criar o controller VolumeTV	 
  app.controller('VolumeTV', function ($scope){
    // define o volume inicial
    $scope.volume = 5;
	
    // função para aumentar o volume
    $scope.aumentarVolume = function(){
       $scope.volume++;
    };
	
    // função para diminuir o volume
    $scope.diminuirVolume = function(){
       $scope.volume--;
    };      
  });
</script>

<div ng-app="MinhaApp" ng-controller="VolumeTV">
  <h1>Volume atual: {{volume}}</h1>
  <button ng-click="aumentarVolume()">Aumentar Volume</button>
  <button ng-click="diminuirVolume()">Diminuir Volume</button>
</div>

</body>
</html>



Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como converter todo o conteúdo de uma string para letras maiúsculas em Delphi usando a função AnsiUpperCase()

Quantidade de visualizações: 17276 vezes
Algumas vezes precisamos converter todo o conteúdo de uma string para letras maiúsculas. Em Delphi isso pode ser feito com o auxílio da função AnsiUpperCase(). Esta função recebe uma string e retorna outra string com todos os caracteres maiúsculos. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string;
begin
  nome := 'Osmar';

  // vamos converter a string para letras maiúsculas
  nome := AnsiUpperCase(nome);

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

Note que esta função suporta caracteres de mais de um byte e com acentuações.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


PHP ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104

Boleto Bancário PHP - Como calcular o Dígito Verificador do Nosso Número (Módulo 11) - Boleto Caixa Econômica

Quantidade de visualizações: 2872 vezes
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Nosso Número para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104).

O Nosso Número é o número de identificação do título no Banco. Este número deve ser único nos seus sistemas, pois, sua combinação com o código do cedente o torno único também no sistema bancário. Além disso, é o Nosso Número que permite ao Banco e a empresa identificar os dados da
cobrança que deram origem ao bloqueto.

Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o Nosso Número é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente.
Seu formato é XYNNNNNNNNNNNNNNN-D, onde:
a) X = Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro);
b) Y = Emissão do bloqueto (4-Cedente);
c) NNNNNNNNNNNNNNN = Nosso Número (15 posições livres do Cedente);
d) D = Dígito Verificador do Nosso Número calculado através do Modulo 11, conforme código que mostrarei a seguir. Nos boletos e arquivos de remessa da Caixa, o Dígito Verificador do Nosso Número admite 0 (zero), diferentemente do DV Geral do Código de Barras (que também mostro como calcular em dicas dessa seção).

O cálculo que mostrarei a seguir é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado.

Dito isso, veja o código PHP completo para uma função que recebe o Nosso Número e retorna seu dígito verificador:

<?php
  // função que recebe o nosso número
  // e retorna o seu dígito verificador
  function dvNossoNumero($nossoNumero){
    // o nosso número possui mais que 17 dígitos?
    if(strlen($nossoNumero) > 17){
      die("O Nosso Número não pode ter mais que 17 dígitos.");	
    }
	
    // agora vamos definir os índices de multiplicação
    $indices = "29876543298765432";
    // e aqui a soma da multiplicação coluna por coluna
    $soma = 0;
     
    // fazemos a multiplicação coluna por coluna agora
    for($i = 0; $i < strlen($nossoNumero); $i++){
      $soma = $soma + ((int)($nossoNumero[$i])) * 
        ((int)($indices[$i])); 
    }
    
    // obtemos o resto da divisão da soma por onze
    $resto = $soma % 11;
     
    // subtraímos onze pelo resto da divisão
    $digito = 11 - $resto;  	
	 
    // atenção: Se o resultado da subtração for
    // maior que 9 (nove), o dígito será 0 (zero)
    if($digito > 9){
      $digito = 0;    
    }
     
    return $digito;
  }
  
  // vamos calcular o Dígito Verificador do 
  // Nosso Número
  $carteira = "1"; //  
  $emissao = "4"; // cedente
  $nossoNumero = "19";
  // preenche com zeros até completar 15 posições
  $nossoNumero = sprintf("%015d", $nossoNumero);
  $nossoNumeroCompleto = $carteira . $emissao . $nossoNumero;
  $digito = dvNossoNumero($nossoNumeroCompleto);
  echo "O dígito verificador para o nosso número " . 
    $nossoNumeroCompleto . " é: " . $digito;
?>

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

O dígito verificador para o nosso número 14000000000028288 é: 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á 37 usuários muito felizes estudando em nosso site.