Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como trabalhar com strings em Delphi - Como usar strings na linguagem DelphiQuantidade de visualizações: 28270 vezes |
Strings estão presentes em praticamente todos os programas que desenvolvemos, não importa a linguagem de programação usada. Sempre que queremos trabalhar com nomes de pessoas, nomes de cidades, palavras, frases e textos, as strings estão lá para nos auxiliar. Assim, para as linguagens de programação, as strings são apenas matrizes de caracteres (letras ou símbolos). Em Delphi podemos declarar e inicializar strings da seguinte forma: procedure TForm1.Button1Click(Sender: TObject); var nome: string; // declara uma variável do tipo string begin nome := 'Osmar J. Silva'; // inicializa a variável ShowMessage(nome); // exibe o conteúdo da string end; Quando declaramos uma string em Delphi usando a palavra-chave string, o compilador automaticamente assume o tipo UnicodeString, com uma capacidade de 2^30 caracteres (mais ou menos 1.073.741.824 caracteres) com uma capacidade variando de 4 bytes até 2GB. Além do tipo string, o Delphi suporta outros tipos que possibilitam também o trabalho com strings e caracteres. Entre eles podemos citar ShortString, AnsiString, WideString entre outros. Quando puder dê mais uma revisada nas minha dicas sobre strings e caracteres para aprender mais. É possível também usar o tipo string para criar strings com tamanhos pré-definidos. Veja: var nome: string[5]; // declara uma variável do tipo string // que guardará apenas 5 caracteres Aqui temos uma string que não suportará mais que cinco caracteres. Importante notar que, internamente, teremos agora uma string do tipo ShortString e não mais UnicodeString como anteriormente. Se tentarmos atribuir mais que cinco caracteres nesta variável, o restante será truncado: nome := 'Osmar J. Silva'; // inicializa a variável ShowMessage(nome); // mostrará apenas "Osmar" Para finalizar, veja como podemos solicitar ao usuário que informe seu nome e exibí-lo usando a função ShowMessage(): procedure TForm1.Button1Click(Sender: TObject); var nome: string; // declara uma variável do tipo string begin // vamos solicitar ao usuário que informe seu nome nome := Dialogs.InputBox('Nome', 'Informe seu nome:', ''); ShowMessage('Seu nome é: ' + nome); // mostrará apenas "Osmar" end; Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como obter o texto selecionado em um controle JTextArea do Java SwingQuantidade de visualizações: 468 vezes |
Em algumas situações nós precisamos obter o texto selecionado pelo usuário em um componente JTextArea de nossas aplicações Java Swing. Isso pode ser feito com uma chamada ao seu método getSelectedText(). Veja um trecho de código no qual obtemos o texto selecionado em um JTextArea chamado textArea: textArea = new JTextArea(10, 20); String selecionado = textArea.getSelectedText(); |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de VisuAlg - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em VisuAlgQuantidade de visualizações: 383 vezes |
Pergunta/Tarefa: Escreva um programa VisuAlg que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado: // declara um vetor de 10 inteiros valores: vetor[1..10] de inteiro Informe um valor: 4 O valor foi encontrado: 3 vezes Informe um valor: 8 O valor foi encontrado: 1 vezes Informe um valor: 3 O valor foi encontrado: 0 vezes Veja a resolução comentada deste exercício usando VisuAlg: algoritmo "Contar quantas vezes um elemento repete em um vetor" var // variáveis usadas na resolução do problema valores: vetor[1..10] de inteiro pesquisa, repeticoes, i: inteiro inicio // inicializa um vetor de 10 inteiros valores[1] <- 4 valores[2] <- 21 valores[3] <- 9 valores[4] <- 8 valores[5] <- 12 valores[6] <- 21 valores[7] <- 4 valores[8] <- 4 valores[9] <- 1 valores[10] <- 10 // vamos ler um valor inteiro escreva("Informe um valor: ") leia(pesquisa) // vamos verificar quantas vezes o valor informado está // contido no vetor repeticoes <- 0 para i de 1 ate 10 faca se valores[i] = pesquisa entao // encontrou? vamos contar esta ocorrência repeticoes <- repeticoes + 1 fimse fimpara // vamos mostrar o resultado escreva("O valor foi encontrado: ", repeticoes, " vezes") fimalgoritmo |
Python ::: Dicas & Truques ::: Lista (List) |
Python para iniciantes - Como usar o tipo de dados list da linguagem PythonQuantidade de visualizações: 7840 vezes |
O tipo de dados list é um dos quatro tipos de dados já incluídos no Python (sem a necessidade de importar outros módulos), a saber, tuple, set e dict (dictionary), cada um com qualidades e uso diferentes. Uma list é uma sequência mutável e ordenada de itens. Os itens de uma list são objetos arbitrários e podem ser de diferentes tipos. Para especificar uma list, podemos usar uma série de expressões (os itens da lista) separadas por vírgulas e entre colchetes ([]). Opcionalmente podemos inserir uma vírgula redundante depois do último item. Para denotar uma lista vazia, use um par de colchetes. Veja alguns exemplos: # uma list com nomes de pessoas nomes = ['Carlos', 'Fabiana', 'Jorge'] print(nomes[0]) # uma list com valores inteiros valores = [3, 7, 34, 0, 2] print((valores[1] + valores[4])) # uma lista vazia lista = [] print(len(lista)) É possível também construir uma lista usando a palavra-chave list. Veja: # função principal do programa def main(): # uma list com nomes de pessoas nomes = list(['Carlos', 'Fabiana', 'Jorge']) print("O nome escolhido é", nomes[0]) if __name__== "__main__": main() Ao executar este último exemplo nós teremos o seguinte resultado: O nome escolhido é Carlos |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados char da linguagem JavaQuantidade de visualizações: 25450 vezes |
O tipo de dados char é usado para representar um único caractere. Veja:public class Estudos{ public static void main(String args[]){ char letra1 = 'A'; char letra2 = 'B'; System.out.println("As letras são: " + letra1 + " e " + letra2); System.exit(0); } } Observe que um literal string deve estar entre aspas duplas, enquanto que um literal do tipo caractere deve estar entre aspas simples. Desta forma, "H" é uma string e 'H' é um caractere. O tipo char é integral mas sem sinal. A faixa de uma variável deste tipo vai de 0 à 65536. Os caracteres em Java são codificados em Unicode, que é um codificação de 16 bits capaz de representar uma larga faixa de caracteres internacionais. Se os 9 bits mais significantes de um char forem todos 0, então a codificação será a mesma que o ASCII de 7 bits. É possível atribuir literais inteiros à uma variável do tipo char. Veja: public class Estudos{ public static void main(String args[]){ char letra = 98; System.out.println("A letra é: " + letra); System.exit(0); } } Este código exibirá o caractere 'b'. Veja um exemplo no qual imprimimos todas as letras do alfabeto minúsculo: public class Estudos{ public static void main(String args[]){ for(char i = 97; i <= 122; i++){ System.out.print(i + " "); } System.exit(0); } } O tipo char pode ser convertido (sem a necessidade de cast) para os seguintes tipos: char -> int -> long -> float -> double Não é possível converter um char em um short ou byte. Caso isso seja realmente necessário, temos que fazer uma coerção (cast). Veja: public class Estudos{ public static void main(String args[]){ char letra = 57; byte valor = (byte)(letra); System.exit(0); } } É fácil entender porque um char não pode ser convertido implicitamente em um byte. Um char possui 16 bits enquanto um byte possui apenas 8 bits. Mas, um short possui 16 bits. Assim, o que impede a conversão implicita de um char para um short? É simples. Como o tipo short possui sinal (aceita valores negativos) e o tipo char é sem sinal, o resultado é que o tipo short possui um bit a menos (reservado para o sinal) e portanto, não pode acomodar os 16 bits do tipo char. |
jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico |
Como adicionar conteúdo ao final de um elemento HTML usando a função append() do jQueryQuantidade de visualizações: 928 vezes |
O método append() permite adicionar conteúdo ao final de um elemento HTML. Este conteúdo pode ser um seletor, um elemento HTML, uma string HTML ou um objeto jQuery. Veja um trecho de código no qual adicionamos mais um linha de texto a um parágrafo: <script type="text/javascript"> <!-- function adicionarConteudo(){ var texto = "<br>Mais uma linha."; $("#parag").append(texto); } //--> </script> O método append() opera em todos os elementos HTML retornados sob uma determinação condição. O retorno do método é um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos. |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Apostila C# para iniciantes - Como calcular juros compostos e montante usando C#Quantidade de visualizações: 14083 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código C# para a resolução: static void Main(string[] args){ double principal = 2000.00; double taxa = 0.03; int meses = 3; double montante = principal * Math.Pow((1 + taxa), meses); double juros = montante - principal; Console.WriteLine("O total de juros a ser pago é: " + juros); Console.WriteLine("O montante a ser pago é: " + montante); Console.WriteLine("Pressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: static void Main(string[] args){ double principal = 2000.00; double taxa = 0.03; int meses = 3; double anterior = 0.0; for(int i = 1; i <= meses; i++){ double montante = principal * Math.Pow((1 + taxa), i); double juros = montante - principal - anterior; anterior += juros; Console.WriteLine("Mês: " + i + " - Montante: " + montante + " - Juros: " + juros); } Console.WriteLine("Pressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } |
Java ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Tutorial Java para iniciantes - Como usar o laço for em JavaQuantidade de visualizações: 21393 vezes |
O laço for (loop for, ou laço para) é de longe uma das estruturas de controle mais usadas, não só em Java como em várias linguagens de programação). A razão de seu sucesso é a facilidade com que podemos efetuar iterações controladas por um contador ou uma variável similar, que é atualizada a cada iteração. Veja sua sintáxe:for(passo 1; passo 2; passo 3){ // bloco de instruções } passo 1: É aqui que definimos a variável de controle. Esta variável pode também ser declarada antes do laço, mas nunca em seu corpo. passo 2: Aqui testamos a condição de continuidade do laço. Se a condição retornar verdadeira, a execução do laço continua. Do contrário esta é interrompida. passo 2: Nesta parte nós incrementamos ou decrementamos a variável de controle. É importante perceber que podemos ter mais de uma instruções nos passos 1 e 3 de uma laço for, basta separá-las por vírgulas. Veja um exemplo no qual usamos um laço for para imprimir os números de 0 a 10: public class Estudos{ public static void main(String[] args){ for(int i = 0; i <= 10; i++){ System.out.println(i); } } } Veja agora como efetuar a operação inversa, ou seja, imprimir os números em ordem decrescente: public class Estudos{ public static void main(String[] args) { for(int i = 10; i >= 0; i--){ System.out.println(i); } } } Para finalizar veja como podemos imprimir os números pares de 0 a 10: public class Estudos{ public static void main(String[] args) { for(int i = 0; i <= 10; i += 2){ System.out.println(i); } } } |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
PHP para iniciantes - Como contar a quantidade de palavras em uma string usando as funções explode() e count() do PHPQuantidade de visualizações: 96 vezes |
Em algumas situações nós precisamos obter a quantidade de palavras em uma frase ou texto. Para isso nós podemos combinar as funções explode() e count() da linguagem PHP. É importante, antes de efetuarmos esta tarefa, nos certificarmos de que a string sendo analisada não possui espaços em excesso. Se esse for o caso, veja nossas dicas e truques a respeito da remoção de espaços em excesso de uma frase ou texto. Veja o código completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $frase = "Gosto de programar em PHP"; $palavras = explode(" ", $frase); echo "A frase \"" . $frase . "\" contém " . count($palavras) . " palavras"; ?> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: A frase "Gosto de programar em PHP" contém 5 palavras |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como retornar a data e hora da criação de um diretório em C# usando a função GetCreationTime() da classe DirectoryQuantidade de visualizações: 121 vezes |
Nesta dica mostrarei como usar o método GetCreationTime() da classe Directory do C# para obter e retornar a data e hora da criação de um diretório. Note que o retorno de uma chamada a este método é um objeto da classe DateTime. Veja o código completo para o exemplo: using System; using System.IO; namespace Estudos { class Principal { static void Main(string[] args) { // caminho e nome do diretíro string diretorio = @"C:\estudos_csharp\imagens"; DateTime data = Directory.GetCreationTime(diretorio); Console.WriteLine("Diretório criado em: {0}", data); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Diretório criado em: 17/07/2022 22:09:12 |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript |
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 |