Java ::: Dicas & Truques ::: Timers

Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabel

Quantidade de visualizações: 17144 vezes
Este exemplo mostra como criar uma janela JFrame contendo dois botões JButton, um label JLabel e um timer (java.awt.Timer). Quando o timer dispara, o texto da label é atualizado para refletir a hora atual.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para o exemplo:

package arquivodecodigos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
import java.text.DecimalFormat;
 
public class Estudos extends JFrame{
  JLabel hora;  
  Timer timer; 
  DecimalFormat formato;
 
  public Estudos() {
    super("Usando timers em Java");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    formato = new DecimalFormat("00"); 
 
    // Cria o timer
    timer = new Timer(1000, new ActionListener(){
      @Override
      public void actionPerformed(ActionEvent e){
        atualizarHoras();
      }
    });
 
    // Cria um botão com o texto "Iniciar"
    JButton iniciar = new JButton("Iniciar");
    iniciar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.start(); // inicia o timer
        }
      }
    );    
 
    // Cria um botão com o texto "Parar"
    JButton parar = new JButton("Parar");
    parar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.stop(); // pára o timer
        }
      }
    );
     
    // JLabel que exibirá a hora atual
    hora = new JLabel("00:00:00");
 
    // Adiciona os botões à janela
    c.add(iniciar);
    c.add(parar);
 
    // adiciona o label à janela
    c.add(hora);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  private void atualizarHoras(){
    // Cria uma instância de Calendar
    Calendar agora = Calendar.getInstance();    
 
    // horas, minutos e segundos
    int horas = agora.get(Calendar.HOUR);  
    int minutos = agora.get(Calendar.MINUTE);
    int segundos = agora.get(Calendar.SECOND);
    hora.setText(formato.format(horas) + ":" + 
      formato.format(minutos) + ":" + 
      formato.format(segundos));
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



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

Exercícios Resolvidos de Python - Como somar o primeiro e o último dígito de um número inteiro informado pelo usuário em Python

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

Escreva um programa Python que pede para o usuário informar um número inteiro e mostre a soma do primeiro dígito com o último dígito. Atenção: você deve usar apenas os operadores matemáticos e a função log10().

Sua saída deverá ser parecida com:

Informe um número inteiro: 48763
A soma do primeiro e do último dígito é: 7
Resposta/Solução:

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

# vamos importar o módulo Math
import math

# método principal
def main():
  # vamos pedir para o usuário informar um número inteiro
  numero = int(input("Informe um número inteiro: "))
    
  # vamos obter a quantidade (-1) de dígitos no número informado
  quant = int(math.log10(numero))
  primeiro_digito = (int)(numero / pow(10, quant))
  ultimo_digito = numero % 10
  	
  # soma o primeiro e o último dígito
  soma = primeiro_digito + ultimo_digito
	
  # mostra o resultado
  print("A soma do primeiro e do último dígito é: {0}".format(soma))
  
if __name__== "__main__":
  main()



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

Exercícios Resolvidos de Java - Um programa Java console ou GUI que exiba um número aleatório inteiro entre 0 e 10 (incluindo)

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

Escreva um programa Java console ou GUI que exiba um número aleatório inteiro entre 0 e 10 (incluindo). Em seguida escreva um nova versão que exiba um número aleatório entre 10 e 20 (incluindo):

Resposta/Solução:

Veja a resolução e explicação para o código Java que exibe um número aleatório entre 0 e 10 (incluindo o 0 e 10):

O método random() da classe Math retorna um número aleatório
maior que ou igual a 0,0 e menor que 1,0. Assim, se o número
gerado for:

0.46095278727662825

e o multiplicarmos por 10, teremos 4.609527872766282. Se
aplicarmos uma conversão para inteiro teremos 4. Assim, para
garantir que o número 10 também poderá ser sorteado, basta
multiplicarmos Math.random() por 11. Veja:

public static void main(String[] args){
  // vamos gerar um número aleatório entre 0 e 10
  int numero = (int)(Math.random() * 11);

  // vamos exibir o número aleatório gerado
  System.out.println("O número gerado foi: " + numero);
}

Para sortear um número aleatório entre 10 e 20, só precisamos
somar 10 ao número gerado. Veja:

public static void main(String[] args){
  // vamos gerar um número aleatório entre 10 e 20
  int numero = 10 + (int)(Math.random() * 11);

  // vamos exibir o número aleatório gerado
  System.out.println("O número gerado foi: " + numero);
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Exercícios Resolvidos de Java - Escreva uma classe Biblioteca que possui uma ArrayList de objetos da classe Livro. Forneça um menu para listar, cadastrar, pesquisar e excluir livros

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

Escreva um programa Java contendo duas classes: Biblioteca e Livro. A classe Biblioteca deverá ter uma coleção de livros, ou seja, uma ArrayList de objetos da classe Livro. Além da coleção de livros a classe Biblioteca deverá conter um atributo nome, que será informado assim que a classe for instanciada.

A classe Livro, por sua vez, deverá possuir os atributos id, titulo, autor e paginas. O atributo id deverá ser auto-incremento, isto é, 1 para o primeiro livro cadastrado, 2 para o segundo, e assim por diante. Além disso, a exclusão de livros deverá ser feita de acordo com o seu id ou título.

Seu programa deverá exibir um menu de opções para as diversas operações da biblioteca. Uma boa opção em Java é usar a estrutura switch case para a criação do menu de opções. Atenção: todos os métodos de manipulação de livros deverão estar na classe Biblioteca, e não na classe principal do programa Java.

Para finalizar, tanto a classe Biblioteca quanto a classe Livro deverão apresentar boas práticas de programação orientada a objetos: nomenclatura correta de classes, atributos e métodos, encapsulamento de dados e construtores.

Sua saída deverá ser parecida com:

-------------------------------------------------
:: Biblioteca Programação e Artes ::
-------------------------------------------------
Bem-vindo(a) ao sistema. Escolha a opção desejada

1 - Novo Livro
2 - Listar Livros
3 - Pesquisar Livro
4 - Excluir Livro
5 - Sair

Sua opção: 1

Título: JAVA PARA INICIANTES
Autor: OSMAR J SILVA
Quant Páginas: 480

O livro foi cadastrado com sucesso
Resposta/Solução:

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

Código para a classe Livro, que deve estar no arquivo Livro.java:

package estudos;

// definição da classe Livro
public class Livro {
  private int id; // id do livro. Não pode repetir
  private String titulo;
  private String autor;
  private int paginas;
  
  // construtor vazio da classe Livro
  public Livro() {}
  
  // construtor cheio da classe Livro
  public Livro(int id, String titulo, String autor, int paginas) {
    this.id = id;
    this.titulo = titulo;
    this.autor = autor;
    this.paginas = paginas;
  }

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public String getTitulo() {
    return titulo;
  }

  public void setTitulo(String titulo) {
    this.titulo = titulo;
  }

  public String getAutor() {
    return autor;
  }

  public void setAutor(String autor) {
    this.autor = autor;
  }

  public int getPaginas() {
    return paginas;
  }

  public void setPaginas(int paginas) {
    this.paginas = paginas;
  }
}

Código para a classe Biblioteca, que deve estar no arquivo Biblioteca.java:

package estudos;

// imports necessários
import java.util.ArrayList;
import java.util.Scanner;

// definição da classe Biblioteca
public class Biblioteca {
  String nome;
  ArrayList<Livro> livros; // ArrayList para guardar os livros
  // variável do tipo int para gerar IDs auto-incremento para os livros
  int idUltimoLivroCadastrado = 0;
  
  // construtor da classe
  public Biblioteca(String nome) {
    this.nome = nome;
    this.livros = new ArrayList();
  }
  
  // exibe o menu de opções da biblioteca
  public void exibirMenu(){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // variáveis temporárias
    Livro temp;
    String pesquisaLivro;
    
    // um laço infinito com as opções do menu
    while(true){
      System.out.println("\n-------------------------------------------------");
      System.out.println(":: " + this.nome + " ::");
      System.out.println("-------------------------------------------------");
      System.out.println("Bem-vindo(a) ao sistema. Escolha a opção desejada\n");
      System.out.println("1 - Novo Livro");
      System.out.println("2 - Listar Livros");
      System.out.println("3 - Pesquisar Livro");
      System.out.println("4 - Excluir Livro");
      System.out.println("5 - Sair");
      System.out.print("\nSua opção: ");
      // lê a opção do usuário
      int opcao = Integer.parseInt(entrada.nextLine());
    
      // um menu switch para ler as opções do menu 
      switch(opcao){
        case 1: // vamos cadastrar um novo livro
          System.out.print("\nTítulo: ");
          String titulo = entrada.nextLine();
          System.out.print("Autor: ");
          String autor = entrada.nextLine();
          System.out.print("Quant Páginas: ");
          int quantPaginas = Integer.parseInt(entrada.nextLine());
          
          // vamos gerar o id deste livro
          int id = ++this.idUltimoLivroCadastrado;
        
          // agora vamos criar um novo objeto da classe Livro
          Livro livro = new Livro(id, titulo, autor, quantPaginas);
          // e o adicionamos no ArrayList de livros
          livros.add(livro);
        
          // e finalmente mostramos uma mensagem de sucesso.
          System.out.println("\nO livro foi cadastrado com sucesso");
        
          break;
        
        case 2: // vamos listar os livros cadastrados
          if(livros.isEmpty()){
            System.out.println("\nNão há nenhum livro cadastrado.");  
          }
          else{
            for(int i = 0; i < livros.size(); i++){
              temp = livros.get(i); // obtém o livro da iteração atual
              System.out.println("\nId: " + temp.getId());
              System.out.println("Título: " + temp.getTitulo());
              System.out.println("Autor: " + temp.getAutor());
              System.out.println("Quant. Paginas: " + temp.getPaginas());
            }  
          }
          break;  
          
        case 3: // vamos pesquisar um livro
          System.out.print("\nInforme o id ou título do livro: ");
          pesquisaLivro = entrada.nextLine();
          // chamamos o método que pesquisa o livro
          temp = this.pesquisarLivro(pesquisaLivro);
          if(temp == null){ // livro não encontrado
            System.out.println("\nO livro náo foi encontrado.");  
          }
          else{
            // mostra o livro encontrado
            System.out.println("\nId: " + temp.getId());
            System.out.println("Título: " + temp.getTitulo());
            System.out.println("Autor: " + temp.getAutor());
            System.out.println("Quant. Paginas: " + temp.getPaginas());
          }
          
          break;
        
        case 4: // vamos excluir um livro
          System.out.print("\nInforme o id ou título do livro a ser excluído: ");
          pesquisaLivro = entrada.nextLine();
          // chamamos o método que pesquisa o livro
          temp = pesquisarLivro(pesquisaLivro);
          if(temp == null){ // livro não encontrado
            System.out.println("\nO livro não foi encontrado.");  
          }
          else{
            // vamos excluir este livro
            livros.remove(temp);
            System.out.println("\nLivro excluído com sucesso.");
          }
          
          break;  
          
        case 5: // sai da aplicação
          System.out.println("\nObrigado por usar a biblioteca\n");
          System.exit(0);
          
        default:
          System.out.println("\nOpção inválida\n");
          break;
      }
    }
  }
  
  // método que pesquisa um livro pelo id ou e retorna um objeto da classe Livro
  public Livro pesquisarLivro(String pesquisaLivro){
    Livro livro = null;
    
    // este livro existe?
    for(int i = 0; i < livros.size(); i++){
      // pesquisa pelo id
      if(Integer.toString(livros.get(i).getId()).equals(pesquisaLivro)){
        return livros.get(i);  
      }
      // pesquisar por título
      else if(livros.get(i).getTitulo().contains(pesquisaLivro)){
        return livros.get(i);  
      }
    }
    
    return livro;
  }
}

E aqui está o código para a classe principal Estudos, no arquivo Estudos.java:

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um novo objeto da classe Biblioteca
    Biblioteca b = new Biblioteca("Biblioteca Programação e Artes");
    
    // mostra o menu da biblioteca
    b.exibirMenu();
  }
}



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

