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
Java ::: Classes, Controles e Componentes ::: JSplitPane

Java Swing - Como usar a classe JSplitPane para dividir o espaço ocupado pelos componentes de suas aplicações Java Swing

Quantidade de visualizações: 10645 vezes
A classe JSplitPane é usada quando precisamos controlar o espaço ocupado por dois ou mais componentes. Objetos desta classe podem ser redimensionados, de modo a aumentar ou diminuir a área ocupada por um dos componentes. Veja a posição desta classe na hierarquia de classes Java:

java.lang.Object
  java.awt.Component
    java.awt.Container
      javax.swing.JComponent
        javax.swing.JSplitPane
Esta classe implementa as interfaces ImageObserver, MenuContainer, Serializable e Accessible.

No trecho de código abaixo você verá como é possível dividir a área ocupada por duas áreas de texto (JTextArea). Execute a aplicação e experimente aumentar ou diminuir o espaço ocupado pelos componentes:

import javax.swing.*;
import java.awt.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Como usar a classe JSplitPane");
 
    // primeira área de texto
    JTextArea textArea1 = new JTextArea(5, 30);
    textArea1.setText("Sou a área de texto 1.");
    JScrollPane sPane1 = new JScrollPane(textArea1);    
 
    // segunda área de texto
    JTextArea textArea2 = new JTextArea(5, 30);
    textArea2.setText("Sou a área de texto 2.");    
    JScrollPane sPane2 = new JScrollPane(textArea2);
 
    // Cria o JSplitPane
    JSplitPane splitPane = new JSplitPane(
      JSplitPane.HORIZONTAL_SPLIT, sPane1, sPane2);
 
    add(splitPane, BorderLayout.CENTER);
 
    setSize(300, 150);
    setVisible(true);    
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar esta aplicação Java Swing nós teremos o seguinte resultado:




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

Exercícios Resolvidos de LISP - Um programa que lê duas notas, calcula a média aritmética e exibe uma mensagem de reprovado, exame ou aprovado

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

Escreva um programa LISP ou Common Lisp que leia duas notas (como double ou float), calcule e mostre a média aritmética e uma mensagem de acordo com as seguintes regras:

1) Se a média for inferior a 4,0 escreva "Reprovado";
2) Se a média for igual ou superior a 4,0 e inferior a 7,0 escreva "Exame";
3) Se a média for igual ou superior a 7,0 escreva "Aprovado".

Sua saída deverá ser parecida com:

Informe a primeira nota: 8
Informe a segunda nota: 7.4
A média obtida foi: 7.7
Aprovado
Resposta/Solução:

Veja a resolução comentada deste exercício usando Common Lisp (a padronização da linguagem LISP):

; Algoritmo LISP para calcular a média de um aluno

; variáveis que vamos usar no programa
(let ((n1)(n2)(media))
  ; vamos solicitar as duas notas do aluno
  (princ "Informe a primeira nota: ")
  (force-output)
  (setq n1 (read))
  (princ "Informe a segunda nota: ")
  (force-output)
  (setq n2 (read))

  ; vamos calcular a média aritmética
  (setq media (/ (+ n1 n2) 2))
  (format t "A média obtida foi ~F" media)

  ; vamos verificar se o aluno foi reprovado, está de exame ou aprovado
  (cond 
    ((< media 4.0) ; reprovado
      (format t "~%Reprovado"))
    ((and (>= media 4.0)(< media 7.0)) ; exame
      (format t "~%Exame"))  
    (t (format t "~%Aprovado"))
  )  
)



C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators)

Exercícios Resolvidos de C++ - Como converter de decimal para binário usando os operadores de bits em C++

Quantidade de visualizações: 793 vezes
Aprenda a programar com a nossa lista de exercícios de C++ e desafios de programação.

Pergunta/Tarefa:

Escreva um programa C++ para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits.

Sua saída deverá ser parecida com:

Informe um número decimal: 9
O número binário é: 00000000000000000000000000001001
Resposta/Solução:

Veja a resolução completa para o exercício em C++, comentada linha a linha:

#include <string>
#include <iostream>

using namespace std;

// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
#define TAM_INT sizeof(int) * 8

