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:

Python ::: Pygame ::: Animação, Animações, Técnicas de Animação

Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em português

Quantidade de visualizações: 1596 vezes
Nesta dica mostrarei um código para a criação de um relógio analógico completo em Python, com comentários detalhados e fácil de entender. Veja a imagem:



Por simplicidade, eu mantive a mesma cor para todos os elementos da animação e deixei somente o básico mesmo, para que você possa se concentrar nas partes mais importantes.

Neste código você aprenderá como definir o tamanho, título e cor de fundo para uma janela do Pygame do Python. Aprenderá também como definir a quantidade de frames por segundo para a animação, assim como controlar os disparos do timer pygame.time.Clock().

Por fim, o código mostra como calcular o ângulo dos ponteiros das horas, minutos e segundos e efetuar o desenho das retas saindo do centro do círculo. Você sabia, por exemplo, que o ângulo de 45 graus corresponde exatamente à hora 1:30hs?

Em vários exemplos de relógios analógicos na internet, o ponteiro das horas fica preso à uma determinada hora, aguardando o ponteiro dos segundos completar um giro completo. No código que apresento aqui, eu obtive a hora atual como um decimal, o que faz com que o ponteiro das horas mostre a posição real da hora, como um relógio analógico do mundo real.

Para estudantes de matemática, engenharia e física, este código é uma boa aplicação da técnica de se converter coordenadas polares para coordenadas cartesianas.

Eis o código completo para o relógio analógico. Boa diversão.

# vamos importar as bibliotecas necessárias
import pygame, sys
from pygame.locals import *
import math
from datetime import datetime

# função que faz a correção dos ângulos
def corrigir_angulo(angulo):
  return abs(angulo % 360)

# inicializa a biblioteca
pygame.init()

# quantidade de frames por segundo
FPS = 30
# construímos o timer
timer = pygame.time.Clock()

# obtém a superfície do jogo e define o tamanho da tela
janela = pygame.display.set_mode((600, 400))
  
# vamos definir o título da janela do jogo
pygame.display.set_caption('Relógio Analógico no Pygame')

# vamos definir alguns parâmetros
fonte = pygame.font.Font(None, 36)
VERMELHO = (200, 0, 0)
BRANCO = (255, 255, 255)
raio = 150
x_inicial = 300
y_inicial = 200
distancia_aro = 20
  
# e aqui nós entramos no loop do game
while True:
  # vamos pintar a tela toda de branco
  janela.fill(BRANCO)
  
  # monitoramos os eventos
  for evento in pygame.event.get():
    # se o evento foi um pedido para sair
    if evento.type == QUIT:
      # fechamos a tela do jogo 
      pygame.quit()
      # e saimos do programa
      sys.exit()
  
  # vamos desenhar um circulo não preenchido (maior)
  pygame.draw.circle(janela, VERMELHO, (x_inicial, y_inicial), raio, 2)
  # vamos desenhar um circulo não preenchido (menor)
  pygame.draw.circle(janela, VERMELHO, (x_inicial + 1, y_inicial + 1), 5, 0)

  # vamos desenhar os números do relório (1-12)
  for n in range(1, 13):
    # calcula o ângulo dessa hora
    angulo = math.radians((n * (360 / 12)) - 90)
    # agora convertemos o ângulo e o raio para coordenadas cartesianas
    if len(str(n)) > 1:
      x = math.cos(angulo) * (raio - distancia_aro) - 18
    else:
      x = math.cos(angulo) * (raio - distancia_aro) - 10
    y = math.sin(angulo) * (raio - distancia_aro) - 10
    texto_numero = fonte.render(str(n), True, VERMELHO)
    janela.blit(texto_numero, (x_inicial + x, y_inicial + y))

  # vamos obter as horas, minutos e segundos atuais
  hoje = datetime.today()
  horas = hoje.hour % 12
  minutos = hoje.minute
  segundos = hoje.second
  
  # ajustamos as horas para tratar a hora decimal (com frações de horas)
  horas = horas + (minutos * (1 / 60)) + (segundos * (1 / 3600))

  # desenha o ponteiro das horas
  angulo_horas = corrigir_angulo(horas * (360 / 12) - 90)
  angulo_horas = math.radians(angulo_horas)
  hora_x = math.cos(angulo_horas) * (raio - 60)
  hora_y = math.sin(angulo_horas) * (raio - 60)
  coord_finais = (x_inicial + hora_x, y_inicial + hora_y)
  pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 4)

  # desenha o ponteiro dos minutos
  angulo_minutos = corrigir_angulo(minutos * (360 / 60) - 90)
  angulo_minutos = math.radians(angulo_minutos)
  minutos_x = math.cos(angulo_minutos) * (raio - 40)
  minutos_y = math.sin(angulo_minutos) * (raio - 40)
  coord_finais = (x_inicial + minutos_x, y_inicial + minutos_y)
  pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 3)

  # desenha o ponteiro dos segundos
  angulo_segundos = corrigir_angulo(segundos * (360 / 60) - 90)
  angulo_segundos = math.radians(angulo_segundos)
  segundos_x = math.cos(angulo_segundos) * (raio - 30)
  segundos_y = math.sin(angulo_segundos) * (raio - 30)
  coord_finais = (x_inicial + segundos_x, y_inicial + segundos_y)
  pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 1)

  # redesenha a tela continuamente 
  pygame.display.update()

  # aciona o disparo do timer
  timer.tick(FPS)



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Como testar se um número é potência de dois usando Java

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

Escreva um programa Java contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois.

Sua saída deverá ser parecida com:

