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
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet

Como tornar o TClientDataSet do Delphi somente leitura usando a propriedade ReadOnly

Quantidade de visualizações: 11811 vezes
Em algumas situações gostaríamos que um TClientDataSet fosse somente leitura, ou seja, não queremos permitir inserção, atualização ou exclusão dos dados do dataset. Para isso podemos usar a propriedade ReadOnly. Se seu valor for True, os dados do TClientDataSet serão apenas para leitura. Se o valor for False, os dados podem ser modificados e/ou novos dados podem ser inseridos no dataset. O valor padrão é False.

Em tempo de design a propriedade ReadOnly do TClientDataSet pode ser ajustada selecionando-se o componente no formulário e acessando o Object Inspector. Em tempo de execução esta propriedade pode ser ajustada por meio do seguinte trecho de código:

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos tornar o TClientDataSet somente leitura
  ClientDataSet1.ReadOnly := True;
end;

Se necessário, podemos obter o valor desta propriedade em tempo de execução da seguinte forma:

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos verificar se o TClientDataSet é somente leitura
  if ClientDataSet1.ReadOnly then
    ShowMessage('O ClientDataSet é somente leitura')
  else
    ShowMessage('O ClientDataSet NÃO é somente leitura')
end;

Ao executarmos este código e clicarmos no botão teremos uma mensagem parecida com:

"O ClientDataSet NÃO é somente leitura".

É importante observar que se tentarmos efetuar alguma operação que modifica o conteúdo de um TClientDataSet somente leitura nós teremos uma exceção do tipo:

Project Project2.exe raised exception class EDatabaseError with message 'ClientDataSet1': Cannot modify a read-only dataset'.

Quando ajustamos o valor da propriedade ReadOnly para True, automaticamente a propriedade CanModify do dataset é ajustada para False.

Importante: Mesmo que o valor da propriedade ReadOnly seja False, os usuários ainda podem ser impedidos de modificar os dados de um client dataset se este obtém seus dados a partir de um provider (por exemplo: TDataSetProvider). A propriedade Options do provider pode limitar se os dados podem ser editados e, se puderem, os tipos de alterações permitidos.

Esta dica foi escrita e testada no Delphi 2009.


Java ::: Dicas & Truques ::: Matemática e Estatística

Como arredondar um número para cima em Java usando a função ceil() da classe Math

Quantidade de visualizações: 10014 vezes
Em várias situações nós precisamos arredondar um valor real para cima, ou seja, para o valor inteiro maior ou igual ao argumento fornecido. Para isso nós podemos usar a função ceil() da classe Math da linguagem Java.

Esta função recebe um valor double e retorna um outro valor inteiro (como double) maior ou igual ao argumento fornecido.

Veja um exemplo Java completo no qual pedimos para o usuário informar um valor com casas decimais e devolvemos o valor arredondado para cima:

package estudos;

import java.util.*;

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 número
    // real com casas decimais
    System.out.print("Informe um número com casas decimais: ");
    // vamos ler o número informado
    double a = Double.parseDouble(entrada.nextLine());
    
    // agora vamos arredondar o valor para cima
    double b = Math.ceil(a);
    
    // e mostramos o resultado
    System.out.println("O número arredondado para cima é: " + b);
  }
}

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

Informe um número com casas decimais: 6.31
O número arredondado para cima é: 7.0


Python ::: Dicas & Truques ::: Tupla (Tuple)

Python para iniciantes - Como usar o tipo de dados tuple da linguagem Python

Quantidade de visualizações: 9259 vezes
Uma tupla (tuple) é similar a uma lista (list), com a exceção de que uma tupla não pode ser modificada, ou seja, é imutável.

Veja como criar uma tupla contendo cinco elementos:

# Cria uma tupla
valores = 4, 76, 2, 98, 4

# Exibe o valor do segundo elemento
print valores[1]

# Exibe todos os elementos
for valor in valores:
  print valor,

Veja agora o que acontece quando tentamos alterar o valor de um dos elementos da tupla:

valores[4] = 50

Traceback (most recent call last):
  File "tuplas.py", line 19, in <module>
    valores[4] = 50
TypeError: 'tuple' object does not support item assignment


Contudo, a variável do tipo tupla pode ser alterada para apontar para uma tupla diferente. Veja:

# Cria duas tuplas
valores = 4, 76, 2, 98, 4
letras = 'A', 'B', 'C'

# Atribue os elementos de letras a valores
valores = letras

# Exibe o resultado
print valores

É comum colocar os elementos de uma tupla entre parênteses. Assim, a tupla abaixo é perfeitamente legal:

valores = (4, 76, 2, 98, 4)

Embora não muito provável, se precisarmos criar uma tupla de apenas um elemento, devemos inserir uma vírgula após ele. Veja:

valores = (4,)

