![]() |
|||||
|
C# ::: Windows Forms ::: DataGridView |
Como ocultar ou exibir uma determinada linha do DataGridView do C# Windows FormsQuantidade de visualizações: 13298 vezes |
Em algumas situações precisamos ocultar ou exibir determinadas linhas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewRow. Veja um trecho de código no qual ocultamos a primeira linha do DataGridView:private void button3_Click(object sender, EventArgs e){ // vamos ocultar a primeira linha dataGridView1.Rows[0].Visible = false; } Veja que aqui nós acessamos a coleção DataGridViewRowCollection e usamos um índice para retornar o DataGridViewRow desejado. Em seguida definimos o valor false para sua propriedade Visible. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como usar o método startsWith() da classe String do Java para verificar se uma string começa com uma substring - Como testar o conteúdo no início de uma stringQuantidade de visualizações: 324 vezes |
Em algumas situações gostaríamos de verificar se uma palavra, frase ou texto começa com uma determinada substring. Para isso podemos usar o método startsWith() da classe String da linguagem Java. Veja um código completo no qual verificamos se um endereço de um site na internet começa com "https": package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String site = "https://www.arquivodecodigos.com.br"; if(site.startsWith("https")){ System.out.println("Este site parece ser seguro."); } else{ System.out.println("Este site não parece ser seguro."); } System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Este site parece ser seguro. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Como calcular Vazão Volumétrica, Vazão Mássica e Vazão em Peso usando Python - Python para Fenômenos dos Transportes e HidráulicaQuantidade de visualizações: 185 vezes |
Pergunta/Tarefa: Uma torneira enche de água um tanque em 2 horas e 20 segundos. Determine a vazão em volume, em massa e em peso em unidades do SI. Considere que a densidade da água é igual a 1000 kg/m3 e g = 9,8 m/s2. Considere também que a capacidade do tanque é de 10 mil litros. Sua saída deverá ser parecida com: Informe a quantidade de horas: 2 Informe a quantidade de segundos: 20 Informe a capacidade do tanque (litros): 10000 Informe a densidade da água (kg/m3): 1000 Informe a força da gravidade (m/s2): 9.8 Total de segundos: 7220 Capacidade do tanque: 10.0 m3 Vazão Volumétrica: 0.0013850415512465374 m3/s Vazão Mássica: 1.3850415512465375 kg/s Vazão em Peso: 13.57340720221607 N/s Para obter a Vazão Volumétrica, que representa a quantidade de volume que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_v = \frac{V}{T} \] Onde: Qv = vazão volumétrica em metros cúbicos por segundo (m3/s); V = o volume do fluido em metros cúbicos (m3); T = o tempo em segundos (s). Para obter a Vazão Mássica, que representa a quantidade de massa que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_m = \frac{M}{T} \] Onde: Qm = vazão mássica em quilos por segundo (kg/s); M = a massa do fluido em quilos (kg); T = o tempo em segundos (s). Para a Vazão em Peso nós só precisamos multiplicar a Vazão Mássica pelo peso da gravidade, ou seja, 9.8. Dessa forma, a Vazão em Peso é dada em N/s. Obs.: No código eu mostro como converter horas em segundos e litros em m3. Veja a resolução completa para o exercício em Python, comentada linha a linha: # método principal def main(): # vamos ler a quantidade de horas e segundos hora = int(input("Informe a quantidade de horas: ")) segundos = int(input("Informe a quantidade de segundos: ")) # agora vamos ler a capacidade do tanque em litros capacidade_tanque = int(input("Informe a capacidade do tanque (litros): ")) # vamos ler a densidade da água densidade_agua = float(input("Informe a densidade da água (kg/m3): ")) # vamos ler a força da gravidade gravidade = float(input("Informe a força da gravidade (m/s2): ")) # vamos calcular o total de segundos segundos_hora = 3600 total_segundos = (2 * segundos_hora) + segundos # vamos converter a capacidade do tanque de litros para m3 volume = capacidade_tanque / 1000.0 # vamos calcular a vazão volumétrica vazao_volumetrica = volume / total_segundos # vamos calcular a vazão mássica vazao_massica = vazao_volumetrica * densidade_agua # vamos calcular a vazão em peso vazao_peso = vazao_massica * gravidade # e mostramos o resultado print("\nTotal de segundos: {0}".format(total_segundos)) print("Capacidade do tanque: {0} m3".format(volume)) print("Vazão Volumétrica: {0} m3/s".format(vazao_volumetrica)) print("Vazão Mássica: {0} kg/s".format(vazao_massica)) print("Vazão em Peso: {0} N/s".format(vazao_peso)) if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Lista (List) |
Python para iniciantes - Como classificar uma lista de strings usando ordem alfabéticaQuantidade de visualizações: 9378 vezes |
Nesta dica mostrarei como podemos usar o método sort() da classe List da linguagem Python para ordenar uma lista de palavras, frases ou texto em ordem alfabética. Veja o código completo para o exemplo: def main(): # cria uma lista de nomes nomes = ['Carlos', 'Amanda', 'Osmar', 'Fernanda'] # exibe a lista na ordem original print(nomes) # ordena a lista nomes.sort() # exibe a lista ordenada print(nomes) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: ['Carlos', 'Amanda', 'Osmar', 'Fernanda'] ['Amanda', 'Carlos', 'Fernanda', 'Osmar'] |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercício Resolvido de Java - Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operaçõesQuantidade de visualizações: 6126 vezes |
Exercícios Resolvidos de Java - Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operações Pergunta/Tarefa: Crie uma classe Agenda que pode armazenar 10 pessoas e que seja capaz de realizar as seguintes operações: void armazenaPessoa(String nome, int idade, float altura); void removePessoa(String nome); int buscaPessoa(String nome); // informa em que posição da agenda está a pessoa void imprimeAgenda(); // imprime os dados de todas as pessoas da agenda void imprimePessoa(int index); // imprime os dados da pessoa que está na posição "i" da agenda. O código deverá ser desenvolvido em Java console (modo texto) e usar um menu switch() para as operações. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Código para a classe Pessoa (Pessoa.java): package arquivodecodigos; public class Pessoa { private String nome; private int idade; private double altura; // construtor cheio public Pessoa(String nome, int idade, double altura) { this.nome = nome; this.idade = idade; this.altura = altura; } // construtor vazio public Pessoa() { } // método que imprime todos os dados da pessoa public void imprimirDados(){ System.out.println("Nome: " + nome + "\nIdade: " + idade + "\nAltura: " + altura); } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getIdade() { return idade; } public void setIdade(int idade) { this.idade = idade; } public double getAltura() { return altura; } public void setAltura(double altura) { this.altura = altura; } } Código para a classe Agenda (Agenda.java): package arquivodecodigos; public class Agenda { // vetor que guardará as pessoas private Pessoa pessoas[]; // construtor da classe Agenda public Agenda(int quantidade){ pessoas = new Pessoa[quantidade]; } public void armazenaPessoa(String nome, int idade, double altura){ // ainda temos posições disponíveis na agenda? boolean cadastrado = false; for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] == null){ // encontramos uma posição Pessoa p = new Pessoa(nome, idade, altura); // criamos uma nova pessoa // guardamos ela no vetor pessoas[i] = p; // e avisamos que o cadastro foi efetuado com sucesso cadastrado = true; break; // sai do laço } } if(cadastrado){ System.out.println("\nCadastro efetuado com sucesso"); } else{ System.out.println("\nNão foi possível cadastrar. Agenda cheia"); } } // método que permite pesquisar e excluir uma pessoa public void removePessoa(String nome){ // vamos verificar se a exclusão foi efetuada com sucesso boolean excluido = false; for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] != null){ // esta é a pessoa que estamos procurando? if(pessoas[i].getNome().equals(nome)){ pessoas[i] = null; // posição disponível novamente excluido = true; break; // sai do laço } } } if(excluido){ System.out.println("\nPessoa removida com sucesso"); } else{ System.out.println("\nNão foi possível remover. Pessoa não encontrada."); } } // informa em que posição da agenda está a pessoa public int buscaPessoa(String nome){ int resultado = -1; // vamos verificar se a pessoa existe na agenda for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] != null){ // esta é a pessoa que estamos procurando? if(pessoas[i].getNome().equals(nome)){ resultado = i; break; // sai do laço } } } return resultado; } // imprime os dados de todas as pessoas da agenda public void imprimeAgenda(){ // vamos percorrer o vetor de pessoas e imprimir cada uma for(int i = 0; i < pessoas.length; i++){ if(pessoas[i] != null){ Pessoa p = pessoas[i]; System.out.println("\nNome: " + p.getNome()); System.out.println("Idade: " + p.getIdade()); System.out.println("Altura: " + p.getAltura()); } } } // imprime os dados da pessoa que está na posição "i" da agenda public void imprimePessoa(int index){ // este índice é válido? if((index < 0) || (index > (pessoas.length - 1))){ System.out.println("\nÍndice inválido"); } else{ Pessoa p = pessoas[index]; if(p == null){ System.out.println("\nNão existe pessoa nesse índice ainda."); } else{ System.out.println("\nNome: " + p.getNome()); System.out.println("Idade: " + p.getIdade()); System.out.println("Altura: " + p.getAltura()); } } } } Código para a classe Principal (Principal.java): package arquivodecodigos; import java.util.Scanner; public class Principal { // para fazer a leitura da entrada do usuário static Scanner entrada = new Scanner(System.in); public static void main(String[] args) { // cria uma nova Agenda Agenda agenda = new Agenda(10); String nome; // nome da pessoa int idade; // idade da pessoa double altura; // altura da pessoa // cria o menu de opções while(true){ System.out.println("\n1. Nova Pessoa"); System.out.println("2. Excluir Pessoa"); System.out.println("3. Buscar Pessoa"); System.out.println("4. Imprimir Agenda"); System.out.println("5. Imprimir Pessoa (Índice)"); System.out.println("6. Sair"); System.out.print("Sua opção: "); int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: System.out.print("\nInforme o nome: "); nome = entrada.nextLine(); System.out.print("Informe a idade: "); idade = Integer.parseInt(entrada.nextLine()); System.out.print("Informe a altura (use ponto em vez de vírgula): "); altura = Double.parseDouble(entrada.nextLine()); agenda.armazenaPessoa(nome, idade, altura); break; case 2: System.out.print("\nInforme o nome a ser removido: "); nome = entrada.nextLine(); agenda.removePessoa(nome); break; case 3: System.out.print("\nInforme o nome a ser pesquisado: "); nome = entrada.nextLine(); int indice = agenda.buscaPessoa(nome); if(indice < 0){ System.out.println("\nA pessoa não foi encontrada"); } else{ System.out.println("\nA pessoa foi encontrada no índice: " + indice); } break; case 4: agenda.imprimeAgenda(); break; case 5: System.out.print("\nInforme o índice desejado: "); int index = Integer.parseInt(entrada.nextLine()); agenda.imprimePessoa(index); break; case 6: System.exit(0); default: System.out.println("\nOpção inválida\n"); break; } } } } |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como usar as funções strpos() e stripos() do PHP para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma stringQuantidade de visualizações: 3210 vezes |
Em algumas situações percebemos que uma substring aparece mais de uma vez em uma string e gostaríamos de obter mais informações sobre tais ocorrências. No trecho de código abaixo eu mostro como usar as funções strpos() e stripos() para obter uma matriz contendo todas as posições das ocorrências de uma substring dentro de uma string:<?php $frase = "PHP? Gosto muito de PHP e Java. Mas prefiro PHP e Delphi"; $palavra = "PHP"; // primeiro vamos verificar se a palavra está contida na frase if(strpos($frase, $palavra) !== false){ // agora vamos obter as posições de todas as ocorrências $posicoes = array(); $offset = 0; $posicao = -1; while($offset < strlen($frase)){ $posicao = strpos($frase, $palavra, $offset); if($posicao !== false){ $posicoes[] = $posicao; $offset = $posicao + strlen($palavra); } else{ $offset++; } } // percorre a matriz de posições e informa o usuário echo "A palavra foi encontrada nas posições: "; for($i = 0; $i < count($posicoes); $i++){ echo $posicoes[$i] . ", "; } } else{ echo "A palavra não está contida na string"; } ?> Ao executarmos este código nós teremos o seguinte resultado: A palavra foi encontrada nas posições: 0, 20, 44, Note que a função strpos() diferencia maiúsculas de minúsculas. Se você quiser efetuar uma pesquisa de substrings desconsiderando maiúsculas e minúsculas, use a função stripos(). |
C ::: Estruturas de Dados ::: Lista Ligada Simples |
Estrutura de Dados em C - Como inserir nós no final de uma lista singularmente ligada em CQuantidade de visualizações: 8174 vezes |
Esta dica mostra como inserir nós no final de uma lista singularmente ligada. A estrutura usada para representar cada nó é a seguinte:struct No{ int valor; struct No *proximo; }; Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no final quanto a exibição dos nós são feitas usando funções. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código: #include <stdio.h> #include <stdlib.h> // estrutura Nó struct No{ int valor; struct No *proximo; }; // fim da estrutura Nó // função que permite exibir os valores de // todos os nós da lista void exibir(struct No *n){ if(n != NULL){ do{ printf("%d\n", n->valor); n = n->proximo; }while(n != NULL); } else printf("A lista esta vazia\n\n"); } // função que permite inserir nós no // final da lista. // veja que a função recebe o valor a ser // armazenado em cada nó e um ponteiro para o // início da lista. A função retorna um // ponteiro para o início da lista struct No *inserir_final(struct No *n, int v){ // reserva memória para o novo nó struct No *novo = (struct No*)malloc(sizeof(struct No)); novo->valor = v; // verifica se a lista está vazia if(n == NULL){ // é o primeiro nó...não deve apontar para // lugar nenhum novo->proximo = NULL; return novo; // vamos retornar o novo nó como sendo o início da lista } else{ // não está vazia....vamos inserir o nó no final // o primeiro passo é chegarmos ao final da lista struct No *temp = n; // vamos obter uma referência ao primeiro nó // vamos varrer a lista até chegarmos ao último nó while(temp->proximo != NULL){ temp = temp->proximo; } // na saída do laço temp aponta para o último nó da lista // novo será o último nó da lista...o campo próximo dele deve // apontar para NULL novo->proximo = NULL; // vamos fazer o último nó apontar para o nó recém-criado temp->proximo = novo; return n; // vamos retornar o início da lista intacto } } int main(int argc, char *argv[]) { // declara a lista struct No *inicio = NULL; // vamos inserir quatro valores no final // da lista inicio = inserir_final(inicio, 45); inicio = inserir_final(inicio, 3); inicio = inserir_final(inicio, 98); inicio = inserir_final(inicio, 47); // vamos exibir o resultado exibir(inicio); system("pause"); return 0; } |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter o conteúdo de uma string em VB.NET usando os métodos ToCharArray() e Reverse()Quantidade de visualizações: 7918 vezes |
Nesta dica mostrarei como podemos tirar proveito do método ToCharArray() da classe String e do método Reverse() da classe Array do VB.NET para inverter a ordem dos caracteres de uma palavra, frase ou texto. Note que criamos uma função personalizada InverterString() que recebe uma string, a inverte e devolve uma nova string com a ordem dos caracteres invertida. Veja o código completo para o exemplo: Imports System Module Program Sub Main(args As String()) ' vamos declarar uma string Dim frase As String = "Gosto de VB.NET" ' mostramos a frase original Console.WriteLine("Frase original: " & frase) ' inverte o conteúdo da string frase = InverterString(frase) ' mostramos a frase invertida Console.WriteLine("A frase invertidade é: " & frase) Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub ' Função que recebe uma string e a devolve invertida Function InverterString(ByVal str As String) As String Dim invertida As String Dim arrChar() As Char = str.ToCharArray() Array.Reverse(arrChar) invertida = arrChar Return invertida End Function End Module Ao executar este código VB.NET nós teremos o seguinte resultado: Frase original: Gosto de VB.NET A frase invertidade é: TEN.BV ed otsoG |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como remover quebras de linhas de uma string - Como usar o método replaceAll() da classe String para remover quebras de linha de um texto - RevisadoQuantidade de visualizações: 25 vezes |
Nesta dica eu mostro como podemos usar o método replaceAll() da classe String para remover quebras de linha de uma palavra, frase ou texto. Veja:package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String original = "Programar em Java\n é mais fácil do\n que você pensa."; // vamos exibir a String original System.out.println("Original: " + original); // agora vamos remover as quebras de linha String nova = original.replaceAll("[\\n]", ""); // vamos exibir a String sem as quebras de linha System.out.println("Sem quebras de linha: " + nova); System.exit(0); } } Este código exibirá o seguinte resultado: Original: Programar em Java é mais fácil do que você pensa. Sem quebras de linha: Programar em Java é mais fácil do que você pensa. Esta dica foi revisada e atualizada para o Java 8. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Calculando e exibindo os números primos entre 2 e 100Quantidade de visualizações: 8667 vezes |
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa (algorítmo) Java que usa um laço for, while ou do...while para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). Sua saída deverá ser parecida com: Numeros primos entre 2 e 100: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Veja a resolução comentada deste exercício usando Java console: package estudos; public class Estudos { public static void main(String[] args) { // limite dos números primos (incluindo) int limite = 100; // Lembre-se! O número 1 não é primo System.out.println("Numeros primos entre 2 e " + limite + ": "); // laço que percorre os valores de 2 até o limite desejado for(int i = 2; i <= limite; i++){ boolean primo = true; // se o valor de i for 7, a variável j do laço contará // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o // módulo de 7 por qualquer um dos valores neste intervalo // for igual a 0, então o número não é primo for(int j = 2; j <= (i / 2); j++){ if(i % j == 0){ primo = false; // não é primo break; } } if(primo){ System.out.print(i + " "); } } System.out.println(); } } |
Nossas 20 dicas & truques de programação mais populares |
Java - Java Swing - Como criar sua primeira JTree usando um vetor de nomes de linguagens de programação Python - Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do Python Java - Como retornar a hora atual em Java usando um objeto da classe Calendar - Datas e Horas em Java |
Você também poderá gostar das dicas e truques de programação abaixo |
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 |