Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
JavaScript ::: Web APIs (APIs Web) ::: MediaDevices Interface (Interface MediaDevices)

HTML5 + JavaScript - Como usar a interface MediaDevices em seus códigos JavaScript

Quantidade de visualizações: 1439 vezes
A interface MediaDevices é um daqueles objetos que vemos com frequencia em códigos JavaScript e não entendemos muito bem o seu funcionamento. Nesta dica vou decifrá-la.

O objetivo da interface MediaDevices é fornecer acesso aos dispositivos de entrada de mídia conectadas e às quais o navegador tem acesso, a saber, câmeras, microfone e compartilhamento de tela. É por meio dessa interface que acessamos tais dispositivos.

A interface MediaDevices está disponível como um objeto do objeto navigator. Veja como testar sua existência e suporte no seu navegador web:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
<title>A interface MediaDevices</title>
  
</head>
<body>
 
<script type="text/javascript">
  // o browser suporta o MediaDevices?
  if(navigator.mediaDevices){
    window.alert("O navegador suporta o MediaDevices");  
  }
  else{
    window.alert("O navegador não suporta o MediaDevices");  
  }
</script>
  
</body>
</html>

Note que mediaDevices é um objeto Singleton do objeto navigator, ou seja, só há uma instância desse objeto disponível no contexto de execução de códigos no navegador. Há também a preocupação em relação à segurança. Alguns navegador podem restringir o acesso a este objeto se você não estiver em um ambiente HTTPS ou localhost.


PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle

Apostila PHP para iniciantes - Como testar múltiplas condições usando a construção if...elseif...else da linguagem PHP

Quantidade de visualizações: 9158 vezes
A construção if...else (se...do contrário) pode ser extendida com o uso de elseif para testar múltiplas condições. Desta forma, você pode ter quantos blocos elseif (ou então se) você desejar. Veja o trecho de código a seguir:

<?php
  $valor = 20;
  
  if($valor == 15){
    echo "O valor é igual à 15";
  }
  elseif($valor > 15){
    echo "O valor é maior que 15";
  }
  else{
    echo "O valor é menor que 15";
  }
?>

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

O valor é maior que 15


Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet

Como obter a quantidade de registros em um TClientDataSet do Delphi usando a propriedade RecordCount

Quantidade de visualizações: 10864 vezes
Em algumas situações precisamos saber a quantidade de registros atualmente armazenados em um componente TClientDataSet. Para isso podemos usar a propriedade RecordCount, implementada originalmente na classe TDataSet e reimplementada na classe TClientDataSet.

Veja um trecho de código no qual usamos o evento OnClick de um botão para exibir a quantidade de registros atualmento no TClientDataSet:

procedure TForm3.Button3Click(Sender: TObject);
var
  qRegistros: Integer;
begin
  // obtém a quantidade de registros no TClientDataSet
  qRegistros := ClientDataSet1.RecordCount;

  // mostra o resultado
  ShowMessage('O ClientDataSet possui ' + IntToStr(qRegistros)
    + ' registros.');
end;

Ao executar o código e clicar no botão você verá uma mensagem parecida com:

"O ClientDataSet possui 20 registros.".

Esta dica foi escrita e testada no Delphi 2009.


Java ::: Classes e Componentes ::: JComboBox

Como retornar a quantidade de itens em um JComboBox do Java Swing

Quantidade de visualizações: 7979 vezes
Nesta dica mostrarei como podemos usar a função getItemCount() da classe JComboBox do Java Swing para obtermos a quantidade de itens no controle. Note que usei um botão JButton no exemplo também. Ao clicarmos no botão, uma mensagem JOptionPane.showMessageDialog será exibida contendo a quantidade de itens no JComboBox.

Veja o código Java Swing completo para o exemplo:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Estudos extends JFrame{
  JComboBox combo;  

  public Estudos(){
    super("A classe JComboBox");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    // Cria os itens da lista
    String nomes[] = {"Carlos", "Marcelo", "Fabiana",
      "Carolina", "Osmar"};

    // Cria o JComboBox
    combo = new JComboBox(nomes);

    // Um botão que permite obter a quantidade de itens
    JButton btn = new JButton("Quantidade de itens");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          int quant = combo.getItemCount();

          JOptionPane.showMessageDialog(null, 
            "O JComboBox contém " + quant + " itens");
        }
      }
    );

    // Adiciona o JComboBox à janela
    c.add(combo);

    // Adiciona o botão à janela
    c.add(btn);  

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



R ::: Dicas de Estudo e Anotações ::: Variáveis e Constantes

Como usar a função class() da linguagem R para verificar o tipo de dados de uma variável

Quantidade de visualizações: 840 vezes
Na linguagem R nós não precisamos informar o tipo de dados de uma variável no momento de sua declaração e, consequentemente, atribuição de seu valor inicial. No entanto, a linguagem permite que as variáveis, no decorrer da execução do programa, assumam outros tipos de dados.

