Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como obter uma substring no início de uma string usando a função AnsiLeftStr() do Delphi

Quantidade de visualizações: 12790 vezes
Em algumas situações precisamos obter uma substring no início de uma string. Em Delphi isso pode ser feito por meio da função AnsiLeftStr(). Esta função requer a string a partir da qual a substring será obtida e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  frase, substring: string;
begin
  frase := 'Programar em Delphi é muito bom';

  // vamos obter a substring "Programar"
  substring := AnsiLeftStr(frase, 9);

  // vamos exibir o resultado
  ShowMessage('Resultado: ' + substring);
end;

Não se esqueça de adicionar a unit StrUtils no uses do seu formulário.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como criar um laço for infinito em C++ - C++ do básico ao profissional

Quantidade de visualizações: 9658 vezes
É possível criar um laço for infinito em C++ simplesmente omitindo as partes início, condição e incremento/decremento. Veja:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  // um laço for infinito (cuidado! se você não
  // fornecer uma forma de parar o negócio vai
  // travar
  int valor = 0;

  for(;;){
    cout << valor << "\n";
    valor++;

    // vamos parar o laço aqui
    if(valor > 20)
      break;
  }

  cout << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string termina com uma determinada substring em Ruby usando uma função ends_with() personalizada

Quantidade de visualizações: 7019 vezes
O Ruby, até a versão 1.8.6 não dispõe de um método para verificar se uma string termina com uma determinada substring. Assim, veja abaixo como escrever uma função ends_with(). Esta função recebe a string e a substring e retorna true se a string terminar com a substring. Eis a listagem completa:

# função auxiliar que permite verificar se
# uma string termina com uma substring
def ends_with(string, substring)
  pos = string.length - substring.length
  
  if string.index(substring, pos) == pos   
    return true
  else
    return false
  end
end

# declara e inicializa uma variável string
frase = "Gosto muito de Java, PHP e Ruby"

# vamos verificar a string termina com "Ruby"
if ends_with(frase, "Ruby")
  puts "A string termina com \"Ruby\""
else
  puts "A string NÃO termina com \"Ruby\""
end

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

A string termina com "Ruby"


jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML

Como alternar a classe de um elemento HTML usando a função toggleClass() do jQuery

Quantidade de visualizações: 8991 vezes
O método toggleClass() do jQuery é um dos mais interessantes no framework. Este método permite aplicar um nome de classe a um elemento HTML se ele ainda não estiver definido e removê-lo se este já estiver definido para o elemento. Veja um trecho de código que altera a cor de fundo de um parágrafo a cada vez que ele é clicado.

Comece analisando o trecho de estilos CSS:

<style type="text/css">
  body, td {font: 70% Verdana}
  .destaque {background-color: yellow}
  .destaque2 {background-color: red}
</style>

Veja agora o elemento P que usaremos para ilustrar o efeito:

<p id="parag" class="destaque">Sou um parágrafo</p>

E finalmente o código JavaScript (na parte <head></head> da página):

<script type="text/javascript">
<!--
  $(document).ready(function(){
    $("#parag").click(function(){
      $(this).toggleClass("destaque2");
    });
  });
//-->
</script>

E aqui a página HTML completa para o exemplo:

<!doctype html>
<html>
<head>
  <title>Estudos jQuery</title>
  
<style type="text/css">
  body, td {font: 70% Verdana}
  .destaque {background-color: yellow}
  .destaque2 {background-color: red}
</style>  

<script
  src="https://code.jquery.com/jquery-3.6.0.js"
  integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk="
  crossorigin="anonymous"></script>
  
</head>
<body>

<p id="parag" class="destaque">Sou um parágrafo</p>

<script type="text/javascript">
  $(document).ready(function(){
    $("#parag").click(function(){
      $(this).toggleClass("destaque2");
    });
  });
</script>
  
</body>
</html>

O método toggleClass() retorna um objeto jQuery para fins de encadeamento de chamadas de métodos.


jQuery ::: Dicas & Truques ::: AJAX

Apostila jQuery - Quais as diferenças entre os métodos ajax(), get() e post() do jQuery?

Quantidade de visualizações: 10872 vezes
Existem algumas diferenças substanciais entre os métodos ajax(), get() e post(). Conhecê-las e saber quando usar cada um destes métodos poderá tornar seus códigos mais dinâmicos e eficientes.

