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:

Ruby ::: Dicas & Truques ::: Data e Hora

Como usar a classe DateTime da linguagem Ruby

Quantidade de visualizações: 7476 vezes
A classe DateTime da linguagem Ruby extende a classe Date e inclui horas, minutos, segundos e frações de segundo. Além disso, esta classe fornece suporte básico a fuso horários.

Fuso horários são representados como uma diferença do UTC (Universal Coordinated Time) em fração de um dia. Esta diferença é quanto a hora local é mais cedo ou mais tarde que o UTC. Uma diferença de UTC 0 está centralizada na Inglaterra (também conhecido como GMT). À medida que viajamos para o leste, a diferença aumenta até que alcancemos a linha de separação de data no meio do Oceano Pacífico. Quando viajamos para o oeste, a diferença diminui. Esta diferença é abreviada como "of" na classe Date.

Veja um trecho de código no qual usamos a classe DateTime para obter a data e hora atual:

# importa o módulo date
require "date"

# obtém a data e hora atual
agora = DateTime::now

# exibe o resultado
puts "Agora é " + agora.strftime("%e/%m/%Y - %H:%M:%S")

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

Agora é 5/04/2022 - 11:51:06


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: 16790 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.


Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca

Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) de forma iterativa

Quantidade de visualizações: 1231 vezes
Nesta dica mostrarei como podemos implementar o algorítmo da Busca em Profundidade (DFS, do inglês depth-first search) em Java de forma iterativa, ou seja, sem usar recursão. Não farei a busca, mas sim o percurso, para que você entenda como a lógica dessa busca funciona.

Antes de iniciarmos, veja a árvore binária que vamos usar no exemplo:



Note que esta árvore possui seis nós. O nó 5 é o nó raiz, e possui como filhos os nós 4 e 9. O nó 4, por sua vez, possui apenas um filho, o nó 2, ou seja, o filho da esquerda. O nó 9 possui dois filhos: o nó 3 é o filho da esquerda e o nó 12 é o filho da direita. Os filhos da árvore binária que não possuem outros filhos são chamados de folhas.

Com a abordagem da busca em profundidade, começamos com o nó raiz e viajamos para baixo em uma única ramificação. Se o nó desejado for encontrado naquela ramificação, ótimo. Do contrário, continuamos subindo e pesquisando por nós não visitados. Esse tipo de busca também tem uma notação big O de O(n).

Vamos à implementação? Veja o código para a classe No, que representa um nó na árvore binária:

// implementação da classe No
class No{
  public int valor; // o valor do nó
  public No esquerdo; // o filho da esquerda
  public No direito; // o filho da direita
  
  public No(int valor){
    this.valor = valor;
    this.esquerdo = null;
    this.direito = null;
  }
}

Veja agora o código completo para o exemplo. Note que usei uma implementação não-recursiva, na qual todos os nós expandidos recentemente são adicionados a uma pilha, para realizar a exploração. O uso da pilha permite o retrocesso (backtracking) de forma a reiniciarmos o percurso ou busca no próximo nó.

Para manter o código o mais simples possível, eu usei a classe Stack do Java, juntamente com seus métodos push() e pop() para simular a pilha. Usei também uma ArrayList para guardar os valores da árvore binária na ordem depth-first.

Eis o código:

package estudos;

import java.util.ArrayList;
import java.util.Stack;

// implementação da classe No
class No{
  public int valor; // o valor do nó
  public No esquerdo; // o filho da esquerda
  public No direito; // o filho da direita
  
  public No(int valor){
    this.valor = valor;
    this.esquerdo = null;
    this.direito = null;
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar os nós da árvore
    No cinco = new No(5); // será a raiz da árvore
    No quatro = new No(4);
    No nove = new No(9);
    No dois = new No(2);
    No tres = new No(3);
    No doze = new No(12);
    
    // vamos fazer a ligação entre os nós
    cinco.esquerdo = quatro;
    cinco.direito = nove;
    quatro.esquerdo = dois;
    nove.esquerdo = tres;
    nove.direito = doze;
    
    // agora já podemos efetuar o percurso depth-first
    ArrayList<Integer> valores = percursoDepthFirst(cinco);
    System.out.println("Os valores na ordem Depth-First são: " + valores);
  }
  
