Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como trabalhar com strings em Delphi - Como usar strings na linguagem Delphi

Quantidade de visualizações: 27805 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.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Matemática e Estatística

Como calcular porcentagem em Java - Como efetuar cálculos de porcentagem em Java

Quantidade de visualizações: 54025 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 Java.

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 Java:

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor, percentual, valor_final;

    valor = 178.00; // valor original
    percentual = 15.0 / 100.0; // 15%
    valor_final = valor + (percentual * valor);

    // mostra o resultado
    System.out.println("O valor final do produto é: " + valor_final);

    // O resultado será 204,70
  }
}

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 Java:

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor, percentual, valor_final;

    valor = 250.00; // valor original
    percentual = 8.0 / 100.0; // 8%
    valor_final = valor - (percentual * valor);

    // mostra o resultado
    System.out.println("O valor final do produto é: " + valor_final);
  
    // O resultado será 230,00
  }
}

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 Java:

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double perguntas, acertos;

    perguntas = 90.0;
    acertos = 72.0;

    // mostra a porcentagem de acertos
    System.out.print("Porcentagem de acertos: ");
    System.out.println(((acertos / perguntas) * 100) + "%");

    // mostra a porcentagem de erros
    System.out.print("Porcentagem de erros: ");
    System.out.println((((perguntas - acertos) / perguntas) * 100) + "%");

    // Os resultados serão 80% e 20%
  }
}

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 Java:

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor_anterior, novo_valor, porcentagem_lucro;

    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;

    System.out.println("A porcentagem de lucro foi de: " +
      porcentagem_lucro + "%");

    // O resultado será 13,33
  }
}

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 Java:

// Algoritmo que calcula porcentagem em Java
package estudos;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    double valor, percentual, comissao;

    valor = 70.0; // valor do produto
    percentual = 5.0 / 100.0; // 5%

    // calcula a comissão
    comissao = percentual * valor;

    // mostra o resultado
    System.out.println("O valor repassado ao vendedor é: " + comissao);

    // O resultado será 3,5
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas

Exercícios Resolvidos de Java - Como remover no início de uma lista ligada em Java - Escreva um programa Java que cria uma lista dinamicamente encadeada

Quantidade de visualizações: 204 vezes
Pergunta/Tarefa:

Escreva um programa Java que cria uma lista dinamicamente encadeada (lista singularmente encadeada) e peça para o usuário inserir 5 elementos do tipo inteiro. Em seguida faça a remoção do nó no início da lista ligada e retorne o seu valor.

Sua saída deve ser parecida com:

Inserindo 5 valores na lista

Informe o 1.o valor: 3
Informe o 2.o valor: 8
Informe o 3.o valor: 4
Informe o 4.o valor: 7
Informe o 5.o valor: 6

Valores na lista: 3 -> 8 -> 4 -> 7 -> 6 -> null

Removendo no início da lista
O nó removido foi: 3

Valores na lista novamente: 8 -> 4 -> 7 -> 6 -> null
Resposta/Solução:

Na saída podemos ver que a lista contém os valores 3, 8, 4, 7 e 6. Depois que o nó no início é removido, os elementos da lista ficam 8, 4, 7 e 6.

Veja a resolução comentada deste exercício usando Java:

package estudos;
  
import java.util.Scanner;

// classe interna usada para representar um
// nó na lista ligada
class No {
  int valor; // valor do nó
  No proximo; // aponta para o novo nó
 
  // construtor cheio da classe No
  public No(int valor, No proximo) {
    this.valor = valor;
    this.proximo = proximo;
  }
  
  // construtor vazio da classe No
  public No() {
    this.valor = 0;
    this.proximo = null;
  }
}

public class Estudos { 
  // vamos criar uma referência para o início da lista
  static No inicio = null;
  
  public static void main(String args[]){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos inserir 5 valores inteiros na lista ligada
    int valor;
    System.out.println("Inserindo 5 valores na lista\n");
    for (int i = 0; i < 5; i++) {
      System.out.print("Informe o " + (i + 1) + ".o valor: ");
      valor = Integer.parseInt(entrada.nextLine());
      // vamos inserir este valor no final da lista
      inserirFinal(valor);
    }
    
    // vamos exibir os valores na lista ligada
    System.out.print("\nValores na lista: ");
    exibirLista();
    
    // vamos remover o nó no início da lista ligada
    System.out.println("\nRemovendo no início da lista");
    No removido = removerInicio();
    System.out.println("O nó removido foi: " +
      removido.valor);
    
    // vamos exibir os valores na lista ligada
    System.out.print("\nValores na lista novamente: ");
    exibirLista();
  }
  