Tuplas podem conter elementos de diferentes tipos de dados. Veja:

# Cria uma tupla contendo tipos diferentes
# de dados
cliente = (3, "Osmar J. Silva", "Goiânia", "GO", 35)

# Exibe o valor do 4º elemento
estado = cliente[3]
print estado



Python ::: wxPython ::: Eventos e Tratadores de Eventos

Como tratar o evento wx.EVT_MOVE em suas aplicações wxPython - Interfaces gráficas no Python

Quantidade de visualizações: 214 vezes
Em algumas situações nós precisamos reagir ao evento wx.EVT_MOVE em nossas aplicações wxPython. Este evento é gerado todas as vezes que movemos uma janela para uma nova posição.

Veja o código completo para uma aplicação wxPython na qual interceptamos e tratamos o evento wx.EVT_MOVE na janela principal do programa. Note o uso da função e.GetPosition() para recuperarmos as coordenadas x e y do evento e mostrarmos o resultado em controles wx.StaticText.

# vamos importar o framework wxPython 
import wx

# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
  # o método construtor
  def __init__(self, *args, **kw):
    # chama o construtor da classe wx.Frame
    super(JanelaPrincipal, self).__init__(*args, **kw)

    # chama a função que inicializa a GUI
    self.InicializarGUI()

  # método usado para gerenciar o evento Move
  def OnMove(self, e):
    # obtemos a posição do evento e guardamos nas variáveis x e y
    x, y = e.GetPosition()
    # mostramos os valores nas labels
    self.st1.SetLabel(str(x))
    self.st2.SetLabel(str(y))

  # função que inicializa a GUI do programa
  def InicializarGUI(self):
    # criamos dois controles StaticText com os labels já definindos 
    wx.StaticText(self, label='x:', pos=(10,10))
    wx.StaticText(self, label='y:', pos=(10,30))

    # criamos mais dois controles StaticText para escrevermos neles
    self.st1 = wx.StaticText(self, label='', pos=(30, 10))
    self.st2 = wx.StaticText(self, label='', pos=(30, 30))

    # fazemos um binding o evento wx.EVT_MOVE para a
    # função OnMove que criamos
    self.Bind(wx.EVT_MOVE, self.OnMove)

    # definimos o tamanho da janela
    self.SetSize((450, 350))
    # define a cor de fundo da janela (Windows 10)
    self.SetBackgroundColour((150, 250, 100, 255))
    # definimos o título da janela
    self.SetTitle('O evento Move')
    # e centralizamos a janela
    self.Centre()

# função principal do programa Python
def main():
  # vamos criar a aplicação wxPython
  app = wx.App()
  janela_principal = JanelaPrincipal(None)
  janela_principal.Show()
  app.MainLoop()

if __name__ == "__main__":
  main()



Python ::: Dicas & Truques ::: Matemática e Estatística

Como testar se um número é primo em Python

Quantidade de visualizações: 3991 vezes
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos.

É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par.

Veja agora um código Python completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não:

def main():
  primo = True # vamos assumir que o número é primo

  # vamos solicitar um número inteiro positivo
  numero = int(input("Informe um número inteiro positivo: "))

  # o número é negativo?
  if numero < 0:
    print("Número inválido.")
  # é 0 ou 1?
  elif (numero == 0) or (numero == 1):
    print("Número válido, mas não é primo.")
  # passou até aqui. Vamos testar se o número é primo
  else:
    for i in range(2, int((numero / 2))):
      # se passar no teste, não é primo
      if numero % i == 0:
        primo = False # recebe false
        break

    if primo:
      print("O número informado é primo")
    else:
      print("O número informado não é primo")
    
if __name__== "__main__":
  main()

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

Informe um número inteiro positivo: 9
O número informado não é primo


Java ::: Fundamentos da Linguagem ::: Modificadores

Regras importantes sobre o uso de modificadores na linguagem Java

Quantidade de visualizações: 7634 vezes
1) Uma declaração de método ou variável pode conter somente um destes modificadores de acesso: public, protected ou private. Na ausência de um destes, o acesso será de pacote.

2) Classes não podem ser declaradas abstract e final simultâneamente.

3) Métodos abstratos não podem ser declarados private, static, final, native, strictfp ou synchronized.

4) Métodos não podem ser declarados native e strictfp ao mesmo tempo.

5) Métodos abstract e native não possuem corpo. Ex:

abstract void inserir();
native void obterDados();

6) Uma classe que contenha métodos abstratos deve ser declarada como abstrata.

7) Membros final não podem ser volatile.


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

Exercícios Resolvidos de Portugol - Faça um algoritmo em Portugol que leia 9 números inteiros, guarde-os em uma matriz 3x3 e mostre os números pares

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