Como usar arrays (vetores e matrizes) em Delphi

Quantidade de visualizações: 73663 vezes
Em programação de computadores, um array, também conhecido como vector (para arrays uni-dimensionais) ou matriz (para arrays bi-dimensionais), é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma seqüência de números inteiros, (ao contrário de um array associativo) mas o índex pode ter qualquer valor ordinal. Alguns arrays são multi-dimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por um seqüência (ou sucessão) finita de quatro números inteiros. Geralmente, arrays uni- e bi-dimensionais são os mais comuns.

Os arrays podem ser considerados como as estruturas de dado mais simples que é possível imaginar. Têm a vantagem de que os seus elementos são acessíveis de forma rápida, mas têm uma notável limitação: são de tamanho fixo, mas podem ser incrementados ou diminuídos com determinados algoritmos, geralmente envolvendo a cópia de elementos de um array para outro e reinicializando o original com a nova dimensão. Os vetores podem ser implementados desta forma.

Em Delphi um array é declarado da seguinte forma:

var
  valores: array[1..10] of Integer;

Aqui nós temos um array chamado valores que contém 10 elementos do tipo Integer. Estes elementos podem ser acessados por índices que variarão de 1 a 10, ou seja, podemos acessar o 5º elemento da seguinte forma:

procedure TForm1.Button1Click(Sender: TObject);
var
  valores: array[1..10] of Integer;
