Você está aqui: Cards de
Card 0 de 0
O filtro aplicado não retornou nenhum resultado. Clique o botão Remover Filtro ou experimente um filtro diferente.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de Java - Como resolver o problema da Torre de Hanói recursivamente

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

Torre de Hanói, ou The Towers of Hanoi, é um "quebra-cabeça" que consiste em uma base contendo três pinos, em um dos quais são dispostos alguns discos uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo. O problema consiste em passar todos os discos de um pino para outro qualquer, usando um dos pinos como auxiliar, de maneira que um disco maior nunca fique em cima de outro menor em nenhuma situação. O número de discos pode variar sendo que o mais simples contém apenas três.

A solução da Torre de Hanói (The Towers of Hanoi) pode ser feita recursivamente da seguinte forma:

O caso base (parada da recursão) é quando n = 1. Se n = 1 nós podemos simplesmente mover o disco de A para B, sem precisar passar pelo pino C. Quando n > 1 nós podemos dividir o problema original em três sub-problemas e resolvê-los sequencialmente.

1) Mova os primeiros n - 1 discos de A para C com a ajuda do pino B;
2) Mova o disco n de A para B;
3) Mova n - 1 discos do pino C para o pino B com a ajuda do pino A.

Além de resolver o problema, seu programa deverá informar quantas chamadas recursivas foram feitas. Sua saída deverá ser parecida com:



Resposta/Solução:

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

package arquivodecodigos;

import java.util.Scanner;
 
public class Estudos {
  static int quantChamadasRecursivas = 0; // registra as chamadas recursivas  
     
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
       
    // vamos ler a quantidade de discos a serem usados na simulação
    System.out.print("Informe a quantidade de discos: ");
    int discos = Integer.parseInt(entrada.nextLine());
 
    // resolve o problema recusivamente
    System.out.println("\nOs movimentos para resolver o problema foram:\n");
    moverDiscos(discos, 'A', 'B', 'C');
    System.out.println("\nForam feitas " + quantChamadasRecursivas + 
      " chamadas recursivas");
    System.out.println();
  }
   
  // método recursivo que resolve o problema da Torre de Hanói
  public static void moverDiscos(int n, char daTorre, char paraTorre, 
    char torreAux) {
    quantChamadasRecursivas++; // registra mais uma chamada recursiva
       
    if(n == 1){ // condição de parada
      System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + 
        paraTorre);
    }
    else{ // faz mais uma chamada recursiva
      moverDiscos(n - 1, daTorre, torreAux, paraTorre);
      System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + 
        paraTorre);
      moverDiscos(n - 1, torreAux, paraTorre, daTorre);
    }
  }
}



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


C# ::: Windows Forms ::: ListBox

Como pesquisar e retornar o índice de um item na ListBox do C# Windows Forms

Quantidade de visualizações: 9143 vezes
Nesta dica mostrarei como podemos pesquisar um valor em uma ListBox do C# Windows Forms. Se o item pesquisado estiver na lista nós vamos retornar o índice de sua ocorrência.

Veja o código completo para o exemplo, disparado a partir do evento Click de um botão Button:

private void button2_Click(object sender, EventArgs e)
{
  // pesquisa um item na ListBox
  int pos = listBox1.Items.IndexOf("São Paulo");
  if (pos > -1){
    MessageBox.Show("O item pesquisado foi encontrado na posição " 
     + pos);
  }
  else{
    MessageBox.Show("O item pesquisado não foi encontrado");
  }
}



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

Como retornar o tamanho de uma string em Java usando o método length() da classe String

Quantidade de visualizações: 1 vezes
O método length() da classe String do Java é muito útil quando queremos o tamanho, ou seja, o comprimento de uma string. Uma string é um conjunto de caracteres que compôem uma palavra, frase ou texto em Java.

Este método é chamado diretamente na instância da classe String e retorna um int contendo o tamanho da string. Veja um exemplo de seu uso:

package arquivodecodigos;
 
// Este exemplo mostra como obter o tamanho de uma string
public class Estudos{
  public static void main(String[] args){
    String frase = "Java é muito interessante";
    
    // vamos obter o tamanho da string
    int tam = frase.length();
    
    // e mostramos o resultado
    System.out.println("Esta string contem " + 
      tam + " caracteres");
    
    System.exit(0);
  }
} 

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

Esta string contem 25 caracteres.


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

Exercício Resolvido de Python - Como testar se um ano é bissexto em Python - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não

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

Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele 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. O último ano bissexto foi 2012 e o próximo será 2016.

Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400.

Escreva um programa Python que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não.

Sua saída deverá ser parecida com:

Informe o ano: 2024
O ano informado é bissexto.
Resposta/Solução:

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

# método principal
def main():
  # vamos solicitar que o usuário informe um ano
  ano = int(input("Informe o ano: "))
	
  # vamos verificar se o ano informado é bissexto
  if(((ano % 4 == 0) and (ano % 100 != 0)) or (ano % 400 == 0)):
    print("\nO ano informado é bissexto.\n")
  else:
    print("\nO ano informado não é bissexto.\n");

if __name__== "__main__":
  main()



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

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

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


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