int main(int argc, char *argv[]){
  // variáveis para ajudar a resolver o problema
  int decimal, indice, i;
  
  // vetor para guardar o número binário
  int binario[TAM_INT];

  // vamos pedir para o usuário informar um decimal inteiro
  cout << "Informe um número decimal: ";
  cin >> decimal;

  // ajustamos índice para o último elemento do vetor
  indice = TAM_INT - 1;

  // enquanto índice for maior ou igual a 0
  while(indice >= 0){
    // vamos guardar o bit menos significativo LSB
    binario[indice] = decimal & 1;
    
    // diminuímos o índice
    indice--;

    // desloca bits para a direita uma posição
    decimal = decimal >> 1;
  }

  // agora vamos exibir o número binário
  cout << "O número binário é: ";
  for(i = 0; i < TAM_INT; i++){
    cout << binario[i];
  }
 
  cout << "\n\n"; 
 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}



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

Como remover todos os espaços de uma string em C# usando o método Replace() da classe String - Apostila C# para iniciantes

Quantidade de visualizações: 14027 vezes
Nesta dica mostrarei como tirar proveito do método Replace() da classe String do C# para remover todos os espaços de uma frase ou texto. Note que, usando esta técnica, todos os espaços serão removidos, tanto no início, quanto no meio ou fim da string.

Veja o código completo para o exemplo:

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      string frase = "Gosto muito de C#";
      Console.WriteLine("Com espaços: " + frase);

      // remove todos os espaços
      frase = frase.Replace(" ", "");
      Console.WriteLine("Sem espaços: " + frase);

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

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

Com espaços: Gosto muito de C#
Sem espaços: GostomuitodeC#


Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Delphi para iniciantes - Como escrever uma função que retorna uma matriz de Integer

Quantidade de visualizações: 13676 vezes
Em algumas situações precisamos retornar uma matriz a partir de uma função. Nesta dica eu mostro como isso pode ser feito. O primeiro passo é declarar um novo tipo. Veja:

type // vamos declarar um novo tipo
  TMatrizInteiros = array of Integer;

Aqui o tipo TMatrizInteiros representa uma matriz de inteiros. Veja a unit completa para o exemplo:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type // vamos declarar um novo tipo
  TMatrizInteiros = array of Integer;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// função usada para construir e retornar uma
// matriz de Integer
function obterValores: TMatrizInteiros;
var
  tempArray: TMatrizInteiros;
  i: integer;
begin
  // vamos definir o tamanho da matriz
  SetLength(tempArray, 10);

  // vamos inicializar a matriz com os números pares de 0 até 18
  // note que em matrizes abertas o índice inicial é sempre 0
  for i := Low(tempArray) to High(tempArray) do
    begin
      tempArray[i] := i * 2;
    end;

  Result := tempArray; // vamos retornar a matriz
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  valores: TMatrizInteiros; // uma matriz do tipo TMatrizInteiros
  i: Integer;
begin
  valores := obterValores();

  // que já temos a matriz, vamos exibir os valores de
  // seus elementos
  for i := 0 to High(valores) do
    begin
      Memo1.Lines.Add(IntToStr(valores[i]));
    end;
end;

end.

Note que a função retornará uma matriz aberta (open array). Desta forma, seu índice inicial será sempre 0.


Delphi ::: VCL - Visual Component Library ::: TComboBox

Como retornar o índice do item selecionado em um ComboBox do Delphi usando a propriedade ItemIndex

Quantidade de visualizações: 19316 vezes
Em algumas situações precisamos saber o índice do item selecionado em um ComboBox. Isso pode ser feito por meio da propriedade ItemIndex da classe TComboBox. Esta propriedade retorna um valor inteiro representando um índice começando em 0, ou seja, o índice do primeiro item é 0. Se nenhum item estiver selecionado, o valor -1 será retornado.

Veja o código:

procedure TForm1.Button1Click(Sender: TObject);
var
  indice: Integer;
begin
  // vamos obter o índice do item selecionado no ComboBox
  indice := ComboBox1.ItemIndex;

  // mostra o resultado
  ShowMessage('O índice do item selecionado é: ' +
    IntToStr(indice));
end;

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


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

Exercícios Resolvidos de VisuAlg - Escreva um programa VisuAlg para calcular e imprimir o número de lâmpadas necessárias

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

Escreva um programa VisuAlg para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado.

Sua saída deverá ser parecida com:

Informe a potência da lâmpada (em watts): 100
Informe a largura do cômodo (em metros): 6
Informe o comprimento do cômodo (em metros): 4
Serão necessárias 4 lâmpadas.
Resposta/Solução:

Veja a resolução completa para o exercício em VisuAlg, comentada linha a linha:

algoritmo "Como calcular o número de lâmpadas necessárias"

var
  // variáveis usadas na resolução do problema
  potencia_lampada, largura_comodo, comprimento_comodo: real
  area_comodo, potencia_total: real
  quant_lampadas: inteiro