  // função que permite remover o nó no início de uma lista
  // dinamicamente ligada em Java
  public static No removerInicio() {
    // primeiro apontamos para o início da lista
    No no = inicio;
    
    // a lista está vazia?
    if (no != null) {
      // o início da lista aponta para o seu próximo
      inicio = inicio.proximo;
    }
    
    // retorna o nó removido ou null no caso da lista vazia
    return no;
  }

  // função que permite adicionar um nó no final da
  // lista ligada
  public static void inserirFinal(int valor) {
    // vamos apontar para o nó inicial
    No atual = inicio;
    // criamos um novo nó
    No novo = criarNo(valor);
  
    // a lista ligada ainda está vazia?
    if (atual == null){
      // inicio recebe o novo nó
      inicio = novo;
    }    
    else { // temos um ou mais nós na lista ligada
      // vamos localizar o último nó
      while (atual.proximo != null) {
        atual = atual.proximo;
      }
       
      // encontramos o último nó. Agora vamos inserir
      // o novo nó depois dele
      atual.proximo = novo;
    }
  }
  
  // função usada para construir e retornar um novo nó
  public static No criarNo(int valor) {
    // cria o novo nó
    No no = new No(valor, null);
    // retorna o nó criado
    return no;
  }
  
  // função usada para percorrer a lista ligada e
  // exibir os valores contidos em seus nós
  public static void exibirLista() {
    // vamos apontar para o início da lista
    No temp = inicio;
    
    // a lista está vazia?
    if (temp == null) {
      System.out.println("A lista está vazia.");
    }
    else {
      // esse laço se repete enquanto tempo for
      // diferente de null
      while (temp != null) {
        // vamos mostrar o valor desse nó
        System.out.print(temp.valor + " -> ");
        // avança para o próximo nó
        temp = temp.proximo;
      }
    
      // mostra o final da lista
      System.out.println("null");
    }
  }
}



C# ::: Coleções (Collections) ::: ArrayList

Como passar uma ArrayList para um método C#

Quantidade de visualizações: 8982 vezes
Em algumas situações nós precisamos fornecer uma ArrayList para um método C# e manipulá-la a partir deste método. Nesta dica eu mostro como isso pode ser feito.

Veja que, dentro do método Main da aplicação nós criamos um novo objeto da classe ArrayList e inserimos 5 números inteiros nela. Em seguida nós efetuamos uma chamada ao método exibirArrayList() passando a lista como referência, ou seja, qualquer alteração que fizermos na ArrayList dentro do método afetará também o objeto criado fora do método.

Veja o código completo para o exemplo:

