Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar o tipo de dados INTEGER do Firebird

Quantidade de visualizações: 10472 vezes
O tipo de dados INTEGER do Firebird é usado quando precisamos armazenar valores inteiros (sem a parte fracionária) na faixa de -2.147.483.648 até 2.147.483.647. Este tipo ocupa 4 bytes (32 bits) de memória.

O uso mais frequente do tipo INTEGER é como chave primária ou chave estrangeira em tabelas que conterão milhões ou bilhões de registros. Este cenário é comum em sistemas de gerenciamento de clientes, pedidos, vendas, transações financeiras, etc.

Veja um exemplo de comando DDL CREATE TABLE qua cria um tabela com um campo do tipo INTEGER:

CREATE TABLE CLIENTES (
  ID     INTEGER NOT NULL,
  NOME   VARCHAR(40) NOT NULL,
......


Veja que o campo ID é do tipo INTEGER enquanto os campos NOME e EMAIL são do tipo VARCHAR(40). Para inserir dados nesta tabela podemos usar o seguinte comando DML INSERT INTO:

INSERT INTO clientes VALUES(20, 'OSMAR J. SILVA', 
......


É importante observar que o Firebird se recusará a gravar os dados caso o valor fornecido para um campo do tipo INTEGER esteja fora da faixa permitida. Veja a seguinte query:

INSERT INTO clientes VALUES(21474836472, 'OSMAR J. SILVA',
......


Aqui nós estamos fornecendo o valor 21474836472 (muito acima da faixa positiva permitida). O Firebird não permitirá a inserção do registro, exibindo a seguinte mensagem de erro:

Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
numeric value is out of range.

Link para compartilhar na Internet ou com seus amigos:

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

Exercícios Resolvidos de Ruby - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

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

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Ruby que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

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

# vamos ler o primeiro lado do triângulo
print "Informe o primeiro lado do triângulo: "
lado_a = Integer(gets)

# vamos ler o segundo lado do triângulo
print "Informe o segundo lado do triângulo: "
lado_b = Integer(gets)

# vamos ler o terceiro lado do triângulo
print "Informe o terceiro lado do triângulo: "
lado_c = Integer(gets)

# os lados informados formam um triângulo?
if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) \
  && (lado_c < (lado_a + lado_b)))
......



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

Apostila de Java Swing - Como detectar um duplo-clique do mouse em uma JFrame ou outros controles visuais

Quantidade de visualizações: 11022 vezes
Nesta dica mostrarei como podemos usar o método getClickCount() da classe MouseEvent para detectar o duplo-clique do mouse em uma janela JFrame do Java Swing. É claro que o código pode ser aplicado em qualquer outro componente que herde de JComponent.

Veja o código completo para o exemplo:

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    super("Eventos do Mouse e Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    this.addMouseListener(
      new MouseAdapter(){
        @Override
        public void mouseClicked(MouseEvent e){
......



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

Exercícios Resolvidos de Java - Como inverter a ordem dos elementos de um array usando apenas uma variável temporária

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

Considere o seguinte trecho de código:

// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Escreva um programa Java GUI ou console que inverta a ordem dos elementos do vetor valores usando apenas a variável temp, ou seja, não é permitido usar nenhum método disponível em classes Java. Sua saída deverá ser algo como:

Ordem inicial:

6   3   90   1   54   7   12   32   9   4   

Ordem invertida:

4   9   32   12   7   54   1   90   3   6
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa um array de 10 inteiros
    int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
    int temp;
    
    // vamos mostar a ordem inicial dos elementos no vetor
    System.out.print("Ordem inicial: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    // vamos inverter a ordem dos elementos no array
    int inicio = 0, fim = valores.length - 1;  
......



Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como aplicar cores alternadas às linhas de um TDBGrid do Delphi (efeito zebrinha)

Quantidade de visualizações: 9369 vezes
Em algumas situações gostaríamos de aplicar o efeito zebrinha, ou seja, aplicar cores alternadas às linhas de um controle TDBGrid. Esta técnica é muito útil quando temos grids com várias linhas e queremos facilitar a visualização dos dados por parte dos usuários.

A forma mais comum de se aplicar cores alternadas às linhas do DBGrid é por meio do evento OnDrawColumnCell. Veja o trecho de código abaixo:

procedure TForm3.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  grid: TDBGrid;
  linha: Integer;
begin
  // obtém um referência ao DBGrid
  grid := sender as TDBGrid;

  // obtém o número da linha atual usando a propriedade
  // RecNo da classe TDataSet
......


Execute este código e verá que a primeira linha é pintada de branco, a segunda de amarelo, a terceira de branco e assim por diante. Note que neste código eu não tratei a seleção de células, na qual a cor do texto se iguala ao branco do fundo da célula. Veja mais dicas nesta seção para saber como realizar esta tarefa você mesmo.

Esta dica foi escrita e testada no Delphi 2009.


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

Como adicionar itens ao final de um array em Ruby usando a função push()

Quantidade de visualizações: 7628 vezes
Em algumas situações nós precisamos adicionar novos elementos ao final de um array em Ruby. Para isso nós podemos usar a função push() do objeto Array.

Veja como isso pode ser feito no código abaixo:

# vamos criar um array de nomes
nomes = []

# Lê entrada até que o valor -1 seja
# fornecido
loop do
  print "Digite um nome (-1 para sair): "
  nome = gets.chomp
  
  # vamos adicionar este nome no final do
  # array
  if nome != "-1"
    nomes.push(nome) # adiciona o nome ao array
......


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

Digite um nome (-1 para sair): MARCELO
Digite um nome (-1 para sair): JOANA
Digite um nome (-1 para sair): OSMAR
Digite um nome (-1 para sair): JAQUELINE
Digite um nome (-1 para sair): -1

Os nomes fornecidos foram:
MARCELO
JOANA
OSMAR
JAQUELINE


Desafios, Exercícios e Algoritmos Resolvidos de Ruby

Veja mais Dicas e truques de Ruby

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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