begin
  valores[5] := 20;
end;

Este tipo de array que ora criamos é chamado de array estático, em contraposição aos arrays dinâmicos, os quais podem ter seus tamanhos redimensionados durante a execução do programa.

A forma mais prática de se trabalhar com arrays em Delphi é usando laços. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valores: array[1..5] of Integer;
  i, soma: Integer;
begin
  // vamos preencher o array com os valores de 1 a 5
  for i := 1 to 5 do
    begin
      valores[i] := i;
    end;

  // vamos percorrer o array novamente e obter a soma dos
  // valores de seus elementos
  soma := 0;
  for i := 1 to 5 do
    begin
      soma := soma + valores[i];
    end;

  // vamos exibir o resultado
  ShowMessage('A soma dos valores é: ' + IntToStr(soma));
end;

Aqui nós declaramos um array de 5 elementos do tipo Integer e inicializamos seus elementos com os valores de 1 a 5. Em seguida percorremos todo o array novamente para obter a soma dos valores dos elementos.

É possível também declarar e já inicializar um array. Veja:

procedure TForm1.Button1Click(Sender: TObject);
const
  valores: array[1..5] of Integer = (3, 2, 6, 12, 9);
var
  i, soma: Integer;
begin
  // vamos percorrer o array novamente e obter a soma dos
  // valores de seus elementos
  soma := 0;
  for i := 1 to 5 do
    begin
      soma := soma + valores[i];
    end;

  // vamos exibir o resultado
  ShowMessage('A soma dos valores é: ' + IntToStr(soma));