Faça um algoritmo em Portugol que leia 9 números inteiros e guarde-os em uma matriz 3x3. Imprima a matriz no formato tabular, usando a melhor formatação que você conseguir. Em seguida, percorra a matriz novamente e imprima somente os números que são pares, todos na mesma linha e separados por espaço.

Sua saída deverá ser parecida com:

Linha 1 e coluna 1: 8
Linha 1 e coluna 2: 1
Linha 1 e coluna 3: 5
Linha 2 e coluna 1: 3
Linha 2 e coluna 2: 9
Linha 2 e coluna 3: 30
Linha 3 e coluna 1: 7
Linha 3 e coluna 2: 23
Linha 3 e coluna 3: 10

Valores na matriz

    8     1     5 
    3     9    30 
    7    23    10 

Os valores pares são: 8 30 10
Resposta/Solução:

Veja a resolução completa para o exercício em Portugol, comentada linha a linha (fiz a resolução no Portugol Webstudio):

// Um algoritmo que lê uma matriz 3x3
programa {
  funcao inicio() {
    // variáveis usadas na resolução do problema
    inteiro matriz[3][3]
    inteiro i, j

    // vamos pedir para o usuário informar os valores
    // dos elementos da matriz, uma linha de cada vez
    para (inteiro i = 0; i < 3; i++) { 
      para (inteiro j = 0; j < 3; j++) {
        escreva("Linha ", (i + 1), " e coluna ", (j + 1), ": ")
        leia(matriz[i][j])
      }
    }

    // vamos mostrar a matriz da forma que ela foi informada
    escreva("\nValores na matriz:\n\n")
    para (inteiro i = 0; i < 3; i++) {
      para (inteiro j = 0; j < 3; j++) {
        escreva(matriz[i][j], "   ")
      }
      // passa para a próxima linha da matriz
      escreva("\n")
    }

    // agora vamos percorrer a matriz novamente e mostrar
    // apenas os valores pares
    escreva("\nOs valores pares são: ")

    para (inteiro i = 0; i < 3; i++) {
      para (inteiro j = 0; j < 3; j++) {
        // é um número par?
        se (matriz[i][j] % 2 == 0) {
          escreva(matriz[i][j], "  ")
        }
      }
    }
  }
}



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

Como retornar uma substring de uma string C# usando o método Substring() da classe String - C# para iniciantes

Quantidade de visualizações: 32916 vezes
Esta dica mostra como obter parte de uma palavra, frase ou texto, ou seja, extrair uma substring a partir de uma string. Isso pode ser feito por meio da função Substring() da classe String da linguagem C#. Veja que temos que fornecer o índice do primeiro caractere (começando em 0) e a quantidade de caracteres que serão obtidos.

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("A frase é: " + frase);

      // obtém a substring "muito"
      string substring = frase.Substring(6, 5);

      Console.WriteLine("Substring obtida: " + substring);

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

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

A frase é: Gosto muito de C#
Substring obtida: muito


PHP ::: Dicas & Truques ::: Data e Hora

Como construir uma data usando a função mktime() do PHP

Quantidade de visualizações: 103 vezes
A forma mais comum de se construir uma data e hora no PHP é por meio da função mktime(). Esta função recebe as horas e a data na sequência horas, minutos, segundos, mês, dia, ano e retorna um timestamp Unix, que é a quantidade de segundos desde 31/12/1969 - 21:00:00 (fuso horário brasileiro).

Veja um trecho de código que constrói a data 13/05/2020 à meia-noite:

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

<?php
  // construir a data 13/05/2020
  // se quiser fornecer as horas o formato é: 
  // hora, minuto, segundo
 
  $timestamp = mktime(0, 0, 0, 05, 13, 2020);
  echo "A data é: " . date('d/m/Y', $timestamp);
?>
 
</body>
</html>

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

A data é: 13/05/2020


Java ::: Coleções (Collections) ::: ArrayList

Como passar uma ArrayList para um método Java - Como escrever um método Java que recebe uma ArrayList

Quantidade de visualizações: 12229 vezes
Em algumas situações precisamos passar um objeto da classe ArrayList para um método Java. Esta dica mostra como isso pode ser feito:

package estudos_java;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    // vamos criar um ArrayList, adicionar alguns elementos
    // e passá-lo para um método
    ArrayList<String> nomes = new ArrayList<>();
    nomes.add("Osmar J. Silva");    
    nomes.add("Fernanda de Castro");
    nomes.add("José de Oliveira");

    // vamos passar o ArrayList para o método
    imprimir(nomes);

    System.exit(0);
  }

  // um método que recebe um ArrayList e exibe o
  // o valor de seus elementos
  public static void imprimir(ArrayList<String> lista){
    for(int i = 0; i < lista.size(); i++){
      System.out.println(lista.get(i));
    }
  }
}

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

Osmar J. Silva
Fernanda de Castro
José de Oliveira

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