O método ajax() é o mais completo para requisições HTTP e pode ser usado com mais de um dezena de parâmetros. Este método é considerado um método de nível baixo (low level) já que permite um maior controle sobre a requisição AJAX. Além disso, se precisamos de mais flexibilidade, este é o método a ser usado.

Os métodos get() e post() são métodos de nível mais alto (higher level) e aceitam pouco mais que três parâmetros cada um. Use estes métodos quando não precisar de muito controle sobre a requisição AJAX. Estes métodos, por exemplo, não fornecem formas de tratar possíveis erros na requisição HTTP.

Nesta seção você encontrará exemplos de cada um desses métodos.


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

Programação Orientada a Objetos em PHP - Como usar o modificador de acesso private em suas classes PHP

Quantidade de visualizações: 8797 vezes
O modificador private serve para indicar que as propriedades ou métodos (funções) de uma classe podem ser acessados somente por código residente na mesma classe. Veja um exemplo:

<?
  class Pessoa{
    private $nome;
  }

  $pessoa = new Pessoa;
  $pessoa->nome = "Osmar J. Silva";
?>

Ao executarmos este código teremos a seguinte mensagem de erro:

Fatal error: Cannot access private property 
Pessoa::$nome in C:\Apache_Web_Server\htdocs\testes.php 
on line 7

Esse erro ocorre porque a variável $nome, por estar marcada com o modificador private, não pode ser acessada por código fora da classe. Veja agora um exemplo envolvendo um método privado:

<?
  class Pessoa{
    private function somar($a, $b){
      return $a + $b;
    }
  }

  $pessoa = new Pessoa;
  echo $pessoa->somar(4, 2);
?>


Ao executarmos este código, a seguinte mensagem de erro será exibida:

Fatal error: Call to private method Pessoa::somar() 
from context '' in C:\Apache_Web_Server\htdocs\testes.php 
on line 9

Novamente, este erro é causado porque o método somar() não pode ser acessado por código fora da classe Pessoa.

É importante notar, contudo, que as propriedades e métodos privados de uma classe não podem ser acessados nem mesmo por suas classes derivadas (sub-classes).


Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle

Como usar o laço for da linguagem Dart

Quantidade de visualizações: 4232 vezes
Em algumas situações os nossos códigos precisam executar repetidas vezes uma ou mais instruções. Para isso a linguagem Dart, assim como C, C++, Java, Python, JavaScript, Delphi, etc, nos oferece o laço for, ou loop for.

Este laço é usado quando sabemos exatamente a quantidade de vezes que a instrução (ou grupo de instruções) deverá ser repetida.

Veja um exemplo no qual usamos este laço para contar de 1 até 10:

void main() {
  for (int i = 1; i <= 10; i++) {
    print('${i}');
  }
}

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

1
2
3
4
5
6
7
8
9
10

Veja que o laço for em Dart é composto de três partes:

a) Inicialização da variável de controle;
b) O teste de continuidade;
c) O incremento ou decremento da variável de controle.

Como a execução do laço se inicia no teste de continuidade, é possível termos um laço for que nunca será executado. Veja:

void main() {
  for (int i = 1; i > 5; i++) {
    print('${i}');
  }
}

Execute este código e perceberá que nenhum valor é impresso. Isso aconteceu porque o teste condicional retornou um valor falso, impedindo até mesmo a primeira execução do laço.

Veja agora um laço for que conta de 10 até 1:

void main() {
  for (int i = 10; i >= 1; i--) {
    print('${i}');
  }
}

Para finalizar em grande estilo, veja um laço for que pede para o usuário digitar 5 idades e, em seguida, mostra a média das idades lidas:

// Vamos importar a biblioteca dart:io
import 'dart:io';

void main() {
  int soma = 0;
  // vamos solicitar 5 idades
  for (int i = 0; i < 5; i++) {
    stdout.write("Digite uma idade: ");
    int idade = int.parse(stdin.readLineSync());
    soma = soma + idade;
  }

  // Vamos mostrar a média das idades
  double media = soma / 5;
  print("A média das idades é $media.");
}

A execução deste código mostrará o seguinte resultado:

