Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Java ::: Coleções (Collections) ::: ArrayList

Java ArrayList - Como remover uma faixa de elementos de uma ArrayList simulando a função removeRange() do Java

Quantidade de visualizações: 9395 vezes
Este exemplo mostra como remover uma faixa de elementos de uma ArrayList. Note que vamos simular o comportamento do método removeRange() da classe ArrayList. Este método é marcado como protected, o que nos possibilita acesso a ele somente se escrevermos uma classe que estende (extends) ArrayList.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.util.ArrayList;
 
public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<>();
     
    // adiciona itens na lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");
    nomes.add("Maria");    
     
    // exibe os elementos da ArrayList
    System.out.println("Todos os elementos:");
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));   
    }
  
    // Vamos remover os elementos 2, 3 e 4
    for(int i = 1; i < 4; i++){
      nomes.remove(1);
    }
  
    // exibe os elementos da ArrayList
    System.out.println("\nElementos restantes:");
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));
    }
 
    System.exit(0);
  }
}

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

Todos os elementos:
Carlos
Maria
Fernanda
Osmar
Maria

Elementos restantes:
Carlos
Maria


PHP ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções

Apostila de PHP - Como criar suas próprias funções em PHP

Quantidade de visualizações: 31215 vezes
Uma função é um bloco de código que executa uma determinada tarefa, possivelmente baseado em um conjuntos de valores fornecidos, ou parâmetros, e possivelmente retornando um único valor. Funções permitem a melhora na leitura do código e correção de bugs, visto que blocos de códigos bem testados podem ser reutilizados inúmeras vezes em seus programas.

Antes de continuarmos é bom estar ciente dos diferentes nomes que as linguagens de programação adotam quando o assunto é função. Em Java, funções são chamadas de métodos. Em Delphi, temos funções (function) e procedimentos (procedure). Se uma função em Delphi retorna um valor, ela é chamada de function. Se nenhum valor é retornado, ela é chamada de procedure. Em PHP o nome é função (function) mesmo, não importando se valores são retornados ou não.

Veja um exemplo onde criamos uma função que apenas escreve na página:

<?
  // define a função
  function escrever(){
    echo "Observe este texto";
  }
  
  // chama a função
  escrever();
?>

Podemos estender este exemplo e fornecer à função o texto que deverá ser escrito. Veja:

<?
  // define a função
  function escrever($texto){
    echo $texto;
  }
  
  // chama a função
  escrever("Observe este texto");
?>

Veja que agora a função possui parâmetros, neste caso a variável local $texto. Assim, ao efetuarmos a chamada nós podemos fornecer um valor (um argumento) a esta função. Vamos progredir escrevendo uma função que soma dois valores:

<?
  // define a função
  function somar($valor1, $valor2){
    echo "A soma é: " . ($valor1 + $valor2);
  }
  
  // chama a função
  somar(3, 5);
?>

Para finalizar, vamos escrever uma função que retorna um valor. Veja:

<?
  // define a função
  function somar($valor1, $valor2){
    return ($valor1 + $valor2);
  }
  
  // chama a função
  $soma = somar(3, 5);
  echo "O resultado é: " . $soma;
?>

Observe o uso da palavra-chave return para definirmos o valor que será retornado pela função.


C# ::: Windows Forms ::: DataGridView

Como retornar a quantidade de linhas em um DataGridView do C# Windows Forms

Quantidade de visualizações: 14923 vezes
A quantidade de linhas em um DataGridView do C# Windows Forms pode ser obtida por meio da propriedade RowCount. Veja:

private void button2_Click(object sender, EventArgs e){
  // vamos adicionar três colunas no DataGridView
  dataGridView1.Columns.Add("cidade", "Cidade");
  dataGridView1.Columns.Add("estado", "Estado");
  dataGridView1.Columns.Add("populacao", "População");

  // vamos adicionar três linhas
  dataGridView1.Rows.Add("Goiânia", "GO", "3.453,39");
  dataGridView1.Rows.Add("Cuiabá", "MT", "1.876,12");
  dataGridView1.Rows.Add("Curitiba", "PR", "5.346,98");

  // não vamos permitir que o usuário adicione novas
  // linhas (o que daria uma linha a mais na nossa
  // contagem
  dataGridView1.AllowUserToAddRows = false;

  // vamos obter a quantidade de linhas no DataGridView
  int quant_linhas = dataGridView1.RowCount;

  // exibe o resultado
  MessageBox.Show("O DataGridView contém " + 
    quant_linhas + " linhas");
}