  public static ArrayList<Integer> percursoDepthFirst(No no){
    // vamos usar uma ArrayList para retornar os elementos
    // na ordem Depth-First
    ArrayList<Integer> valores = new ArrayList<>();
    
    // vamos criar uma nova instância de uma pilha
    Stack<No> pilha = new Stack<>();
    // já vamos adicionar o primeiro nó recebido, que é a raiz
    pilha.push(no);
    
    // enquanto a pilha não estiver vazia
    while(pilha.size() > 0){
      // vamos obter o elemento no topo da pilha
      No atual = pilha.pop();
      // adicionamos este valor no ArrayList
      valores.add(atual.valor);
	  
      // vamos colocar o filho direito na pilha
      if(atual.direito != null){
        pilha.push(atual.direito);
      }
      
      // vamos colocar o filho esquerdo na pilha
      if(atual.esquerdo != null){
        pilha.push(atual.esquerdo);
      }
    }
    
    return valores; // retorna os valores da árvore
  }
}

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

Os valores na ordem Depth-First são: [5, 4, 2, 9, 3, 12]

Compare estes valores com a imagem vista anteriormente para entender ainda melhor o percurso ou busca Depth-First.


VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de VB.NET - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em VB.NET

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

Escreva um programa VB.NET que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado:

' declara, constrói e inicializa um vetor de 10 inteiros
Dim valores As Integer() = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10}
Sua saída deverá ser parecida com:

Informe um valor: 4
O valor foi encontrado: 3 vezes

Informe um valor: 8
O valor foi encontrado: 1 vezes

Informe um valor: 3
O valor foi encontrado: 0 vezes
Resposta/Solução:

Veja a resolução comentada deste exercício usando VB.NET:

Imports System

Module Program
  ' função principal do programa VB.NET
  Sub Main(args As String())
    ' declara, constrói e inicializa um vetor de 10 inteiros
    Dim valores As Integer() = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10}

    ' vamos ler um valor inteiro
    Console.Write("Informe um valor: ")
    Dim pesquisa As Integer = Int32.Parse(Console.ReadLine())

    ' vamos verificar quantas vezes o valor informado está
    ' contido no vetor
    Dim repeticoes As Integer = 0
    For i As Integer = 0 To valores.Length - 1
      If valores(i) = pesquisa Then
        ' encontrou? vamos contar esta ocorrência
        repeticoes = repeticoes + 1
      End If
    Next

    ' vamos mostrar o resultado
    Console.WriteLine("O valor foi encontrado: " &
      repeticoes & " vezes")

    Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub

End Module



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

Como usar o objeto Date em JavaScript - Curso de JavaScript para iniciantes

Quantidade de visualizações: 7636 vezes
O objeto Date é um tipo de dados embutido na linguagem JavaScript. Objetos Date são criados, em sua forma mais simples (construtor sem argumentos), da seguinte forma:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos criar um novo objeto Date
  var hoje = new Date();

  // vamos exibir a representação deste objeto Date
  document.write("Data e hora atual: " + hoje);
</script>

</body>
</html>

Ao executarmos este código teremos um resultado parecido com:

Data e hora atual: Fri Mar 18 10:02:02 UTC-0300 2011

Note que a representação textual de um objeto Date é a data atual no formato curto (em inglês), as horas e a diferença em relação ao horário UTC (Universal Time Coordinated, sucessor do GMT - Greenwich Mean Time).

Uma vez criado um objeto Date, podemos usar vários de seus métodos para operar sobre seus valores de datas e horas. A maioria dos métodos serve simplesmente para obter ou definir os valores dos campos ano, mês, dia, horas, minutos, segundos e milisegundos, usando a hora local ou UTC. O método toString() e suas variantes nos permitem converter datas e horas para os formatos comumente exibidos aos usuários. Veja um exemplo:

<script type="text/javascript">
  // vamos criar um novo objeto Date
  var hoje = new Date();

  // vamos exibir a representação deste objeto Date
  document.write("Data e hora atual: " + hoje.toLocaleString());
</script>


Ao executarmos este código teremos um resultado parecido com:

Data e hora atual: sexta-feira, 18 de março de 2011 15:44:07

Aqui nós usamos o método toLocaleString() do objeto Date para exibir a data e hora de acordo com as configurações regionais do computador local. Os métodos getTime() e setTime() obtém ou definem a representação interna do objeto Date como o número de milisegundos decorridos desde a meia-noite do dia 1º de janeiro de 1970 (GMT). Neste formato padrão de milisegundos, a data e hora são representadas por um único inteiro, o que facilita os cálculos envolvendo datas e horas. O padrão ECMAScript exige que o objeto Date seja capaz de representar qualquer data e hora, na precisão de milisegundos, na faixa de 100 milhões de anos antes ou depois de 01/01/1970.


Desafios, Exercícios e Algoritmos Resolvidos de JavaScript

Veja mais Dicas e truques de JavaScript

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

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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