c:\estudos_dart>dart laco_for.dart
Digite uma idade: 18
Digite uma idade: 21
Digite uma idade: 34
Digite uma idade: 50
Digite uma idade: 9
A média das idades é 26.4.



C# ::: Dicas & Truques ::: Programação Orientada a Objetos

Como usar herança em C# - Programação Orientada a Objetos em C#

Quantidade de visualizações: 26911 vezes
Herança é uma dos três princípios fundamentais da programação orientada a objetos porque ela permite a criação de hierarquia nos objetos que compõem o sistema. Em C#, uma classe que tem seus dados e métodos herdados por outra é chamada de classe base ou super classe e a classe que herda tais dados é chamada de classe derivada ou sub-classe.

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 como mostrado no código a seguir:

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:

 
class Aluno: Pessoa{
  public string matricula;
}

Observe que, em C#, os dois-pontos são usados para indicar a herança. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja uma aplicação demonstrando este relacionamento:

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
  Console.WriteLine("Nome: " + aluno.nome + "\n" +
    "Idade: " + aluno.idade + "\n" +
    "Matrícula: " + aluno.matricula);

  Console.WriteLine("\n\nPressione uma tecla para sair...");
  Console.ReadKey();
}

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.


PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como criar vetores em PHP com a construção array() e usando inteiros como chaves

Quantidade de visualizações: 8401 vezes
A linguagem PHP nos permite criar vetores (arrays) e informar os valores inteiros que queremos como chaves, ou seja, não precisamos, obrigatoriamente, iniciar os índices dos elementos em 0.

Veja o código a seguir:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $linguagens = array(10 => 'Java',
    11 => 'Python', 12 => 'C++');
             
  echo "A linguagem escolhida foi: " . 
    $linguagens[11];
?>
 
</body>
</html>

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

A linguagem escolhida foi: Python


Python ::: Python para Engenharia ::: Física - Mecânica - Estática

Como calcular o centroide ou centro de gravidade de um triângulo em Python

Quantidade de visualizações: 1880 vezes
O centro de gravidade, ou centroide (centro geométrico), é o ponto no qual a massa de um triângulo se equilibra. Para ajudar a visualizar isso, imagine uma figura triangular suspensa sobre a ponta de um lápis. A figura vai se equilibrar se a ponta do lápis for posicionada em seu centro de gravidade. Encontrar o centroide pode ser necessário em vários projetos e aplicações de engenharia, e pode ser encontrado usando geometria simples.

Veja a seguinte figura:



Nesta figura nós temos os três vértices do triângulo devidamente registrados, assim como o ponto representando seu centroide. Assim, a fórmula do centroide do triângulo é:

\[x_c = \frac{x_1 + x_2 + x_3}{3}\]
\[y_c = \frac{y_1 + y_2 + y_3}{3}\]

Agora vamos ver como calcular o centro de gravidade do triângulo em Python. Para isso nós vamos pedir para o usuário informar as coordenadas dos três vértices do triângulo e, em seguida, vamos mostrar as coordenadas do ponto que representa o centroide. Veja:

# função principal do programa
def main():
  # vamos ler as coordenadas do primeiro vértice
  va_x = float(input("Informe o x do primeiro vértice: "))
  va_y = float(input("Informe o y do primeiro vértice: "))

  # vamos ler as coordenadas do segundo vértice
  vb_x = float(input("Informe o x do segundo vértice: "))
  vb_y = float(input("Informe o y do segundo vértice: "))

  # vamos ler as coordenadas do terceiro vértice
  vc_x = float(input("Informe o x do terceiro vértice: "))
  vc_y = float(input("Informe o y do terceiro vértice: "))
  
  # vamos calcular as coordenadas do centroide
  c_x = (va_x + vb_x + vc_x) / 3
  c_y = (va_y + vb_y + vc_y) / 3

  # vamos mostrar o resultado
  print("As coordenadas do centroide são: x={0}; y={1}".format(
    round(c_x, 2), round(c_y, 2))) 

if __name__== "__main__":
  main()

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

Informe o x do primeiro vértice: 3
Informe o y do primeiro vértice: 10
Informe o x do segundo vértice: 12
Informe o y do segundo vértice: 15
Informe o x do terceiro vértice: 14
Informe o y do terceiro vértice: 7
As coordenadas do centroide são: x=9.67; y=10.67

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

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

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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



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