É possível também usar a propriedade RowCount para definir a quantidade de linhas em um DataGridView:

dataGridView1.RowCount = 6;

Há algumas considerações importantes sobre a propriedade RowCount:

1) Se seu valor for definido como 0, todas as linhas do DataGridView serão removidas;
2) Se o novo valor for menor que o valor atual, as linhas excedentes serão removidas no final da coleção Rows;
3) Se o novo valor for maior que o valor atual, as novas linhas serão adicionadas no final da coleção Rows;
4) Se tentarmos alterar o valor desta propriedade após a definição da propriedade DataSource, uma exceção InvalidOperationException será lançada.


C# ::: Dicas & Truques ::: Strings e Caracteres

Como retornar um caractere a partir de seu código ASCII em C# usando o método ToChar() da classe Convert

Quantidade de visualizações: 333 vezes
A classe Convert, do namespace System, possui vários métodos que possibilitam a conversão entre tipos base. Um destes métodos nos permitem informar um número inteiro e obter o caractere ou letra correspondente.

Veja um techo de código no qual informamos o valor 65 e obtemos, como retorno, a letra "A":

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      int codigo = 65;
      char letra = Convert.ToChar(codigo);

      Console.WriteLine("A letra para o código ASCII {0} é {1}", 
        codigo, letra);

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

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

A letra para o código ASCII 65 é A


C ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de C - Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles

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

Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles. Esse programa deve possuir uma função para verificar qual é o maior número.

Atenção: seu código deverá assegurar que os dois números informados pelo usuário sejam diferentes. Exiba uma mensagem na tela caso isso acontecer.

Sua saída deverá ser parecida com:

Informe o primeiro número inteiro: 6
Informe o segundo número inteiro: 3
O maior número é: 6
Resposta/Solução:

Veja a resolução comentada deste exercício em C:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// protótipo da função que receberá dois números inteiros
// e retornará o maior deles
int maior_numero(int num1, int num2);

