Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Você está aqui: Cards de Python
Card 1 de 2
A indentação é mesmo obrigatória em Python?

Sim, a linguagem Python exige o uso da indentação como forma de formar blocos de código.

O interpretador Python é informado que um grupo de instruções pertence a um bloco específico por meio da indentação. Em geral, programadores Python usam um ou dois caracteres de tabulação (tecla Tab) como forma de indentar seus blocos de código.

Em todas as linguagens de programação a indentação facilita a leitura e compreensão do código escrito, porém, em Python, ela é um requisito obrigatório.

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:

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

Como embaralhar as palavras em uma frase ou texto usando C#

Quantidade de visualizações: 12535 vezes
Nesta dica mostrarei como podemos usar a linguagem C# para embaralhar, ou seja, exibir as palavras de uma string em ordem aleatória.

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

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "Gosto de VB.NET, Java e C#";
      // mostra a frase na ordem original
      Console.WriteLine("Ordem original: " + frase);

      // converte em um vetor de palavras
      string[] frase2 = frase.Split(' ');

      // vamos embaralhar 5 vezes
      Embaralhar(ref frase2, 5);

      // junta as partes da string novamente
      frase = String.Join(" ", frase2);

      // exibe o resultado
      Console.WriteLine("Embaralhada: " + frase);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }

    static void Embaralhar(ref String[] array, int vezes) {
      Random rand = new Random(DateTime.Now.Millisecond);

      for (int i = 1; i <= vezes; i++) {
        for (int x = 1; x <= array.Length; x++) {
          Trocar(ref array[rand.Next(0, array.Length)],
            ref array[rand.Next(0, array.Length)]);
        }
      }
    }

    static void Trocar(ref String arg1, ref String arg2) {
      String strTemp = arg1;
      arg1 = arg2;
      arg2 = strTemp;
    }
  }
}

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

Ordem original: Gosto de VB.NET, Java e C#
Embaralhada: VB.NET, C# Java de e Gosto


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas

Exercícios Resolvidos de Java - Como inserir no início de uma lista ligada em Java - Escreva um programa Java que pede para o usuário informar vários

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

Este exercício Java demonstra como inserir um nó no início de uma lista ligada. Escreva um programa Java que cria uma lista ligada, ou seja, uma lista dinamicamente encadeada, e pede para o usuário informar vários valores inteiros, colocando os valores sempre no início da lista.

Seu código deverá interromper a leitura dos valores quando o usuário informar o valor -1. Quando isso acontecer, mostre todos os valores contidos na lista ligada, na mesma ordem que foram inseridos (o último valor lido será o primeiro da lista).

Sua saída deve ser parecida com:

Inserindo valores no início da lista

Informe o valor (-1 para sair): 8
Informe o valor (-1 para sair): 2
Informe o valor (-1 para sair): 5
Informe o valor (-1 para sair): 7
Informe o valor (-1 para sair): -1

Valores na lista: 7 -> 5 -> 2 -> 8 -> null
Resposta/Solução:

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

package estudos;
  
import java.util.Scanner;

// classe interna usada para representar um
// nó na lista ligada
class No {
  int valor; // valor do nó
  No proximo; // aponta para o novo nó
 
  // construtor da classe No
  No(int valor, No proximo) {
    this.valor = valor;
    this.proximo = proximo;
  }
}

public class Estudos { 
  public static void main(String args[]){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos criar uma referência para o início da lista
    No inicio = null;
    
    // agora vamos pedir para o usuário informar
    // valores inteiros. O valor -1 sai do laço
    int valor;
    System.out.println("Inserindo valores no início da lista\n");
    do {
      System.out.print("Informe o valor (-1 para sair): ");
      valor = Integer.parseInt(entrada.nextLine());
      if (valor != -1) {
        inicio = inserirInicio(inicio, valor);
      }
    } while(valor != -1);
    
    // vamos exibir os valores na lista ligada
    System.out.print("\nValores na lista: ");
    exibirLista(inicio);
  }
  