end;

Note que aqui eu declarei o array como uma constante. Isso aconteceu porque o Delphi não permite que inicializemos variáveis locais ([DCC Error] Unit1.pas(32): E2195 Cannot initialize local variables). Caso você realmente precise do array como variável e não constante, e deseje inicializá-lo juntamente com a declaração, mova-o para a seção interface do formulário ou classe.

Para finalizar, veja que é possível criar arrays de todos os tipos em Delphi. Veja no trecho de código abaixo como usamos um array de Char para guardar uma palavra e exibí-la normal e depois invertida:

procedure TForm1.Button1Click(Sender: TObject);
const
  letras: array[1..5] of Char = ('O', 's', 'm', 'a', 'r');
var
  i: Integer;
  resultado: String;
begin
  resultado := '';

  // vamos exibir a palavra na forma normal
  for i := 1 to 5 do
    resultado := resultado + letras[i];

  // exibe o resultado
  ShowMessage(resultado);

  // vamos exibir a palavra invertida
  resultado := '';
  for i := 5 downto 1 do
    resultado := resultado + letras[i];

  // exibe o resultado
  ShowMessage(resultado);
end;

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


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

Exercício Resolvido de C++ - Calculando e exibindo os números primos entre 2 e 100

Quantidade de visualizações: 10158 vezes
Exercícios Resolvidos de C++ - Calculando e exibindo os números primos entre 2 e 100

Pergunta/Tarefa:

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). A saída do programa deverá ser parecida com:

