C# ::: Windows Forms ::: ComboBox |
Como retornar o item selecionado em um ComboBox do C# Windows Forms usando a propriedade SelectedItemQuantidade de visualizações: 22878 vezes |
Muitas vezes precisamos obter o elemento selecionado em um ComboBox. Para isso podemos usar a propriedade SelectedItem. Esta propriedade retorna o item selecionado como um Object, o que nos permite efetuar um cast para o tipo que foi inserido. Veja um exemplo do uso deste método em um ComboBox que possui elementos do tipo String:private void button1_Click(object sender, EventArgs e){ // vamos obter o item selecionado no ComboBox // chamado "cidades" object sel = cidades.SelectedItem; // vamos exibir o resultado MessageBox.Show("Valor do elemento: " + sel.ToString()); } Aqui nós usamos o método ToString() da classe Object para obter uma representação textual do objeto sendo retornado. É claro que no caso de um objeto da classe String isso não é necessário. Incluímos apenas para fins didáticos. Neste trecho de código não convertemos o tipo retornado para um outro determinado tipo. Veja esta nova versão: private void button1_Click(object sender, EventArgs e){ // vamos obter o item selecionado no ComboBox // chamado "cidades" string sel = (string)cidades.SelectedItem; // vamos exibir o resultado MessageBox.Show("Valor do elemento: " + sel.ToString()); } Veja que agora nós fizemos uma conversão forçada (cast) de object para string. Se isso não fosse feito, a seguinte mensagem de erro de compilação seria exibida: Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?) |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como obter o tamanho (comprimento) de uma string em Python usando a função len()Quantidade de visualizações: 12572 vezes |
Em várias situações nós precisamos obter o tamanho, ou seja, comprimento de uma palavra, frase ou texto na linguagem Python. Para isso nós podemos usar a função len(), pré-definida na linguagem. Veja o código para um exemplo completo de seu uso: # função principal do programa def main(): # uma frase frase = "Gosto de Python" # vamos obter o comprimento da frase tam = len(frase) # e mostramos o resultado print("A frase contém", tam, "letras") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A frase contém 15 letras |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercícios Resolvidos de Java - Como escrever uma função Java que recebe dois números inteiros e retorna a soma desses dois valores como um inteiroQuantidade de visualizações: 9840 vezes |
Pergunta/Tarefa: Escreva um método estático em Java chamado somar() que recebe dois números inteiros e retorna a soma desses dois valores como um inteiro. Este método deverá ter a seguinte assinatura: public static int somar(int a, int b){ // sua implementação aqui } Sua saída deverá ser parecida com: Informe o primeiro número: 4 Informe o segundo número: 3 A soma dos dois números é: 7 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) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos pedir ao usuário que informe dois valores inteiros System.out.print("Informe o primeiro número: "); int n1 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o segundo número: "); int n2 = Integer.parseInt(entrada.nextLine()); // vamos efetuar uma chamada ao método somar() e obter seu retorno int resultado = somar(n1, n2); // finalmente mostramos o resultado System.out.println("A soma dos dois números é: " + resultado); } // método estático que recebe dois inteiros e retorna a soma como um número inteiro public static int somar(int a, int b){ int soma = a + b; // soma os dois números return soma; // retorna a soma para o método chamado } } |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como somar os elementos da diagonal principal de uma matriz em RubyQuantidade de visualizações: 863 vezes |
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas. Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas. Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja: ![]() Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Ruby. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Ruby. Veja um trecho de código Ruby completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior: # vamos declarar e construir uma matriz de três linhas e três colunas matriz = Array.new(3){Array.new(3)} soma_diagonal = 0; # guarda a soma dos elementos na diagonal principal # vamos ler os valores para os elementos da matriz for i in (0..2) # linhas for j in (0..2) # colunas printf("Valor para a linha %d e coluna %d: ", i, j) matriz[i][j] = gets.chomp.to_i end end # vamos mostrar a matriz da forma que ela # foi informada print("\n") for i in (0..2) # linhas for j in (0..2) # colunas printf("%5d ", matriz[i][j]) end print("\n") end # vamos calcular a soma dos elementos da diagonal # principal for i in (0..2) # linhas for j in (0..2) # colunas if(i == j) soma_diagonal = soma_diagonal + matriz[i][j] end end end # e mostramos o resultado printf("\nA soma dos elementos da diagonal principal é: %d", soma_diagonal) Ao executar este código Ruby nós teremos o seguinte resultado: Informe o valor para a linha 0 e coluna 0: 3 Informe o valor para a linha 0 e coluna 1: 7 Informe o valor para a linha 0 e coluna 2: 9 Informe o valor para a linha 1 e coluna 0: 2 Informe o valor para a linha 1 e coluna 1: 4 Informe o valor para a linha 1 e coluna 2: 1 Informe o valor para a linha 2 e coluna 0: 5 Informe o valor para a linha 2 e coluna 1: 6 Informe o valor para a linha 2 e coluna 2: 8 3 7 9 2 4 1 5 6 8 A soma dos elementos da diagonal principal é: 15 |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir substrings em strings C++ usando a função replace()Quantidade de visualizações: 10859 vezes |
Nesta dica mostrarei como podemos usar a função replace() da classe String do C++ para substituir parte de uma palavra, frase ou texto, ou seja, substituir uma substring em uma string. Para isso nós vamos usar a seguinte assinatura da função replace():string& replace(size_t pos1, size_t n1, const string& str); Veja o código C++ completo para o exemplo: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos criar uma string string frase = "Gosto de Java"; cout << "A frase e: " << frase << endl; // vamos substituir Java por C++ frase.replace(9, 4, "PHP"); // e mostramos o resultado cout << "Depois da substituicao: " << frase << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java Depois da substituição: Gosto de PHP |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em Delphi - Delphi para Matemática e EstatísticaQuantidade de visualizações: 2187 vezes |
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código Delphi completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores: // Algoritmo Delphi para calcular desvio padrão program estudos_delphi; {$APPTYPE CONSOLE} uses SysUtils, Math; var // conjunto de dados conjunto: array[1..4] of double = (10, 30, 90, 30); soma: double; // Soma dos elementos desvio_padrao: double; // Desvio padrão tam: integer; // Tamanho dos dados media: double; // média i: integer; begin soma := 0.0; desvio_padrao := 0.0; tam := 4; // vamos somar todos os elementos for i := 1 to tam do begin soma := soma + conjunto[i]; end; // agora obtemos a média do conjunto de dados media := soma / tam; // e finalmente obtemos o desvio padrão for i := 1 to tam do begin // não esqueça de adicionar a unit Math desvio_padrao := desvio_padrao + Power(conjunto[i] - media, 2); end; // mostramos o resultado WriteLn('Desvio Padrão Populacional: ' + FloatToStr(Sqrt(desvio_padrao / tam))); WriteLn('Desvio Padrão Amostral: ' + FloatToStr(Sqrt(desvio_padrao / (tam - 1)))); WriteLn; Write('Pressione Enter para sair...'); ReadLn; end. Ao executar este código Delphi nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent (JLabel, JButton, JPanel, etc) usando o método getGraphics() para obter o contexto de desenhoQuantidade de visualizações: 14057 vezes |
A classe JComponent possui um método chamado getGraphics() que retorna um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Antes de demonstrarmos como isso funciona, tenha em mente que o contexto de desenho de um componente só está disponível após ele ser pintado pela primeira vez. Se tentarmos obter o Graphics antes que o componente tenha sido pintado, corremos o risco de lançar uma exceção NullPointerException. O trecho de código abaixo mostra como desenhar uma linha em um JLabel ao clicar em um botão. Fique atento a este código. Boa parte das dicas vistas nesta seção usam esta abordagem: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JLabel label; public Estudos() { super("Desenhando em um JLabel"); Container c = getContentPane(); c.setLayout(new BorderLayout()); // Cria um JLabel label = new JLabel(); c.add(label, BorderLayout.CENTER); // Cria um botão JButton btn = new JButton("Desenhar uma linha"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ // Desenha uma linha no JLabel Graphics graphics = label.getGraphics(); graphics.drawLine(0, 0, 150, 100); } } ); // Adiciona o botão à janela c.add(btn, BorderLayout.SOUTH); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
CSS ::: Dicas & Truques ::: Barras de Navegação, Menus e Dropdowns |
Como criar uma barra de menus na horizontal usando CSS e o valor inline-block para a propriedade displayQuantidade de visualizações: 563 vezes |
Nesta dica mostrarei como podemos criar uma barra de menus horizontal usando CSS. Para isso cada item de menu será um elemento <li>, contidos dentro de um elemento <ul>. O truque é definir o valor inline-block para a propriedade display de cada elemento <li>. Veja a página HTML e CSS completa para o exemplo: <!doctype html> <html> <head> <title>Estudos CSS</title> <style> #menu{ background-color: #eeeeee; list-style-type: none; text-align: center; margin: 0; padding: 0; } #menu li { display: inline-block; font-size: 20px; padding: 20px; text-decoration: none; } #menu li a{ text-decoration: none; } </style> </head> <body> <h1>Exemplo de Barra de Menu Horizontal</h1> <p>Veja como podemos usar o valor inline-block para a propriedade display do CSS para criar uma barra de menu na horizontal</p> <ul id="menu"> <li><a href="index.php">Início</a></li> <li><a href="servicos.php">Serviços</a></li> <li><a href="produtos.php">Produtos</a></li> <li><a href="contatos.php">Contatos</a></li> </ul> </body> </html> |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Portugol Básico |
Exercícios Resolvidos de Portugol - Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessáriasQuantidade de visualizações: 560 vezes |
Pergunta/Tarefa: Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado. Sua saída deverá ser parecida com: Informe a potência da lâmpada (em watts): 100 Informe a largura do cômodo (em metros): 6 Informe o comprimento do cômodo (em metros): 4 Serão necessárias 4 lâmpadas. Veja a resolução completa para o exercício em Portugol, comentada linha a linha (na resolução eu usei o Portugol Webstudio): programa { // vamos incluir a biblioteca Tipos inclua biblioteca Tipos --> tp funcao inicio() { // variáveis usadas na resolução do problema real potencia_lampada, largura_comodo, comprimento_comodo real area_comodo, potencia_total inteiro quant_lampadas // vamos ler a potência da lâmpada escreva("Informe a potência da lâmpada (em watts): ") leia(potencia_lampada) // vamos ler a largura do cômodo escreva("Informe a largura do cômodo (em metros): ") leia(largura_comodo) // agora vamos ler o comprimento do cômodo escreva("Informe o comprimento do cômodo (em metros): ") leia(comprimento_comodo) // agora vamos calcular a área do cômodo area_comodo = largura_comodo * comprimento_comodo // calculamos a potência total necessária para iluminar // todo o cômodo potencia_total = area_comodo * 18 // e finalmente calculamos a quantidade de lâmpadas necessárias quant_lampadas = tp.real_para_inteiro(potencia_total / potencia_lampada) // será necessário no mínimo uma lâmpada se (quant_lampadas == 0) { quant_lampadas = quant_lampadas + 1 } // e mostramos o resultado escreva("Serão necessárias ", quant_lampadas, " lâmpadas.") } } |
C# ::: Dicas & Truques ::: Data e Hora |
Como calcular a quantidade de dias decorridos em C# usando um objeto TimeSpanQuantidade de visualizações: 8510 vezes |
Em algumas ocasiões precisamos saber a quantidade de dias decorridos deste uma determinada data usando a linguagem C#. O trecho de código abaixo mostra como isso pode ser feito. Veja que usamos o construtor da estrutura DateTime para construir a data no passado e então a subtraímos da data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a quantidade de dias decorridos entre // 10/06/2009 e a data atual DateTime data_anterior = new DateTime(2009, 6, 10); // 10/06/2009 DateTime hoje = DateTime.Now; // obtém a quantidade de dias decorridos TimeSpan dif = hoje.Subtract(data_anterior); int decorridos = dif.Days; // exibe o resultado System.Console.WriteLine("Dias decorridos desde 10/06/2009: " + decorridos); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Dias decorridos desde 10/06/2009: 4662 |
Nossas 20 dicas & truques de programação mais populares |
MySQL - Como excluir a chave primária de uma tabela MySQL usando o comando ALTER TABLE DROP PRIMARY KEY JavaScript - Como elevar uma base a um determinado expoente usando o método pow() do objeto Math do JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva C - Como calcular a massa de um corpo dada sua energia cinética e sua velocidade usando a linguagem C JavaScript - JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScript |
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 |