  // função que permite adicionar um nó no início da
  // lista ligada
  public static No inserirInicio(No inicio, int valor) {
    // vamos apontar para o nó inicial
    No atual = inicio;
    // criamos um novo nó
    No novo = criarNo(valor);
 
    // a lista ligada ainda está vazia?
    if (atual == null){
      // inicio recebe o novo nó
      inicio = novo;
    }    
    else { // temos um ou mais nós na lista ligada
      // vamos inserir este nó antes do nó que
      // representa o início da lista
      novo.proximo = inicio;
      inicio = novo;
    }
    
    // e retornamos o início da lista
    return inicio;
  }
  
  // função usada para construir e retornar um novo nó
  public static No criarNo(int valor) {
    // cria o novo nó
    No no = new No(valor, null);
    // retorna o nó criado
    return no;
  }
  
  // função usada para percorrer a lista ligada e
  // exibir os valores contidos em seus nós
  public static void exibirLista(No inicio) {
    // vamos apontar para o início da lista
    No temp = inicio;
    
    // a lista está vazia?
    if (temp == null) {
      System.out.println("A lista está vazia.");
    }
    else {
      // esse laço se repete enquanto tempo for
      // diferente de null
      while (temp != null) {
        // vamos mostrar o valor desse nó
        System.out.print(temp.valor + " -> ");
        // avança para o próximo nó
        temp = temp.proximo;
      }
    
      // mostra o final da lista
      System.out.println("null");
    }
  }
}



Java ::: Java para Engenharia ::: Unidades de Medida

Como converter Metros Quadrados em Quilômetros Quadrados em Java - Java para Física e Engenharia

Quantidade de visualizações: 488 vezes
Em muitas situações nós temos uma medida de área em m2 e queremos transformá-la em km2, ou seja, converter Metros Quadrados para Quilômetros Quadrados. Para isso só precisamos dividir os metros quadrados por 1.000.000. Veja a fórmula:

\[\text{Quilômetros Quadrados} = \frac{\text{Metros Quadrados}}{1.000.000} \]

Agora veja o código Java que pede para o usuário informar a medida de área em metros quadrados e a converte para quilômetros quadrados. Note que mostrei como exibir o resultado em notação científica e sem notação científica:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler a medida em metros quadrados
    System.out.print("Informe os metros quadrados: ");
    double m_quadrados = Double.parseDouble(entrada.nextLine());
    
    // agora calculamos os quilometros quadrados
    double km_quadrados = m_quadrados / 1000000.00;
    
    // e mostramos o resultado
    System.out.println("Você informou " + m_quadrados +
      " metros quadrados.");
    System.out.println("Isso equivale a " + km_quadrados +
      " quilometros quadrados.");
    System.out.printf("Sem notação científica: %f\n",
      km_quadrados);
  }
}

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

Informe os metros quadrados: 80
Você informou 80.0 metros quadrados.
Isso equivale a 8.0E-5 quilômetros quadrados.
Sem notação científica: 0,000080


JavaScript ::: Dicas & Truques ::: Data e Hora

Como retornar o dia do mês em JavaScript usando a função getDate() do objeto Date

Quantidade de visualizações: 907 vezes
A função getDate() do objeto Date da linguagem JavaScript nos permite obter o dia do mês como um valor inteiro na faixa de 1 à 31. Veja abaixo um exemplo de seu uso:

<!doctype html>
<html>
<head>
  <title>O objeto Date do JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos obter a data atual
  var data = new Date();
  // vamos obter o dia da data atual
  var dia = data.getDate();
  // Vamos exibir o resultado
  document.write("O dia do mês é: " + dia);
</script>
  
</body>
</html>

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

O dia do mes é: 5


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Árvores Binárias e Árvores Binárias de Busca

Exercícios Resolvidos de Java - Travessia de uma árvore binária de busca usando o percurso em-ordem (in-order, In-ordem ou ordem simétrica)

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

O percurso em ordem (em-ordem, in-order, In-ordem ou ordem simétrica) é usado quando queremos exibir os valores dos nós da árvore binária de busca em ordem ascendente.