Numeros primos entre 2 e 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Resposta/Solução:

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

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // limite dos números primos (incluindo)
  int limite = 100;
               
  // Lembre-se! O número 1 não é primo
  cout << "Numeros primos entre 2 e " << limite << endl;
  
  // laço que percorre os valores de 2 até o limite desejado
  for(int i = 2; i <= limite; i++){
    bool primo = true;
                       
    // se o valor de i for 7, a variável j do laço contará
    // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o 
    // módulo de 7 por qualquer um dos valores neste intervalo 
    // for igual a 0, então o número não é primo
    for(int j = 2; j <= (i / 2); j++){
      if(i % j == 0){
        primo = false; // não é primo
        break;
      }
    }
    
    if(primo){
      cout << i << " ";
    }
  }
  
  cout << "\n\n";
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



Python ::: Dicas & Truques ::: Strings e Caracteres

Como testar se o primeiro caractere de cada palavra em uma string Python é o único em letra maiúscula usando a função istitle()

Quantidade de visualizações: 8835 vezes
Nesta dica mostrarei como podemos usar a função istitle() da linguagem Python para verificar se o primeiro caractere de cada palavra em uma frase ou texto é o único caractere em letra maiúscula. Se o teste for verdadeiro o retorno é true, caso contrário o retorno é false.

Veja o exemplo completo:

def main():
  frase = "Gosto De Programar Em Python"

  if frase.istitle():
    print("O primeiro caractere de cada palavra é maiusculo")
  else:
    print("O teste não resultou verdadeiro")
  
if __name__== "__main__":
  main()

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

O primeiro caractere de cada palavra é maiusculo.


C# ::: Windows Forms ::: DataGridView

Como ocultar ou exibir uma determinada linha do DataGridView do C# Windows Forms

Quantidade de visualizações: 13256 vezes
Em algumas situações precisamos ocultar ou exibir determinadas linhas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewRow. Veja um trecho de código no qual ocultamos a primeira linha do DataGridView:

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a primeira linha
  dataGridView1.Rows[0].Visible = false;
}

Veja que aqui nós acessamos a coleção DataGridViewRowCollection e usamos um índice para retornar o DataGridViewRow desejado. Em seguida definimos o valor false para sua propriedade Visible.


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

Como obter apenas os elementos duplicados em um vetor usando as funções array_unique() e array_diff_assoc() do PHP

Quantidade de visualizações: 15284 vezes
Em algumas situações precisamos obter apenas os elementos que se repetem em um vetor (array). Isso pode ser feito combinando-se as funções array_unique() e array_diff_assoc(). Veja:

<?
  // vamos declarar e inicializar um array de inteiros
  $valores = array(9, 2, 6, 11, 6, 9, 3, 6);

  // vamos listar os valores dos elementos no array
  echo "Elementos no array:<br>";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }

  // vamos exibir apenas os valores duplicados
  // Aviso: não use o laço for para percorrer o array
  // resultante. Em vez disso use foreach
  $valores = array_unique(array_diff_assoc(
    $valores, array_unique($valores)));
  
  echo "<br><br>Elementos repetidos:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
?>

A execução deste código produz o seguinte resultado:

Elementos no array:
9 - 2 - 6 - 11 - 6 - 9 - 3 - 6 - 

Elementos repetidos:
6 - 9 -



PHP ::: Dicas & Truques ::: Strings e Caracteres

PHP para iniciantes - Como substituir substrings considerando maiúsculas e minúsculas usando a função str_replace() do PHP

Quantidade de visualizações: 121 vezes
A função str_replace() da linguagem PHP é muito útil quando precisamos efetuar substituições de substrings em uma string, ou seja, precisamos substituir partes de uma palavra, frase ou texto. No entanto, temos que ficar atentos ao fato de que esta função diferencia letras maiúsculas de minúsculas.

Veja o código completo para o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $frase = "Jsp? Gosto de programar em JSP";
  echo "Original: " . $frase;
  $frase = str_replace("JSP", "PHP", $frase);
  echo "<br>Depois da substituição: " . $frase;
?>
 
</body>
</html>

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

Original: Jsp? Gosto de programar em JSP
Depois da substituição: Jsp? Gosto de programar em PHP

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