Dessa forma, em várias situações nós podemos precisar verificar qual o tipo de dados armazenado em um variável em um determinado momento, talvez, com o propósito de não assumir riscos durante um cálculo envolvendo inteiros e decimais.

A função class() da linguagem R recebe o nome de uma variável e nos informa o seu tipo de dados. Veja um exemplo de seu uso:

> x <- 10 [ENTER]
> class(x) [ENTER]
[1] "numeric"
> x <- "Java" [ENTER]
> class(x) [ENTER]
[1] "character"
> x <- TRUE [ENTER]
> class(x) [ENTER]
[1] "logical"
> x <- 5L [ENTER]
> class(x) [ENTER]
[1] "integer"
> 

Execute estas linhas na janela de comandos do R ou em um script e veja como a variável x assumiu, no decorrer da execução, os tipos numeric, character, logical e integer.


Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Como converter uma imagem colorida para tons de cinza em Java usando o filtro GrayFilter - Processamento de imagens em Java

Quantidade de visualizações: 11123 vezes
O exemplo abaixo mostra como usar a classe GrayFilter para converter uma imagem JPG colorida em uma imagem com tons de cinza. Veja que o segundo argumento no construtor da classe GrayFilter que usamos permite definir o nível de cinza (em porcentagem) que será aplicado:

import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;

public class Estudos extends JFrame{
  private BufferedImage imagem;
  private BufferedImage imagemCinza;
  AreaImagem areaImagem;  

  public Estudos(){
    super("Estudos Java");
    
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
	
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JFileChooser fc = new JFileChooser();

          int res = fc.showOpenDialog(null);
          if(res == JFileChooser.APPROVE_OPTION){
	    File arquivo = fc.getSelectedFile();  
          
            imagem = null;
          
            try{
              imagem = ImageIO.read(arquivo);
            }
            catch(IOException exc){
              JOptionPane.showMessageDialog(null, 
                "Erro ao carregar a imagem: " + 
                exc.getMessage());
            }

            if(imagem != null){
              areaImagem.imagem = imagem;
              areaImagem.repaint();  
            }
          }
        }
      }
    );

    JButton btn2 = 
      new JButton("Converter Escala Cinza");
    btn2.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          converterEscalaCinza();
        }
      }
    );

    JPanel painel = new JPanel();
    painel.setLayout(new FlowLayout());    
    painel.add(btn);
    painel.add(btn2);

    c.add(painel, BorderLayout.SOUTH);
    
    // Cria a área de exibição da imagem
    areaImagem = new AreaImagem();
    c.add(areaImagem, BorderLayout.CENTER);    
	
    setSize(400, 300);
    setVisible(true);
  }

  public void converterEscalaCinza(){
    ImageFilter filter = new GrayFilter(true, 30);
    ImageProducer producer = new FilteredImageSource(
      imagem.getSource(), filter);
    Image imagemTemp = this.createImage(producer);

    // precisamos converter Image para BufferedImage
    imagemCinza = new BufferedImage(imagem.getWidth(),
      imagem.getHeight(), BufferedImage.TYPE_INT_RGB);
    Graphics g = imagemCinza.getGraphics();
    g.drawImage(imagemTemp, 0, 0, null);
    g.dispose();

    areaImagem.imagem = imagemCinza;
    areaImagem.repaint();
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

// Sub-classe de JPanel para exibir a imagem
class AreaImagem extends JPanel{
  public BufferedImage imagem;

  public void paintComponent(Graphics g){ 
    super.paintComponent(g);
    
    // desenha a imagem no JPanel
    g.drawImage(imagem, 0, 0, this);
  } 
}



Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games)

Como criar um Jogo da Velha em Java - Jogo completo com código fonte comentado - Versão console

Quantidade de visualizações: 5261 vezes
Faça o download do código-fonte Jogo da Velha em Java

Sobre o Jogo da Velha em Java

O Jogo da Velha, também conhecido como Tic-Tac-Toe, é um dos joguinhos mais fáceis de se programar em Java. Além disso, ele possibilita uma boa oportunidade de se entender matrizes, a estrutura switch, os laços for e while, assim como a estrutura básica presente em praticamente todos os games.

O Jogo da Velha em Java Console

Neste código fonte eu demonstro como o Jogo da Velha pode ser criado em Java usando o modo console, ou seja, em formato texto. Penso que o entendimento da lógica é mais fácil em modo console. Uma vez que você tenha aprendido todos os passos envolvidos, você poderá reproduzí-lo em modo gráfico sem muitas dificuldades.

A versão do jogo apresentado nesta dica é um jogador humano, ou seja, você, contra o computador. Não coloquei inteligência artificial nem aprendizado de máquina nos movimentos do computador. Usei apenas jogadas sorteadas. Fica como desafio você implementar jogadas inteligentes por parte do computador como forma de deixar o jogo ainda mais interessante. Por enquanto o objetivo é só o aprendizado mesmo.