// função principal do programa
int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português 
  
  // variáveis usadas na resolução do problema
  int num1, num2, maior;
  
  // vamos pedir para o usuário informar os dois números
  printf("Informe o primeiro número inteiro: ");
  scanf("%d", &num1);
  printf("Informe o segundo número inteiro: ");
  scanf("%d", &num2);
  
  // os números são iguais?
  if(num1 == num2){
    printf("Erro. Os dois números são iguais.");
  }
  else{
    // vamos chamar a função para obter o número maior
    maior = maior_numero(num1, num2);
    printf("O maior número é: %d", maior);	
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

// função que receberá dois números inteiros e retornará
// o maior deles
int maior_numero(int num1, int num2){
  // o primeiro número é maior que o segundo?
  if(num1 > num2){
    return num1;
  }
  else{
    return num2;
  }
}



PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como testar se um diretório existe em PHP usando a função file_exists()

Quantidade de visualizações: 19049 vezes
Em algumas situações nós precisamos verificar se um determinado diretório existe no sistema antes de efetuarmos alguma operação. Para isso nós podemos usar a função file_exists(). Esta função retorna um valor true se o diretório existir e false em caso contrário.

Veja um código PHP completo demonstrando o seu uso:

<?php
  $diretorio = "arquivo/imagens";

  if(file_exists($diretorio)){
    echo "O diretório já existe.";
  }
  else{
    echo "O diretório não existe ainda.";
  }
?>



C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Vetores e matrizes em C++ - Como passar vetores e matrizes para as suas funções C++

Quantidade de visualizações: 12288 vezes
Muitas vezes precisamos passar um vetor ou uma matriz C++ para nossas funções. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de uma matriz para uma função é feita por referência, ou seja, qualquer alteração nos valores da matriz dentro do método será refletida na matriz original:

#include <iostream>
 
using namespace std;
 
// função usada para exibir os valores
// da matriz
void exibir_matriz(int matriz[], int quant)
{
  for(int i = 0; i < quant; i++){
    cout << matriz[i] << endl;
  }
}
 
int main(int argc, char *argv[])
{
  // cria uma matriz com 5 inteiros
  int valores[] = {54, 3, 89, 6, 1};
 
  // passa a matriz para a função exibir_matriz()
  // veja que temos que enviar também a quantidade
  // de elementos
  exibir_matriz(valores, 5);
 
  system("PAUSE"); // pausa o programa
  return 0;
}

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

54
3
89
6
1


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Python - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30

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

Considere os seguintes vetores:

# dois vetores de 5 inteiros cada
a = [50, -2, 9, 5, 17]
b = [0 for x in range(5)]
Escreva um programa Python que preencha o segundo vetor de forma que a soma dos respectivos elementos individuais de cada vetor seja igual a 30.

Sua saída deverá ser parecida com:

Valores no vetor a: 50   -2   9   5   17   
Valores no vetor b: -20   32   21   25   13
Resposta/Solução:

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

# método principal
def main():
  # dois vetores de 5 inteiros cada
  a = [50, -2, 9, 5, 17]
  b = [0 for x in range(5)]
    
  # vamos preencher o segundo vetor de forma que a soma dos
  # valores de seus elementos seja 30
  for i in range(len(a)):
    b[i] = 30 - a[i]
    
  # vamos mostrar o resultado
  print("Valores no vetor a: ", end="")
  for i in range(len(a)):
    print("{0}  ".format(a[i]), end="") 
    
  print("\nValores no vetor b: ", end="")
  for i in range(len(b)):
    print("{0}  ".format(b[i]), end="") 
  
if __name__== "__main__":
  main()



MySQL ::: Dicas & Truques ::: Data e Hora

Como subtrair horas, dias, semanas, meses, anos, etc, do valor de um campo do time DATE ou DATETIME do MySQL usando a função DATE_SUB()

Quantidade de visualizações: 18024 vezes
A função DATE_SUB() é muito útil quando precisamos subtrair horas, dias, semanas, meses, etc, do valor de um campo do tipo DATE ou DATETIME. Esta função é composta de três partes:

 
DATE_SUB(date, INTERVAL expr unit)

O argumento date deve ser do tipo DATE ou DATETIME. O argumento expr indica um número inteiro que indica a quantidade de horas, dias, meses, etc, que será usada como intervalo. O argumento unit indica a unidade a ser usada. Valores possíveis são: HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc.

Veja um exemplo no qual subtraímos 15 dias da data atual:

 
SELECT DATE_SUB(NOW(), INTERVAL 15 DAY)

Suponha que você tenha um campo chamado data_hora_compra do tipo DATETIME e que este campo tenha o valor 2008-03-30 02:30:15. A query:

SELECT DATE_SUB(data_hora_compra, INTERVAL 
2 MONTH) FROM tabela_estudos

retornará 2008-01-30 02:30:15.


Delphi ::: VCL - Visual Component Library ::: TEdit

Como obter o conteúdo de um TEdit do Delphi em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXT

Quantidade de visualizações: 11989 vezes
Embora o Delphi já nos forneça as ferramentas necessárias para obter o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXT.

A função SendMessage() da API do Windows possui a seguinte assinatura em C/C++:

LRESULT SendMessage(          
  HWND hWnd,
  UINT Msg,
  WPARAM wParam,
  LPARAM lParam
);

No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal:

// Protótipo
{$EXTERNALSYM SendMessage}
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; 
  lParam: LPARAM): LRESULT; stdcall;

// Implementação
function SendMessage; external user32 name 'SendMessageW';

Note que precisamos de um HWND (parâmetro hWnd) para a caixa de texto. Temos que fornecer também a quantidade de caracteres que serão lidos (parâmetro wParam) e um buffer no qual os caracteres lidos a partir da caixa de texto serão colocados (parâmetro lParam). Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  buffer: String;
  tamanho: Integer;
begin
  // vamos obter a quantidade de caracteres na caixa de texto
  tamanho := SendMessage(Edit1.Handle, WM_GETTEXTLENGTH, 0, 0);

  // vamos ajustar o tamanho do buffer
  SetLength(buffer, tamanho);

  // vamos usar a mensagem WM_GETTEXT para obter o conteúdo
  // da caixa de texto
  SendMessage(Edit1.Handle, WM_GETTEXT, tamanho + 1, lParam(@buffer[1]));

  // vamos exibir o resultado
  ShowMessage('O conteúdo do edit é: ' + buffer);
end;

Veja que usei também a mensagem WM_GETTEXTLENGTH para obter a quantidade de caracteres na caixa de texto. Isso foi necessário para redimensionarmos o buffer de caracteres para um tamanho capaz de acomododar todo o conteúdo do edit.

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


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 Apenas R$ 19,90


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