Informe um valor inteiro: 8
O valor 8 é potência de dois
Informe um valor inteiro: 34
O valor 34 não é potência de dois
Informe um valor inteiro: 64
O valor 64 é potência de dois
Resposta/Solução:

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

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 pedir para o usuário informar um valor inteiro
    System.out.print("Informe um valor inteiro: ");
    int valor = Integer.parseInt(entrada.nextLine());
    
    // vamos testar se o número informado é potência de dois
    if(isPotenciaDeDois(valor)){
      System.out.println("O valor " + valor + " é potência de dois");
    }
    else{
      System.out.println("O valor " + valor + " não é potência de dois");
    }
  }
  
  // método que recebe um número inteiro e informe se ele é
  // potência de dois
  public static boolean isPotenciaDeDois(int n){
    // usamos o operador AND de bits para verificar se n AND n-1
    // é igual a 0
    return (n > 0) && (n & (n - 1)) == 0;
  }
}



Java ::: Pacote java.lang ::: Character

Como usar a classe Character da linguagem Java para tratar caracteres individuais em seus programas

Quantidade de visualizações: 7435 vezes
A classe Character, uma classe pública e final (ou seja, não é possível fazer subclasse desta classe) e presente no pacote java.lang é uma classe encapsuladora (wrapper class) para o tipo primitivo char. Objetos desta classe contém apenas um campo, cujo tipo é char.

Veja a posição desta classe na hierarquia de classes da plataforma Java:

java.lang.Object
  java.lang.Character

Esta classe implementa as interfaces Serializable e Comparable<Character>.

Uma das vantagens de se usar objetos da classe Character é que podemos chamar seus métodos estáticos para obter informações sobre o tipo char encapsulado. Veja:

public class Main {
  public static void main(String[] args) {
    // uma variável do tipo char
    char letra = 'A';
	
    // vamos verificar se o caractere anterior é uma letra maiúscula
    if(Character.isUpperCase(letra)){
      System.out.println("A letra é maiúscula");
    }
    else{
      System.out.println("A letra não é maiúscula");
    }
  }
}

Ao executarmos este código teremos o seguinte resultado:

A letra é maiúscula

Veja que neste trecho de código nós usamos o método estático isUpperCase() da classe Character para verificar se um determinado caractere está em letras maiúsculas.


Delphi ::: VCL - Visual Component Library ::: TStringGrid

Como usar o controle TStringGrid em suas aplicações Delphi - O componente TStringGrid do Delphi

Quantidade de visualizações: 19980 vezes
Um objeto da classe TStringGrid representa um controle de grid que pode ser usado em suas aplicações Delphi para simplificar o processo de se lidar com strings e objetos associados a esta. Veja a posição desta classe na hierarquia de classes do Delphi:

System.TObject
  Classes.TPersistent
    Classes.TComponent
      Controls.TControl
        Controls.TWinControl
          Controls.TCustomControl
            Grids.TCustomGrid
              Grids.TCustomDrawGrid
                Grids.TDrawGrid
                  Grids.TStringGrid


Esta classe implementa também as interfaces IInterfaceComponentReference e IInterface.

O uso mais frequente de um controle TStringGrid é quando queremos apresentar um conteúdo texto em um formato tabular. Este controle fornece muitas propriedades para controlar a aparência da grid, assim como eventos e métodos que tiram vantagem da organização tabular da grid ao responder às ações do usuário.

Para adicionar um controle TStringGrid ao seu formulário você só precisa acessar a aba Additional no Tool Palette, clicar no controle e arrastá-lo para a posição desejada no formulário. Por padrão, um controle TStringGrid contém 5 linhas e 5 colunas. Novas linhas e novas colunas podem ser adicionadas por meio das propriedades RowCount e ColCount da classe TCustomGrid.

Cada célula da grid pode ter seu valor definido ou acessado usando-se a propriedade Cells. Veja um trecho de código no qual definimos o conteúdo da célula situada na segunda linha da primeira coluna do TStringGrid:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos definir o conteúdo da célula na segunda linha
  // da primeira coluna da grid
  StringGrid1.Cells[0, 1] := 'Osmar J. Silva';
end;

Um controle TStringGrid introduz a possibilidade de associar um objeto com cada string na grid. Estes objetos podem encapsular quaisquer informações ou comportamento representado pelas strings apresentadas ao usuário.

Se as strings a serem apresentadas na grid representarem valores de campos dos registros de um conjunto de dados (dataset), devemos usar um TDBGrid em vez de um TStringGrid.


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

Java Avançado - Como verificar se a tecla Caps Lock está ativada usando o método getLockingKeyState() da classe Toolkit do Java

Quantidade de visualizações: 11594 vezes
Nesta dica mostrarei como é possível usar o método getLockingKeyState() da classe Toolkit da linguagem Java para verificar se a tecla Caps Lock estão ou não ativada no seu computador. Note o valor KeyEvent.VK_CAPS_LOCK sendo passado para o método.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.awt.Toolkit;
import java.awt.event.*;
 
public class Estudos{
  public static void main(String[] args){
    Toolkit tk = Toolkit.getDefaultToolkit();    
     
    if(tk.getLockingKeyState(KeyEvent.VK_CAPS_LOCK))
      System.out.println("A tecla Caps Lock está ativada");  
    else
      System.out.println("A tecla Caps Lock não está ativada");    
 
    System.exit(0);
  }
}

Ao executarmos este código você verá uma mensagem parecida com:

A tecla Caps Lock está ativada


Desafios, 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á 59 usuários muito felizes estudando em nosso site.