inicio
  // vamos ler a potência da lâmpada
  escreva("Informe a potência da lâmpada (em watts): ")
  leia(potencia_lampada)

  // vamos ler a largura do cômodo
  escreva("Informe a largura do cômodo (em metros): ")
  leia(largura_comodo)

  // agora vamos ler o comprimento do cômodo
  escreva("Informe o comprimento do cômodo (em metros): ")
  leia(comprimento_comodo)

  // agora vamos calcular a área do cômodo
  area_comodo <- largura_comodo * comprimento_comodo

  // calculamos a potência total necessária para iluminar
  // todo o cômodo
  potencia_total <- area_comodo * 18

  // e finalmente calculamos a quantidade de lâmpadas necessárias
  quant_lampadas <- Int(potencia_total / potencia_lampada)

  // será necessário no mínimo uma lâmpada
  se quant_lampadas = 0 entao
    quant_lampadas <- quant_lampadas + 1
  fimse

  // e mostramos o resultado
  escreva("Serão necessárias ", quant_lampadas, " lâmpadas.")

fimalgoritmo



MySQL ::: Dicas & Truques ::: Data e Hora

Como retornar apenas a parte DATE de campos DATE, DATETIME ou TIMESTAMP no MySQL usando a função DATE()

Quantidade de visualizações: 12551 vezes
A função DATE() nos permite obter a parte DATE de uma expressão DATE, DATETIME ou TIMESTAMP. Veja seu uso:

SELECT DATE(NOW())

Suponhamos que você tenha um campo DATETIME com o valor 2008-03-30 02:30:15. A query:

SELECT DATE(data_hora_compra) FROM
tabela_estudos

retornará 2008-03-30.


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

Vetores e Matrizes - Exercícios Resolvidos de C - Declarar um vetor de 10 elementos, usar um laço for para inicializar os elementos e exibí-los na vertical

Quantidade de visualizações: 15341 vezes
Vetores e Matrizes - Exercício Resolvido de C - Declarar um vetor de 10 elementos, usar um laço for para inicializar os elementos e exibí-los na vertical

Pergunta/Tarefa:

Escreva um programa C que declara um vetor de 10 elementos do tipo int. Em seguida use um laço for para inicializar os elementos com os valores de 1 até 10. Para finalizar exiba os valores dos elementos da matriz na vertical. Seu programa deverá exibir a seguinte saída:

1
2
3
4
5
6
7
8
9
10

Resposta/Solução:

A resolução desta tarefa passa pela declaração da matriz. Veja como isso pode ser feito:

// vamos declarar uma matriz de 10 ints
// neste momento seus elementos terão, todos, 
// valores aleatórios
int valores[10];


Veja a resolução completa do exercício:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // vamos declarar uma matriz de 10 ints
  // neste momento seus elementos terão, todos, 
  // valores aleatórios
  int valores[10];
  int i;
  
  // vamos usar o laço for para inicializar seus elementos
  // com os valores de 1 até 10
  for(i = 0; i < 10; i++){
    // aqui nós usamos o valor da variável i para acessar o
    // elemento da matriz e também para atribuir o valor de i + 1
    // ao elemento sendo acessado
    valores[i] = (i + 1);
  }

  // só nos resta exibir os valores de todos os elementos
  for(i = 0; i < 10; i++){
    printf("%d\n", valores[i]);
  }
  
  system("PAUSE");	
  return 0;
}



JavaScript ::: Dicas & Truques ::: Recursão (Recursividade)

JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva

Quantidade de visualizações: 335 vezes
Esta dica contém um ótimo exercício de recursão. Trata-se de uma função JavaScript recursiva para remover todas as ocorrências de uma substring em uma string. Analise o código cuidadosamente e você conseguirá desenvolver várias funções de recursividade a partir dele.

Veja o código JavaScript completo:

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

<script type="text/javascript">
  // função recursiva que remove todas as ocorrências
  // de uma substring em uma string
  function remover(string, substring){
    // primeiro obtemos o índice da substring
    // dentro da string
    var indice = string.indexOf(substring);
    var resultado = "";
  
    // interromper a recursividade? 
    if(indice == -1){
      return string;
    }
    else{
      resultado += string.substring(0, indice) + 
        remover(string.substring(indice + substring.length),
        substring);
    }    

    return resultado;
  }

  // hora de testar a função recursiva
  var frase = "Ontem comprei duas camisas e uma calça";
  document.writeln("Original: " + frase);
  frase = remover(frase, "duas");
  document.writeln("<br>Nova frase: " + frase);  
</script>
 
</body>
</html>

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

Original: Ontem comprei duas camisas e uma calça
Nova frase: Ontem comprei camisas e uma calça

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

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

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



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