PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de PHP - Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1556 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando PHP: <?php // Este código PHP pode ser executado tanto na linha // de comando quanto pelo servidor web // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); // vamos mostrar o vetor na ordem original echo("Vetor na ordem original:\n"); for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " "; } // vamos inicializar j como 0 para que ele aponte para // o primeiro elemento do vetor $j = 0; // agora o laço for percorre todos os elementos do vetor, // incrementanto a variável i e deixando o j em 0 for($i = 0; $i < count($valores); $i++){ // encontramos um valor que não é 0 if($valores[$i] != 0){ // fazemos a troca entre os elementos nos índices // i e j $temp = $valores[$i]; $valores[$i] = $valores[$j]; $valores[$j] = $temp; // e avançamos o j para o elemento seguinte $j++; } } // agora mostramos o resultado echo "\n\nVetor com os zeros deslocados para o final:\n"; for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " "; } ?> Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor inteiro em JavaScript usando a função parseInt()Quantidade de visualizações: 26693 vezes |
Nesta dica mostrarei como podemos usar a função parseInt() do JavaScript para transformar uma string em um valor inteiro. Esse procedimento é necessário quando estamos efetuando cálculos com valores vindos de campos de formulários. Veja a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Strings em JavaScript</title> </head> <body> <script type="text/javascript"> var string1 = "110"; var string2 = "Arquivo"; var string3 = "65,54"; document.write(parseInt(string1) + "<br>"); document.write(parseInt(string2) + "<br>"); document.write(parseInt(string3)); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: 110 NaN 65 |
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 JavaQuantidade de visualizações: 11508 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); } } |
C# ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de C# - Escreva um programa (algorítmo) C# que usa o laço do...while para ler um número indeterminado de idades. A condição de parada do laço é o valor da idade igual a 0Quantidade de visualizações: 2081 vezes |
Pergunta/Tarefa: Escreva um programa (algorítmo) C# que usa o laço do...while para ler um número indeterminado de idades de algumas pessoas. A condição de parada do laço é o valor da idade igual a 0. Calcule a escreva a idade média deste grupo de pessoas. Sua saída deverá ser parecida com: Informe a idade: 19 Informe a idade: 30 Informe a idade: 21 Informe a idade: 45 Informe a idade: 0 A idade média é: 28,75 Veja a resolução comentada deste exercício usando C# console: using System; namespace Estudos { class Program { static void Main(string[] args) { int idade; // guarda a idade lida de cada indivíduo double idade_media; // a idade média calculada int soma = 0; // a soma das idades de cada indivíduo int contador = 0; // conta as idades lidas // laço do...while que repetirá até que o valor da idade seja 0 do { Console.Write("Informe a idade: "); idade = int.Parse(Console.ReadLine()); // a idade lida é diferente de 0? if (idade != 0) { soma = soma + idade; // soma mais esta idade contador++; // aumenta a quantidade de idades lidas } } while (idade != 0); // calcula a idade média // note que forcei contador para o tipo double antes da divisão // isso faz com que o resultado seja do tipo double idade_media = soma / (contador * 1.0); // finalmente mostramos o resultado Console.WriteLine("A idade média é: " + idade_media); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar e inicializar um array de inteiros em C#Quantidade de visualizações: 8564 vezes |
Nesta dica mostrarei como declarar, construir e inicializar um vetor de ints na linguagem C#. Aqui os valores já estão sendo informados na construção do array, mas você poderá pedir para o usuário informar os valores também. Veja o código para o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { // cria um array de inteiros int[] valores = new int[5] { 3, 2, 5, 11, 13 }; // exibe o valor do primeiro elemento Console.WriteLine("O valor do primeiro elemento é {0} ", valores[0]); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O valor do primeiro elemento é 3 |
C# ::: Dicas & Truques ::: Data e Hora |
Como testar se um ano é bissexto em C# usando a função IsLeapYear() da classe DateTimeQuantidade de visualizações: 14439 vezes |
Podemos verificar se um determinando ano é bissexto usando o método IsLeapYear() da estrutura DateTime. Este método recebe um valor inteiro representando o ano com 4 dígitos e retorna um valor true ou false. Veja o exemplo:static void Main(string[] args){ // vamos verificar se o ano 2008 // é bissexto int ano = 2008; if(DateTime.IsLeapYear(ano)){ Console.WriteLine("O ano informado é bissexto"); } else{ Console.WriteLine("O ano informado NÃO é bissexto"); } // pausa o programa Console.ReadKey(); } Este método pode disparar uma exceção ArgumentOutOfRangeException se o valor do ano for menor que 1 ou maior que 9999. |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Como usar o modificador native da linguagem JavaQuantidade de visualizações: 9726 vezes |
O modificador native é usado exclusivamente com métodos. A implementação de um método marcado como native não é feita em Java mas sim em outra linguagem de programação, tal como C ou C++. Veja um exemplo de uma aplicação Java contendo um método native: public class Estudos{ private static native void escrever(); public static void main(String[] args){ System.loadLibrary("Funcoes"); escrever(); } } O primeiro detalhe a observar é a definição de um método native chamado escrever(). Veja que este método possui apenas a assinatura, o que quer dizer que sua implementação virá de um ponto externo ao nosso código. Em seguida temos uma chamada ao método LoadLibrary() da classe System. Este método recebe uma string contendo o nome da biblioteca que contém a implementação do método escrever(). O próprio método LoadLibrary se encarrega de acrescentar as extensões .dll ou .so ao nome da biblioteca que será carregada. Quando estamos trabalhando com métodos native, é sempre uma boa idéia estudarmos JNI (Java Native Interface). JNI é uma API do Java que permite que métodos Java chamem funções nativas implementadas em C. |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular a área de um círculo em Java dado o raio do círculoQuantidade de visualizações: 37298 vezes |
A área de um círculo pode ser calculada por meio do produto entre a constante PI e a medida do raio ao quadrado (r2). Comece analisando a figura abaixo:![]() Sendo assim, temos a seguinte fórmula: ![]() Onde A é a área, PI equivale a 3,14 (aproximadamente) e r é o raio do círculo. O raio é a medida que vai do centro até um ponto da extremidade do círculo. O diâmetro é a medida equivalente ao dobro da medida do raio, passando pelo centro do círculo e dividindo-o em duas partes. A medida do diâmetro é 2 * Raio. Veja agora um código Java completo que calcula a área de um círculo mediante a informação do raio: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ double area, raio; Scanner in = new Scanner(System.in); System.out.print("Informe o raio do círculo: "); raio = Float.parseFloat(in.nextLine()); area = Math.PI * Math.pow(raio, 2); System.out.println("A area do círculo de raio " + raio + " é igual a " + area); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Informe o raio do círculo: 5 A area do círculo de raio 5.0 é igual a 78.53981633974483 A circunferência é um conjunto de pontos que estão a uma mesma distância do centro. Essa distância é conhecida como raio. A circunferência é estudada pela Geometria Analítica e, em geral, em um plano cartesiano. O círculo, que é formado pela circunferência e pelos infinitos pontos que preenchem seu interior, é estudado pela Geometria Plana, pois ele ocupa um espaço e pode ter sua área calculada, diferentemente da circunferência. |
JavaScript ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como exibir apenas dois dígitos após o ponto decimal em JavaScript usando a função toFixed() do objeto NumberQuantidade de visualizações: 12717 vezes |
Nesta dica mostrarei como podemos usar a função toFixed() do objeto Number da linguagem JavaScript para convertermos um valor de ponto flutuante em uma string (em texto). Durante a conversão nós vamos especificar que queremos apenas dois dígitos depois do ponto decimal. Veja o código JavaScript completo para o exemplo: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // vamos obter o valor de // PI 3.141592653589793 var valor = Math.PI; document.write("PI: " + valor); // agora vamos converter o valor de PI para // string e arredondar para o número de // decimais desejados var res = valor.toFixed(2); document.write("<br>Resultado: " + res); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: PI: 3.141592653589793 Resultado: 3.14 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como calcular a soma, o produto, a diferença e o quociente de dois números inteiros informados pelo usuárioQuantidade de visualizações: 1494 vezes |
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar dois número inteiros. Em seguida mostre a soma, o produto, a diferença e o quociente dois dois números informados. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 3 A soma dos números é: 11 O produto dos números é: 24 A diferença dos números é: 5 O quociente dos números é: 2.66667 Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // variáveis usadas na resolução do problema int n1, n2, soma, produto, diferenca; double quociente; // vamos ler os dois números Scanner leitura = new Scanner(System.in); System.out.print("Informe o primeiro número: "); n1 = Integer.parseInt(leitura.nextLine()); System.out.print("Informe o segundo número: "); n2 = Integer.parseInt(leitura.nextLine()); // vamos somar os dois números soma = n1 + n2; // vamos calcular o produto produto = n1 * n2; // vamos calcular a diferença diferenca = n1 - n2; // vamos calcular o quociente quociente = n1 / (n2 * 1.0); // vamos mostrar os resultados System.out.println("A soma dos números é: " + soma); System.out.println("O produto dos números é: " + produto); System.out.println("A diferenca dos números é: " + diferenca); System.out.println("O quociente dos números é: " + quociente); } } |
Nossas 20 dicas & truques de programação mais populares |
Java - Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender) Java - Java Swing para iniciantes - Como detectar eventos do teclado em uma janela JFrame do Java Swing |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |