Você está aqui: Cards de |
||
|
||
![]() |
||
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir uma substring em uma string JavaScript usando a função replace()Quantidade de visualizações: 561 vezes |
Nesta dica mostrarei como podemos substituir parte de uma palavra, frase ou texto em JavaScript usando a função replace() do objeto String. Esta função recebe a substring a ser substituida e a substring que ocupará o seu lugar e retorna uma nova string. Veja a página HTML para o nosso primeiro exemplo: <!doctype html> <html> <head> <title>Strings em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar uma frase var frase = "Gosto de Java, Java e mais Java"; document.write("A frase é: " + frase + "<br>"); // e agora vamos substituir a substring na string var resultado = frase.replace("Java", "Python"); // e mostramos o resultado document.write("Depois da substituição: " + resultado); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: A frase é: Gosto de Java, Java e mais Java Depois da substituição: Gosto de Python, Java e mais Java Note que apenas a primeira ocorrência da substring "Java" foi substituída por "Python". Para que todas as ocorrências sejam substituídas, temos que usar o sinalizador global. Veja: <script type="text/javascript"> // vamos criar uma frase var frase = "Gosto de Java, Java e mais Java"; document.write("A frase é: " + frase + "<br>"); // e agora vamos substituir a substring na string var resultado = frase.replace(/Java/g, "Python"); // e mostramos o resultado document.write("Depois da substituição: " + resultado); </script> Agora o resultado será: A frase é: Gosto de Java, Java e mais Java Depois da substituição: Gosto de Python, Python e mais Python |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Um método recursivo que recebe um valor inteiro e o exibe na ordem inversaQuantidade de visualizações: 4470 vezes |
Pergunta/Tarefa: Escreva um método recursivo que recebe um valor inteiro (com qualquer quantidade de dígitos) e o exibe na ordem inversa. Se o método receber o valor 467, o valor inverso será 764. Seu método deverá possuir a seguinte assinatura: public static void exibirInverso(int valor){ // sua implementação aqui } Sua saída deverá ser parecida com: Informe um valor inteiro: 932 O valor invertido é: 239 Veja a resolução comentada deste exercício usando Java console: package exercicio; import java.util.Scanner; public class Exercicio{ public static void main(String[] args) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // solicita um valor inteiro ao usuário System.out.print("Informe um valor inteiro: "); // lê o valor informado int numero = Integer.parseInt(entrada.nextLine()); // exibe o valor na ordem invertida System.out.print("O valor invertido é: "); exibirInverso(numero); System.out.println("\n"); } // método recursivo que recebe um valor inteiro e o exibe na ordem // inversa public static void exibirInverso(int valor){ // a parada da recursividade é o valor igual a 0 if(valor != 0){ System.out.print(valor % 10); valor = valor / 10; exibirInverso(valor); // efetua uma nova chamada recursiva } } } |
AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment |
Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# APIQuantidade de visualizações: 746 vezes |
Em várias situações nós precisamos pedir para o usuário selecionar um alinhamento e, após a seleção, obter o id do alinhamento selecionado para efetuarmos alguma operação nele. Para isso nós podemos usar a função GetEntity() do objeto Editor da AutoCAD Civil 3D .NET C# API. O primeiro passo é criar um objeto PromptEntityOptions passando a mensagem para o usuário selecionar o alinhamento. Se o usuário selecionar outro objeto que não seja um alinhamento, a mensagem definida em SetRejectMessage é exibida. Note o uso de AddAllowedClass para permitir a seleção apenas de objetos da classe Alignment ou derivadas dela. Depois de solicitar a seleção, nós obtemos um objeto ObjectId, que é retornado pela função GetEntity(). Veja o código AutoCAD Civil 3D .NET C# completo para o exemplo: using System; using Autodesk.AutoCAD.Runtime; using Autodesk.Civil.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.Civil.DatabaseServices; namespace Estudos { public class Class1 : IExtensionApplication { [CommandMethod("Alinhamento")] public void Alinhamento() { // vamos obter uma referência ao documento atual do Civil 3D CivilDocument doc = CivilApplication.ActiveDocument; // obtemos o editor Editor editor = Application.DocumentManager.MdiActiveDocument.Editor; // vamos iniciar um nova transação using (Transaction ts = Application.DocumentManager.MdiActiveDocument. Database.TransactionManager.StartTransaction()) { try { // vamos pedir para o usuário selecionar o alinhamento PromptEntityOptions opt = new PromptEntityOptions( "\nSelecione um alinhamento"); opt.SetRejectMessage("\nO objeto precisa ser um alinhamento.\n"); opt.AddAllowedClass(typeof(Alignment), false); // vamos obter o id do alinhamento selecionado ObjectId id_alinhamento = editor.GetEntity(opt).ObjectId; editor.WriteMessage("\nO id do alinhamento selecionado é: " + id_alinhamento + '\n'); } catch (System.Exception e) { // vamos tratar o erro editor.WriteMessage("Erro: {0}", e.Message); } } } public void Initialize() { // pode deixar em branco } public void Terminate() { // pode deixar em branco } } } Ao executar este código AutoCAD Civil 3D .NET C# nós teremos o seguinte resultado: O id do alinhamento selecionado é: (1455527762496) |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Delphi - Como efetuar cálculos de porcentagem em DelphiQuantidade de visualizações: 30825 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em Delphi. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em Delphi: // Algoritmo que calcula porcentagem em Delphi program estudos_delphi; {$APPTYPE CONSOLE} uses SysUtils, Math; var // variáveis usadas na resolução do problema valor, percentual, valor_final: double; begin valor := 178.00; // valor original percentual := 15.0 / 100.0; // 15% valor_final := valor + (percentual * valor); // mostra o resultado WriteLn('O valor final do produto é: ' + FloatToStr(valor_final)); // O resultado será 204,70 WriteLn; Write('Pressione Enter para sair...'); ReadLn; end. Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em Delphi: // Algoritmo que calcula porcentagem em Delphi program estudos_delphi; {$APPTYPE CONSOLE} uses SysUtils, Math; var // variáveis usadas na resolução do problema valor, percentual, valor_final: double; begin valor := 250.00; // valor original percentual := 8.0 / 100.0; // 8% valor_final := valor - (percentual * valor); // mostra o resultado WriteLn('O valor final do produto é: ' + FloatToStr(valor_final)); // O resultado será 230,00 WriteLn; Write('Pressione Enter para sair...'); ReadLn; end. Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em Delphi: // Algoritmo que calcula porcentagem em Delphi program estudos_delphi; {$APPTYPE CONSOLE} uses SysUtils, Math; var // variáveis usadas na resolução do problema perguntas, acertos: double; begin perguntas := 90.0; acertos := 72.0; // mostra a porcentagem de acertos WriteLn('Porcentagem de acertos: ' + FloatToStr((acertos / perguntas) * 100) + '%'); // mostra a porcentagem de erros WriteLn('Porcentagem de erros: ' + FloatToStr(((perguntas - acertos) / perguntas) * 100) + '%'); // Os resultados serão 80% e 20% WriteLn; Write('Pressione Enter para sair...'); ReadLn; end. Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em Delphi: // Algoritmo que calcula porcentagem em Delphi program estudos_delphi; {$APPTYPE CONSOLE} uses SysUtils, Math; var // variáveis usadas na resolução do problema valor_anterior, novo_valor, porcentagem_lucro: double; begin valor_anterior := 300.0; // valor anterior novo_valor := 340.0; // valor novo // calcula a porcentagem de lucro // efetua o cálculo porcentagem_lucro := ((novo_valor * 100) / valor_anterior) - 100; WriteLn('A porcentagem de lucro foi de: ' + FloatToStr(porcentagem_lucro) + '%'); // O resultado será 13,33 WriteLn; Write('Pressione Enter para sair...'); ReadLn; end. Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em Delphi: // Algoritmo que calcula porcentagem em Delphi program estudos_delphi; {$APPTYPE CONSOLE} uses SysUtils, Math; var // variáveis usadas na resolução do problema valor, percentual, comissao: double; begin valor := 70.0; // valor do produto percentual := 5.0 / 100.0; // 5% // calcula a comissão comissao := percentual * valor; // mostra o resultado WriteLn('O valor repassado ao vendedor é: ' + FloatToStr(comissao)); // O resultado será 3,5 WriteLn; Write('Pressione Enter para sair...'); ReadLn; end. |
C ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Apostila C para iniciantes - Como usar ponteiros na linguagem CQuantidade de visualizações: 32442 vezes |
Antes de pensarmos em ponteiros, é importante nos lembrarmos de alguns aspectos referentes à variáveis. Dependendo do seu conhecimento de programação, você deve saber que variáveis possuem nomes que as identificam durante a execução do programa. Você deve saber também que uma variável armazena um valor (que pode ser fixo, no caso de uma constante, ou pode mudar durante a execução de seus códigos). O que poucos programadores se lembram é que uma variável possui um endereço, e que o nome da variável não é nada mais que um apelido para a localização deste endereço. Desta forma, um ponteiro não é nada mais que um tipo especial de variável que armazena o endereço de outra. Veja um exemplo: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variável do tipo int int valor = 10; // ponteiro para uma variável do tipo int int *p = &valor; // exibe o valor da variável "valor", apontada // pelo ponteiro p printf("%d", *p); printf("\n\n"); system("PAUSE"); return 0; } Neste código nós temos a declaração e definição de duas variáveis: int valor = 10; int *p = &valor; A primeira variável é uma variável do tipo int e a segunda é um ponteiro para uma variável do tipo int. Veja que devemos sempre usar "*" antes do nome de um ponteiro em sua declaração. O símbolo "&" serve para indicar que estamos acessando o endereço de uma variável e não o seu conteúdo. O resultado destas duas linhas é que agora temos um ponteiro que nos permite acessar e manipular a variável valor. Observe a linha: printf("%d", *p); Aqui nós estamos acessando o valor da variável apontada por p. Veja o uso do símbolo "*" para acessar o valor da variável. Isso é chamado de desreferenciamento de ponteiros. Pareceu complicado? Veja uma linha de código que altera indiretamente o valor da variável valor para 30: *p = 30; Ponteiros são ferramentas muito importantes na programação em C. No entanto, é preciso ter muito cuidado ao lidar com eles. A primeira coisa a ter em mente é que um ponteiro não está apontando para nenhum lugar até que atribuimos a ele o endereço de uma outra variável. E é aí que mora o perigo. Um programa entra em colapso absoluto se tentarmos acessar um ponteiro que aponta para um local de memória que já foi liberado novamente ao sistema. No caso menos grave, estaremos tentando acessar locais de memória inválidos ou reservados a outros programas ou tarefas do sistema operacional. Isso me lembra os velhos tempos da tela azul de morte. |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Python - Como converter Metros Quadrados em Quilômetros Quadrados em Python - Python para Física e Engenharia |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |