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:

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

Exercícios Resolvidos de Haskell - Como escrever uma função que recebe dois números inteiros e retorna a sua soma

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

Escreva uma função Haskell que recebe dois números inteiros e retorne a sua soma. A função deverá ser chamada a partir da função main do programa. O usuário deverá informar os dois números a serem somados.

Sua saída deverá ser parecida com:

Informe o primeiro número: 8
Informe o segundo número: 3
A soma dos dois números é: 11
Resposta/Solução:

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

import System.IO
import Text.Printf

-- declaração da função somar
somar :: Int->Int->Int

-- definição da função somar
-- recebe dois inteiros e retorna a
-- soma como um inteiro
somar a b = a + b

-- função principal do programa
main = do
  -- vamos desabilitar o buffer de quebra de linha 
  hSetBuffering stdout NoBuffering
  
  -- vamos pedir para o usuário informar dois números
  -- inteiros
  putStr "Informe o primeiro número: "
  n1 <- readLn::IO Int
  putStr "Informe o segundo número: "
  n2 <- readLn::IO Int
  
  -- agora vamos chamar a função somar e obter
  -- a soma dos dois números fornecidos
  let soma = somar n1 n2
  
  -- agora mostramos o resultado
  printf "A soma dos dois números é: %d" soma



Java ::: Pacote java.lang ::: String

Como obter um objeto String a partir de um StringBuffer ou StringBuilder do Java

Quantidade de visualizações: 3592 vezes
As classes StringBuffer e StringBuilder possuem as mesmas funcionalidades. A diferença é que StringBuilder não é segura em relação à threads e está sendo rapidamente substituída pela classe StringBuffer. Ambas são parecidos com uma String, com a diferença que um StringBuffer ou StringBuilder pode ser modificado in-place, ou seja, modificações em seu conteúdo não geram uma nova cópia, como acontece com objetos da classe String.

Nesta dica eu mostrarei como criar novos objetos String a partir do conteúdo de um StringBuffer ou StringBuilder. Vamos começar analisando os construtores da classe String que permitem passar um objeto StringBuffer ou StringBuilder:

package estudos;

public class Estudos{
  public static void main(String[] args) {
    // um StringBuffer contendo uma frase (troque 
    // StringBuffer por StringBuilder e o resultado será o mesmo 
    StringBuffer frase = new StringBuffer("Gosto muito de programar em Java");
    
    // vamos obter uma String a partir deste StringBuffer
    String fraseString = new String(frase);
    
    // e exibimos o resultado
    System.out.println(fraseString);
  }
}

Resultado parecido pode ser obtido sem o uso dos construtores String(StringBuilder builder) e String(StringBuffer buffer). Veja:

package estudos;

public class Estudos{
  public static void main(String[] args) {
    // um StringBuffer contendo uma frase (troque 
    // StringBuffer por StringBuilder e o resultado será o mesmo 
    StringBuffer frase = new StringBuffer("Gosto muito de programar em Java");
    
    // vamos obter uma String a partir deste StringBuffer
    String fraseString = frase.toString();
    
    // e exibimos o resultado
    System.out.println(fraseString);
  }
}

Agora nós usamos o método toString() da classe StringBuffer para converter seu conteúdo em uma string e atribuí-lo à variável fraseString.


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

Exercícios Resolvidos de Python - Como retornar o maior elemento em cada uma das colunas de uma matriz usando Python

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

Dada a seguinte matriz:

6   10   4
2    9   7
20   3   1
Escreva um programa Python que exibe o maior elemento em cada uma das colunas dessa matriz.

Sua saída deverá ser parecida com:

Maior elemento na coluna 0 é 20
Maior elemento na coluna 1 é 10
Maior elemento na coluna 2 é 7
Resposta/Solução:

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

# método principal
def main():
  # vamos declarar e constuir uma matriz de 3 linhas e três colunas
  matriz = [[6, 10, 4], [2, 9, 7], [20, 3, 1]];
    
  # vamos percorrer a matriz e exibir o maior elemento de cada coluna
  # começamos com cada coluna
  for i in range(len(matriz[0])):
    # assumimos que o maior valor é o primeiro dessa coluna
    maior = matriz[0][i]
    # percorremos todos os elementos desta linha
    for j in range(len(matriz)):
      # o elemento atual é maior que o maior?
      if matriz[j][i] > maior:
        # maior assume o valor atual
        maior = matriz[j][i]
      
    # exibimos o maior elemento desta coluna
    print("Maior elemento na coluna {0} é {1}".format(i, maior))

if __name__== "__main__":
  main()



C++ Builder ::: VCL - Visual Component Library ::: TEdit

Como definir o conteúdo de um TEdit em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_SETTEXT usando C++ Builder

Quantidade de visualizações: 6285 vezes
Embora o C++ Builder já nos forneça as ferramentas necessárias para definir o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_SETTEXT.

A função SendMessage() da API do Windows possui a seguinte assinatura:

LRESULT SendMessage(          
  HWND hWnd,
  UINT Msg,
  WPARAM wParam,
  LPARAM lParam
);

Note que precisamos de um HWND (Handle) para a caixa de texto. Feito isso só precisamos enviar a mensagem WM_SETTEXT juntamente com o conteúdo a ser exibido no controle. Veja:

void __fastcall TForm3::Button2Click(TObject *Sender)
{
  // conteúdo a ser definido para a caixa de texto
  char texto[] = "Veja isso";

  // vamos definir o conteúdo usando a função SendMessage
  // fornecendo a mensagem WM_SETTEXT
  SendMessage(Edit1->Handle, WM_SETTEXT, 0, (LPARAM)texto);
}

Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Java - Usando o laço for para exibir a tabela de caracteres ASCII de 1 até 127

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

Escreva um programa Java console que usa o laço for para exibir a tabela de caracteres que são equivalentes aos códigos ASCII de 1 até 127.

Sua saída deverá ser parecida com:



Resposta/Solução:

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

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // um laço que começa em 1 e termina em 127
    for(int i = 1; i <= 127; i++){
      // vamos obter o caractere correspondente
      char c = (char)(i);
      // vamos exibí-lo
      System.out.print(c + "   ");
      
      // é hora de quebrar a linha?
      if(i % 10 == 0){
        System.out.println();
      }
    }
    
    System.out.println();
  }
}



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