![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Dicas & Truques ::: Timers |
Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabelQuantidade de visualizações: 17270 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); } } |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar todo o conteúdo de uma string para letras maiúsculas em C# usando a função ToUpper() da classe StringQuantidade de visualizações: 9964 vezes |
Em algumas situações nós precisamos converter todas as letras de uma palavra, frase ou texto para letras maiúsculas. Isso pode ser feito por meio do método ToUpper() da classe String da linguagem C#. Veja o exemplo a seguir: using System; namespace Estudos { class Program { static void Main(string[] args) { string texto = "Gosto de programar em C#"; Console.WriteLine("Sem converter para letras maiúsculas: " + texto); // converte tudo para letras maiúsculas texto = texto.ToUpper(); Console.WriteLine("Após a conversão para letras maiúsculas: " + texto); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Sem converter para letras maiúsculas: Gosto de programar em C# Após a conversão para letras maiúsculas: GOSTO DE PROGRAMAR EM C# |
Java ::: Classes e Componentes ::: JTree |
Java Swing - Como criar sua primeira JTree usando um vetor de nomes de linguagens de programaçãoQuantidade de visualizações: 13365 vezes |
Este exemplo mostra como criar uma JTree bem simples, e que servirá de base para a criação de aplicações Java Swing mais elaboradas. Os itens da JTree são fornecidos como um vetor de objetos, de forma que cada sub-vetor constitui uma seção da árvore. Os elementos (nós) são inseridos em suas devidas posições usando uma função recursiva. Veja o resultado na figura abaixo: ![]() E agora o código Java completo para o exemplo: package arquivodecodigos; import javax.swing.*; import java.awt.*; import javax.swing.tree.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma JTree simples"); Object[] linguagens = { "Linguagens", new Object[]{ "Compiladas", "C++", "Delphi" }, new Object[]{ "Interpretadas", "JavaScript", "Python", "Ruby" } }; DefaultMutableTreeNode raiz = montar(linguagens); JTree arvore = new JTree(raiz); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(arvore); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private DefaultMutableTreeNode montar(Object[] hier){ DefaultMutableTreeNode no = new DefaultMutableTreeNode(hier[0]), filho; for(int i = 1; i < hier.length; i++){ Object n_no = hier[i]; if(n_no instanceof Object[]){ // nó possui filhos filho = montar((Object[])n_no); } else{ filho = new DefaultMutableTreeNode(n_no); // folha } no.add(filho); } return(no); } } |
C# ::: Dicas & Truques ::: Mouse e Teclado |
C# Windows Forms - Como verificar o estado da tecla Num Lock em suas aplicações C# Windows FormsQuantidade de visualizações: 8346 vezes |
Em algumas situações nós precisamos verificar o estado da tecla Num Lock (que ativa ou desativa o teclado numérico), ou seja, precisamos saber se ela está ou não ativada. Em C# isso pode ser feito de duas formas: 1) A forma mais simples, oferecida no .NET Framework a partir da versão 2.0; 2) Usando código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Vamos começar com a forma mais fácil, disponível no .NET Framework a partir da versão 2.0: private void button1_Click(object sender, EventArgs e){ // vamos verificar se a tecla Num Lock está ativada if(Control.IsKeyLocked(Keys.NumLock)){ MessageBox.Show("A tecla Num Lock está ativada"); } else{ MessageBox.Show("A tecla Num Lock NÃO está ativada"); } } Aqui nós usamos o método IsKeyLocked() da classe Control e fornecemos como argumento a constante NumLock, da enumeração Keys. A segunda forma consiste em usar código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Para isso devemos seguir os seguintes passos: a) Adicionar using System.Runtime.InteropServices; na seção de importações. b) Adicionar o código abaixo no corpo da classe, como um método: // Função com código não gerenciado que obtém o estado de uma // determinada tecla [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)] public static extern short GetKeyState(int keyCode); c) Adicione o código abaixo no evento Click de um botão: private void button1_Click(object sender, EventArgs e){ // vamos obter o estado da tecla Num Lock como um boolean bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0; // vamos verificar se a tecla Num Lock está ativada if(NumLock){ MessageBox.Show("A tecla Num Lock está ativada"); } else{ MessageBox.Show("A tecla Num Lock NÃO está ativada"); } } |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar em letras maiúsculas as iniciais de cada palavra em uma string C# usando o método ToTitleCase() da classe TextInfoQuantidade de visualizações: 14272 vezes |
O método ToTitleCase() da classe TextInfo da linguagem C# nos permite converter para letras maiúsculas as inicias de cada uma das palavras que compoem uma frase ou texto. Esta técnica é muito útil quando estamos trabalhando com o processamento de strings em C#. Veja um exemplo completo do uso dessa função: using System; using System.Globalization; namespace Estudos { class Program { static void Main(string[] args) { string frase = "gosto de java e c#"; Console.WriteLine("Frase original: " + frase); // vamos converter cada letra inicial para maiúsculas frase = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(frase); Console.WriteLine("Depois do método ToTitleCase(): " + frase); Console.WriteLine("\n\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Frase original: gosto de java e c# Depois do método ToTitleCase(): Gosto De Java E C# |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica |
Exercícios Resolvidos de Python - FEMPERJ-2012-TCE-RJ: A vazão de dimensionamento de uma galeria de águas pluviais que drena uma área densamente urbanizada de 10 hectaresQuantidade de visualizações: 570 vezes |
Pergunta/Tarefa: 1) FEMPERJ-2012-TCE-RJ: A vazão de dimensionamento de uma galeria de águas pluviais que drena uma área densamente urbanizada de 10 hectares, considerando-se uma chuva de projeto com intensidade de 60 mm/hora, duração igual ao tempo de concentração da bacia e coeficiente de escoamento superficial igual a 0,90, através do Método Racional, é: A) 150 m3/s B) 0,150 l/s C) 1,5 m3/s D) 150 l/s E) 15 m3/s Sua saída deve ser parecida com: Intensidade da chuva em mm/h: 60 Área da bacia em hectares: 10 Coeficiente de escoamento: 0.9 A vazão de dimensionamento é: 1.5 m3/s O primeiro passo para resolver esta questão é relembrar a fórmula da Vazão pelo Método Racional. Apresentado pela primeira vez em 1851 por Mulvaney e usado por Emil Kuichling em 1889, o Método Racional é um método indireto e estabelece uma relação entre a chuva e o escoamento superficial (deflúvio). Usamos esta fórmula para calcular a vazão de pico de uma determinada bacia, considerando uma seção de estudo. Eis a fórmula: \[Q = \frac{C \cdot I \cdot A}{360} \] Onde: Q = vazão de pico (m3/s); C = coeficiente de escoamento superficial que varia de 0 a 1. Coeficiente de Runoff (adimensional). I = intensidade média da chuva (mm/h); A = área da bacia (ha), onde 1 ha = 10.000m2. A [[menor_igual]] 300 ha. Na questão do concurso nós já temos a intensidade da chuva em milímetros por hora e a área já está em hectares. Tudo que temos a fazer é jogar na fórmula. Então, hora de vermos a resolução comentada deste exercício usando Python: # função principal do programa def main(): # vamos ler a precipitação ou intensidade da chuva em mm/h intensidade = float(input("Intensidade da chuva em mm/h: ")) # vamos ler a área da bacia em hectares area_bacia = float(input("Área da bacia em hectares: ")) # vamos ler o coeficiente de escoamento coeficiente = float(input("Coeficiente de escoamento: ")) # e vamos calcular a vazão de pico em metros cúbicos vazao = ((coeficiente * intensidade * area_bacia) / 360.0) # e mostramos o resultado print("A vazão de dimensionamento é: {0} m3/s".format(vazao)) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em PythonQuantidade de visualizações: 4040 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 |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar e usar arrays em Ruby - Vetores e matrizes na linguagem RubyQuantidade de visualizações: 12610 vezes |
Como criar arrays em Ruby - Vetores e matrizes na linguagem Ruby Arrays (vetores e matrizes) em Ruby são criadas a partir da classe Array. Esta classe serve para agrupar uma coleção de referências a objetos. Cada referência aos objetos ocupa uma posição no array, identificada por um número inteiro não negativo. Podemos criar arrays em Ruby de duas formas: usando literais ou explicitamente, criando um objeto Array. Veja como criar um array usando a notação literal: # cria um array de valores inteiros valores = [43, 12, 8, 56] # obtém o valor do segundo elemento valor = valores[1] # altera o valor do primeiro elemento valores[0] = 5 Vamos agora criar um array usando um objeto da classe Array: # cria um objeto da classe Array valores = Array.new # atribui valores inteiros ao array valores[0] = 76 valores[1] = 3 valores[2] = 9 valores[3] = 87 # obtém o valor do segundo elemento valor = valores[1] # altera o valor do primeiro elemento valores[0] = 5 Arrays em Ruby armazenam referências a objetos e, como em Ruby tudo é objeto, podemos criar arrays de tipos diferentes. Veja: # cria um array de tipos diferentes valores = [43, "Osmar", 7.5] # obtém o valor do segundo elemento valor = valores[1] # altera o valor do primeiro elemento valores[0] = 5 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Leis de Newton |
Exercícios Resolvidos de Física usando Python - Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumentaQuantidade de visualizações: 1882 vezes |
Pergunta/Tarefa: (UFRGS - 2017) Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumenta 10 m/s a cada 2 s. Qual o valor, em kg, da massa m? a) 5. b) 4. c) 3. d) 2. e) 1. Resposta/Solução: Este é um clássico problema de Física envolvendo a Segunda Lei de Newton, cuja fórmula, em sua forma mais simples é: \[F = m \cdot a \] Olhando para o enunciado, vimos que nos é pedido a massa em kg. Nós já temos a força de 20 N, já convertida para sua medida no SI. No entanto, em vez da aceleração, o problema nos dá a variação da velocidade, que aumenta 10 m/s a cada 2 s. Assim, só precisamos nos lembrar que a aceleração é igual ao valor da variação da velocidade dividido pelo intervalo de tempo. Veja o código Python completo que pede para o usuário informar a força em newtons, a variação da velocidade em metros por segundo e a variação do tempo em segundos e nos retorna a massa em quilos: # função principal do programa def main(): # vamos pedir para o usuário informar a força em newtons forca = float(input("Força em newtons: ")) # vamos pedir a variação da velocidade em metros por segundo velocidade = float(input("Variação da velocidade em metros por segundo: ")) # vamos pedir a variação do tempo em segundos tempo = float(input("Variação do tempo em segundos: ")) # agora calculamos a acelaração aceleracao = velocidade / tempo # agora que já temos a aceleracao, podemos calcular a massa massa = forca / aceleracao # e mostramos o resultado print("A massa em quilos é: {0}".format(massa)) if __name__== "__main__": main() Ao executarmos o código Python para o exercício nós teremos o seguinte resultado: Força em newtons: 20 Variação da velocidade em metros por segundo: 10 Variação do tempo em segundos: 2 A massa em quilos é: 4.0 Assim, a resposta correta é a letra b (4 kg) |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Sistemas Digitais - Manipulação de Bits |
Exercícios Resolvidos de Java - Como fazer o complemento de 1 de um número binário em Java - Solução usando manipulação de stringsQuantidade de visualizações: 486 vezes |
Pergunta/Tarefa: Em Sistemas Digitais e na manipulação de bits, o complemento de 1 de um número binário é realizado de forma direta invertendo-se os "0s" e "1s", ou seja, todo zero (0) vira um (1) e todo um (1) vira zero (0). Dessa forma, se tivermos o número binário 11001, seu complemento de 1 será 00110. Escreva um programa Java que pede para o usuário informar um número binário e exiba o seu complemento de um. Para esta solução você deverá usar exclusivamente manipulação de strings. Sua saída deve ser parecida com: Informe um número binário: 1011001 O complemento de 1 é: 0100110 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) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos solicitar um número binário System.out.print("Informe um número binário: "); String binario = entrada.nextLine(); // vamos converter a string em um arrays de chars char digitos[] = binario.toCharArray(); // agora percorremos todos os dígitos do número binário // e trocamos os "0s" por "1s" e vice-versa for(int i = 0; i < digitos.length; i++){ if(digitos[i] == '0'){ digitos[i] = '1'; } else{ digitos[i] = '0'; } } // convertemos de novo para string String complemento1 = String.valueOf(digitos); // e mostramos o resultado System.out.println("O complemento de 1 é: " + complemento1); } } |
Nossas 20 dicas & truques de programação mais populares |
Ruby - Como inserir uma substring em uma determinada posição de uma string em Ruby usando a função insert() Excel - Como gerar números aleatórios inteiros entre 1 e 10 no Excel usando as funções ALEATÓRIO() e INT() |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - JavaScript para iniciantes - Como usar o método escape() para codificar uma frase em JavaScript GNU Octave - Como calcular a derivada de uma função usando a função diff() do GNU Octave - Regra do Tombo (ou Regra da Potência) |
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 |