Antes de continuarmos, veja uma imagem demonstrando o jogo:



Me mostra um pouco do código

Para mostrar a simplicidade do código, veja o método que registra a jogada do jogador humano:

// este método registra a jogada do jogador humano
private static void jogadaHumano(char[][] tabuleiro) {
  int jogada; // para registrar a jogada do jogador humano
	
  // repete até que a jogada seja válida
  while (true) {
    // lê a jogada do humano
    System.out.print("\nSua jogada (1 a 9): ");
    jogada = Integer.parseInt(entrada.nextLine());
    // este movimento é válido?
    if (movimentoValido(tabuleiro, jogada)){
      break;
    } 
    else{ // não é válido
      System.out.println("O número " + jogada + " não é um movimento válido.");
    }  
  }
 
  // vamos registrar esse movimento 
  registrarMovimento(tabuleiro, jogada, 'X');
}
Como posso obter este código fonte?

Os links para você baixar todas as versões deste projeto estão abaixo:

1) JOGOVELHAJC - Jogo da Velha em Java Console - NetBeans IDE - Faça o Download.

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.


PHP ::: Dicas & Truques ::: Variáveis e Constantes

Como testar se uma variável ou constante é do tipo integer - Como usar as funções is_int() e is_integer() do PHP

Quantidade de visualizações: 9207 vezes
Em algumas situações precisamos verificar se uma determinada ou constante é do tipo integer, ou seja, possui um valor inteiro, sem casas decimais. Isso pode ser feito por meio das funções is_int() e is_integer(). Elas retornam um valor true se o arguemento for um inteiro e false em caso contrário.

Veja um exemplo completo de como usá-las:

<?php
/*
  Em algumas situações podemos querer saber se
  o tipo de uma variável é integer, ou seja,
  contém um valor inteiro (sem casas decimais).
 
  Este teste pode ser feito com o auxílio da
  função is_int() ou is_integer(). Esta função 
  retorna um valor true ou false dependendendo do 
  tipo de variável sendo testada.    
  */ 
 
  $valor = 10;
 
  if(is_int($valor)){
    echo 'A variável $valor é do tipo integer';
  }
?>

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

A variável $valor é do tipo integer

Esta dica foi revisada, atualizada e testada com o PHP 8.


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

Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem C

Quantidade de visualizações: 9819 vezes
Nesta dica mostro como pesquisar uma substring dentro de uma string. Para isso usaremos a função strstr() do header string.h. Esta função aceita a string e a substring que queremos pesquisar e retorna NULL se a substring não for encontrada. Caso esta esteja contida na string, um ponteiro para o caractere inicial de sua ocorrência é retornado. Veja o código:

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

int main(int argc, char *argv[]){
  char frase[] = "Gosto muito de Java e Python";

  // vamos pesquisar a substring "Java" na string
  char *res = strstr(frase, "Java");

  // se for NULL a substring não foi encontrada
  if(res == NULL)
    printf("A substring nao foi encontrada");
  else
    printf("A substring foi encontrada: %s", res);

  puts("\n\n");
  system("PAUSE");
  return 0;
}

Note que neste exemplo, a substring é localizada e o conteúdo de res é o restante da string a partir do primeiro caractere da substring pesquisada.


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

Exercícios Resolvidos de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa

Quantidade de visualizações: 15602 vezes
Exercício Resolvido de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa

Pergunta/Tarefa:

Escreva um programa Java console ou GUI que leia um número de 3 dígitos e o inverta, escrevendo o número lido e o invertido. Por exemplo, se o usuário informar o valor 753, seu programa deverá invertê-lo, resultando em 357. Seu programa deverá exibir a seguinte saída:

Informe um valor inteiro de três dígitos: 753
O valor original é: 753
O valor invertido é: 357
Resposta/Solução:

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

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // vamos solicitar ao usuário que informe um valor inteiro
  // na faixa 100 a 999 (incluindo)
  System.out.print("Informe um valor inteiro de três dígitos: ");

  // vamos ler o valor informado
  int valor = Integer.parseInt(entrada.next());

  // vamos verificar se o valor está na faixa permitida
  if(valor < 100 || valor > 999){
    System.out.println("Valor fora da faixa permitida");
    System.exit(0);
  }

  // vamos criar uma variável temporária para manter intacto o valor lido
  int temp = valor;
  int inverso = 0; // guardará o valor invertido

  // vamos inverter o valor agora
  while(temp != 0){
    inverso = (inverso * 10) + (temp % 10);
    temp = temp / 10;
  }

  // vamos mostrar o resultado
  System.out.println("O valor original é: " + valor);
  System.out.println("O valor invertido é: " + inverso);
}


Carregar Publicações Anteriores


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

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

Últimos Exercícios Resolvidos

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

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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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