Neste tipo de percurso nós visitamos primeiramente a sub-árvore da esquerda, então o nó atual e finalmente a sub-árvore à direita do nó atual. É importante notar que esta travessia é feita por meio de uma função recursiva.

Escreva um programa Java que contenha uma árvore binária de busca cujos nós guardarão, além das referências para o filho esquerdo e o filho direito, apenas um valor inteiro. Forneça uma função inserir() que permitirá inserir os valores na árvore. Em seguida forneça uma função recursiva que permitirá fazer a travessia in-order da árvore.

Sua saída deverá ser parecida com:

Informe um valor inteiro: 7
Informe um valor inteiro: 3
Informe um valor inteiro: 18
Informe um valor inteiro: 4
Informe um valor inteiro: 9

Percurso em ordem:
3 4 7 9 18
Resposta/Solução:

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

Código para NoArvore.java:

package estudos;

public class NoArvore {
  int valor; // valor armazenado no nó
  NoArvore esquerdo; // filho esquerdo
  NoArvore direito; // filho direito

  // construtor do nó
  public NoArvore(int valor){
    this.valor = valor;
  }
}

Código para ArvoreBinariaBusca.java:

package estudos;

public class ArvoreBinariaBusca {
  private NoArvore raiz; // referência para a raiz da árvore
  
  // método usado para inserir um novo nó na árvore
  // retorna true se o nó for inserido com sucesso e false
  // se o elemento não puder ser inserido (no caso de já
  // existir um elemento igual)
  public boolean inserir(int valor){
    // a árvore ainda está vazia?
    if(raiz == null){
      // vamos criar o primeiro nó e definí-lo como a raiz da árvore
      raiz = new NoArvore(valor); // cria um novo nó
    }
    else{
      // localiza o nó pai
      NoArvore pai = null;
      NoArvore noAtual = raiz; // começa a busca pela raiz
 
      // enquanto o nó atual for diferente de null
      while(noAtual != null){
        if(valor < noAtual.valor) {
          pai = noAtual;
          noAtual = noAtual.esquerdo;
        }
        else if(valor > noAtual.valor){
          pai = noAtual;
          noAtual = noAtual.direito;
        }
        else{
          return false; // um nó com este valor foi encontrado
        }
      }
       
      // cria o novo nó e o adiciona ao nó pai
      if(valor < pai.valor){
         pai.esquerdo = new NoArvore(valor);
      }
      else{
        pai.direito = new NoArvore(valor);
      }
    }

    return true; // retorna true para indicar que o novo nó 
    // foi inserido
  }
  
  // método que permite disparar a travessia em-ordem
  public void emOrdem(){
    emOrdem(raiz);
  }

  // sobrecarga do método emOrdem com uma parâmetro (esta é a
  // versão recursiva do método)
  private void emOrdem(NoArvore raiz){
    if(raiz == null){ // condição de parada
      return;
    }
    
    // visita a sub-árvore da esquerda
    emOrdem(raiz.esquerdo);
    // visita o nó atual
    System.out.print(raiz.valor + " ");
    // visita a sub-árvore da direita
    emOrdem(raiz.direito);
  }
}

E aqui está o código para a classe que permite testar a árvore:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
      
    // vamos criar um novo objeto da classe ArvoreBinariaBusca
    ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
   
    // vamos inserir 5 valores na árvore
    for(int i = 0; i < 5; i++){
      System.out.print("Informe um valor inteiro: ");
      int valor = Integer.parseInt(entrada.nextLine());
      
      // vamos inserir o nó e verificar o sucesso da operação
      if(!arvore.inserir(valor)){
        System.out.println("Erro. Um elemento já contém este valor.");  
      }
    }
    
    // vamos exibir os nós da árvore usando o percurso em ordem
    System.out.println("\nPercurso em ordem:");
    arvore.emOrdem();
    
    System.out.println("\n");
  }
}



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

Veja mais Dicas e truques de Java

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


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