using System;
using System.Collections;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // Cria o ArrayList
      ArrayList lista = new ArrayList();

      // Adiciona 5 inteiros
      lista.Add(30);
      lista.Add(2);
      lista.Add(98);
      lista.Add(1);
      lista.Add(7);

      // passa o ArrayList para um método que exibirá
      // seus valores
      exibirArrayList(lista);

      Console.WriteLine("\n\nPressione qualquer tecla para sair...");
      // pausa o programa
      Console.ReadKey();
    }

    // método que receberá e exibirá o conteúdo do ArrayList
    static void exibirArrayList(ArrayList mLista) {
      foreach (int valor in mLista) {
        Console.Write("{0} ", valor);
      }
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

30 2 98 1 7


Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como criar herança em Java usando extends - Programação orientada a objetos em Java

Quantidade de visualizações: 28732 vezes
Quando estamos projetando as classes que farão parte de um sistema, é aconselhável ter em mente um conceito muito importante da programação orientada a objetos: a herança.

O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação.

É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa (Pessoa.java) como mostrado no código a seguir:

public class Pessoa{ 
  public String nome;    
  public int idade;
}

Esta classe possui os atributos nome e idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código:

public class Aluno extends Pessoa{ 
  public String matricula;
}

Observe que, em Java, a palavra-chave usada para indicar herança é extends. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja um aplicativo demonstrando este relacionamento:

public class Estudos{ 
  public static void main(String args[]){ 
    // cria um objeto da classe Aluno
    Aluno aluno = new Aluno();
 
    aluno.nome = "Osmar J. Silva";
    aluno.idade = 36;
    aluno.matricula = "AC33-65";
 
    // Exibe o resultado
    System.out.println("Nome: " + aluno.nome + "\n" +
      "Idade: " + aluno.idade + "\n" +
      "Matrícula: " + aluno.matricula);
  } 
}

Ao executar este código nós teremos o seguinte resultado:

Nome: Osmar J. Silva
Idade: 36
Matrícula: AC33-65

A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas.

Esta dica foi testada no Java 8.


Node.js ::: Dicas de Estudo e Anotações ::: Passos Iniciais

Saiba o que é o Node.js e como baixar, instalar e testar seu funcionamento no Windows

Quantidade de visualizações: 1232 vezes
O que é o Node.js

Então todos os seus amigos estão comentando sobre Node.js e você não tem a mínima idéia do que se trata? Neste pequeno tutorial falaremos um pouco sobre essa ferramenta, faremos o download do instalador no Windows 10 (deve funcionar em outras versões também) e no final testaremos a instalação para termos certeza de que já estaremos prontos para desenvolver algumas idéias.

O Node.js é uma plataforma server-side, ou seja, que executa do lado do servidor web e escrito a partir do Google Chrome's JavaScript Engine (V8 Engine), o motor de interpretação e/ou compilação de códigos JavaScript do navegador Google Chrome. Esta ferramenta foi desenvolvida por Ryan Dahl e desde então tem sido adotada em vários projetos web e sofre melhorias a cada versão.

O objetivo principal do Node.js é facilitar o desenvolvimento de aplicações web que sejam mais rápidas e de fácil escalabilidade. Este web server (sim, o Node.js é um servidor web tal como o Apache Web Server, Tomcat, etc) usa um modelo direcionado a eventos (event-driven) e sem bloqueio de I/O, o que o torno leve e muito eficiente, perfeito para aplicações de tempo real e acesso intensivo a dados e que possam ser executadas em ambientes distribuidos.

O Node.js é uma plataforma open source e cross-platform, ou seja, permite que nossos códigos rodem em diferentes sistemas operacionais com poucas ou nenhuma alteração. Além disso, aplicações Node.js são escritas em JavaScript e são executadas dentro do runtime do próprio Node.js. Para completar, esta ferramenta nos fornece uma extensa biblioteca de módulos JavaScript, o que simplifica ainda mais o desenvolvimento de aplicações web.

Baixando e instalando o Node.js

Para fazer o download do Node.js, direcione o seu navegador para a URL https://nodejs.org/en/download. Você encontrará os binários e instaladores para Windows, MacOS e Linux. Para este tutorial eu baixei o instalador para o Windows 64-bit Windows Installer (.msi), node-v12.16.3-x64.msi, com o tamanho de 18,8Mb.

Execute o instalador e siga o passo-a-passo da instalação. Um detalhe importante é informar, para a instalação, um diretório que não contenha espaços. Veja:



Depois de escolhido o local de instalação, continue e logo você verá a seguinte tela:



Aqui o instalador nos informa que alguns módulos rpm precisam ser compilados com C/C++ antes de serem instalados. Se você quiser instalar tais módulos, algumas ferramentas tais como Python e o Visual Studio Build Tools deverão ser baixadas. Mas se você não quiser, não precisa se preocupar com isso agora. Apenas clique o botão Next e finalize a instalação.

Testando a sua instalação do Node.js

Finalizada a instalação, chegou a hora de fazermos o teste. Abra um janela de comando (cmd) e digite:

node -v

Opcionalmente você pode digitar --version em vez de -v. O resultado será a versão do Node.js que você acaba de instalar.

Para concluir, vamos testar a interface de linha de comando do Node. Abra de novo a janela de terminal do Windows e digite apenas:

node

Agora você verá o sinal ">" aguardando os seus comandos. Digite algo como:

console.log('Que beleza. O Node.js está pronto!');

Pressione a tecla Enter e o Node.js exibirá o conteúdo digitado. Para sair do comando de linha do Node e voltar para o terminal do Windows, basta pressionar Ctrl+D.

Pronto! Agora você já pode ver nossas dicas de Node.js e dar continuidade aos seus estudos.


Veja mais Dicas e truques de Node.js

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 13 usuários muito felizes estudando em nosso site.