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.

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

Como arredondar casas decimais para baixo usando a função Floor() do Delphi

Quantidade de visualizações: 14017 vezes
A função Floor(), presente na unit Math, é útil quando queremos arrendondar valores de ponto-flutuante (valores com casas decimais) para baixo, ou seja, para o maior inteiro menor ou igual ao valor fornecido. Veja um exemplo:

procedure TForm2.Button1Click(Sender: TObject);
var
  valor: Real;
  resultado: Integer;
begin
  // uses Math

  valor := 8.74;

  // vamos arredondar o valor para baixo
  // o resultado será 8
  resultado := Floor(valor);

  // exibe o resultado
  ShowMessage('O valor arredondado para baixo é: ' +
    IntToStr(resultado));
end;

Note que os valores 8.0001, 8.3, 8.1, 8.99, etc, serão todos arredondados para 8. No entanto, 9.0 é arredondado para 9.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


QGIS ::: PyQGIS API ::: Shapefiles, Camadas Vetoriais, Dados Vetoriais

Como carregar um shapefile no QGIS usando o objeto QgsVectorLayer da PyQGIS API

Quantidade de visualizações: 523 vezes
Nesta dica mostrarei como podemos usar o objeto QgsVectorLayer da PyQGIS API para carregar um arquivo shapefile no QGIS e adicioná-lo como uma nova camada.

O primeiro passo é fornecer a localização do arquivo shapefile (.shp), o nome para a nova camada e um data provider, que nesse caso é ogr.

Depois de obtido o objeto QgsVector nós efetuamos uma chamada à função isValid() para verificar se a camada é válida. Esse procedimento deve ser sempre usado, pois assegura que os dados são válidos antes de continuar com a execução do código.

Para finalizar nós usamos a função addMapLayer() do objeto QgsProject para adicionar a nova camada à coleção de camadas e a exibimos no mapa.

Veja o código PyQGIS completo para o exemplo:

# vamos criar um novo objeto QgsVectorLayer com o local
# do nosso shapefile
camada = QgsVectorLayer("C:\\dados\\GO_Municipios_2022.shp",
  "Municípios Estado de Goiás", "ogr")

# vamos testar se a camada é válida  
if not camada.isValid():
  print("Não foi possível carregar a camada %s" % camada.name())
else:
  # vamos adicionar a camada à relação de camadas  
  QgsProject.instance().addMapLayer(camada)

Ao executarmos esse código PyQGIS no QGIS nós temos como resultado um mapa do Estado de Goiás com os seus 246 municípios.


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

Como usar a função ReverseString() do Delphi para inverter o texto de uma palavra ou frase em Delphi - Invertendo o conteúdo de uma string usando Delphi

Quantidade de visualizações: 26096 vezes
Em algumas situações precisamos inverter o conteúdo de uma string, ou seja, alterar a ordem de seus caracteres de forma que a string fique de trás para frente.

Em Delphi isso pode ser feito com o auxílio da função ReverseString(). Esta função recebe uma string e devolve outra string invertida. Veja um exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string; // declara uma variável do tipo string
begin
  nome := 'Osmar J. Silva';

  // vamos inverter o conteúdo da string
  nome := ReverseString(nome);

  // vamos exibir o resultado
  ShowMessage(nome);
end;

Não se esqueça de adicionar a unit StrUtils na cláusula uses de seu formulário.

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


C# ::: Dicas & Truques ::: Tipos de Dados

Curso de C# - Como usar os tipos de dados short e ushort da linguagem C#

Quantidade de visualizações: 9334 vezes
O tipo de dados short é um tipo primitivo integral com sinal (signed) que pode armazenar valores inteiros na faixa de -32.768 até 32.767. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.Int16 da plataforma .NET.

Podemos obter os valores mínimo e máximo que podem ser armazenados em um short por meio de suas propriedades MinValue e MaxValue. Veja:

static void Main(string[] args){
  // vamos obter o valor mínimo de um short
  short minimo = short.MinValue;

  // vamos obter o valor máximo de um short
  short maximo = short.MaxValue;
  
  // vamos mostrar o resultado
  Console.WriteLine("A faixa de valores de um short é: " + minimo +
    " até " + maximo);

  // vamos pausar a execução
  Console.ReadKey();
}

Ao executarmos este código teremos o seguinte resultado:

A faixa de valores de um short é: -32768 até 32767.

Ao atribuir valores para um short em tempo de design, ou seja, como um literal, devemos ter o cuidado de não atribuir valores que estejam fora da faixa permitida. Veja:

static void Main(string[] args){
  // a linha abaixo não vai compilar
  short valor = 35767;

  // vamos pausar a execução
  Console.ReadKey();
}

Este código não compila. A mensagem de erro:

Constant value '35767' cannot be converted to a 'short'

nos informa que o valor 35767 (que está acima da faixa permitida) não pode ser convertido para um short. Assim, se você desejar mesmo efetuar tal procedimento, uma conversão forçada (cast) deve ser feita:

static void Main(string[] args){
  int valor = 35767;

  // vamos forçar a conversão para short
  short valor2 = (short)valor;
 
  // vamos mostrar o resultado
  Console.WriteLine("Valor após o cast: " + valor2);

  // vamos pausar a execução
  Console.ReadKey();
}

Aqui nós "esprememos" o valor 35767 para um short e o resultado, -29769, definitivamente não é o que estávamos esperando.

O tipo ushort é um tipo primitivo integral sem sinal (unsigned) que pode armazenar valores inteiros na faixa de 0 até 65.535. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.UInt16 da plataforma .NET.

Podemos obter os valores mínimo e máximo que podem ser armazenados em um ushort por meio de suas propriedades MinValue e MaxValue. Veja:

static void Main(string[] args){
  // vamos obter o valor mínimo de um ushort
  ushort minimo = ushort.MinValue;

  // vamos obter o valor máximo de um ushort
  ushort maximo = ushort.MaxValue;
  
  // vamos mostrar o resultado
  Console.WriteLine("A faixa de valores de um ushort é: " + minimo +
    " até " + maximo);

  // vamos pausar a execução
  Console.ReadKey();
}

Ao executarmos este código teremos o seguinte resultado:

A faixa de valores de um ushort é: 0 até 65535.


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

Exercícios Resolvidos de C - Declare uma matriz de 10 inteiros e use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10

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

Escreva um programa C que declara uma matriz de 10 inteiros. Use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10 (incluindo os valores 0 e 10). Para finalizar, percorra os elementos da matriz e exiba seus valores. A saída do programa deverá ser parecida com:

3 5 5 1 3 8 10 0 9 7

Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

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

int main(int argc, char *argv[])
{
  // vamos inicializar o gerador de números aleatórios
  srand(time(NULL));
  
  // vamos declarar e construir uma matriz de 10 inteiros
  int valores[10];

  // vamos preencher a matriz com valores aleatórios de 0 até 10 (incluindo)
  int i;
  for(i = 0; i < 10; i++){
    valores[i] = rand() % 11;
  }

  // vamos exibir os valores dos elementos da matriz
  for(i = 0; i < 10; i++){
    printf("%d  ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

Espero que você tenha gostado e continue a acessar a nossa Lista de Exercícios de C.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Um programa que lê dois números inteiros e mostra o menor

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

Escreva um programa Java que solicita dois números inteiros ao usuário e mostra o menor deles. Mostre uma mensagem informando se os dois números são iguais. Sua saída deverá ser parecida com:

Informe o primeiro número: 34
Informe o segundo número: 30
O menor número é: 30

Informe o primeiro número: 12
Informe o segundo número: 43
O menor número é: 12

Informe o primeiro número: 7
Informe o segundo número: 7
Os dois números são iguais.
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar os dois números inteiros
    System.out.print("Informe o primeiro número: ");
    int num1 = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o segundo número: ");
    int num2 = Integer.parseInt(entrada.nextLine());
    
    // o primeiro número é menor que o segundo?
    if(num1 < num2){
      System.out.println("O menor número é: " + num1);  
    }
    else if(num2 < num1){ // o segundo número é menor que o primeiro?
      System.out.println("O menor número é: " + num2);  
    }
    else{
      System.out.println("Os dois números são iguais.");  
    }
    
    System.out.println("\n");
  }
}



VB.NET ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como copiar todos os elementos de um vetor para outro em VB.NET usando o método CopyTo() da classe Array

Quantidade de visualizações: 7433 vezes
Nesta dica eu mostro como podemos usar o método CopyTo() da classe Array do VB.NET para copiar todos os elementos de um array para um outro array.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    ' cria um array de inteiros
    Dim valores() As Integer = {1, 2, 3, 4, 5}

    ' exibe os valores do primeiro array
    For Each valor As Integer In valores
      Console.WriteLine(valor)
    Next

    ' cria um segundo array e copia os elementos
    ' do primeiro para o segundo
    Dim valores2() As Integer = {6, 7, 8, 9, 10, 15, 20}
    valores.CopyTo(valores2, 0)
    Console.WriteLine()

    ' exibe os valores do segundo array
    For Each valor As Integer In valores2
      Console.WriteLine(valor)
    Next

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

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

1
2
3
4
5

1
2
3
4
5
15
20


CSS ::: Dicas & Truques ::: Cores de Fundo e Imagens de Fundo

Como definir uma imagem de fundo que se repete apenas verticalmente usando a propriedade background-repeat do CSS

Quantidade de visualizações: 7613 vezes
Nesta dica mostrarei como podemos definir uma imagem de fundo para a página HTML e ajustá-la para repetir apenas verticalmente usando a propriedade background-repeat com o valor repeat-y. Note que, para definir a imagem de fundo, nós usamos a propriedade background-image.

Veja o código CSS para o exemplo:

<style type="text/css">
<!--
  body {background-image: url('fundo.gif'); 
        background-repeat: repeat-y}
//-->
</style>



Python ::: Dicas & Truques ::: Lista (List)

Como remover e retornar um item aleatório em uma lista Python usando a função pop() e um número randômico

Quantidade de visualizações: 9588 vezes
Em dicas anteriores eu mostrei como é possível usar o método pop() do objeto List da linguagem Python para remover elementos no início, final e em determinadas posições de uma lista. Agora mostrarei como é possível fornecer um índice aleatório para a função pop(), de forma a sortear o elemento que estará sendo removido. Note que o número randômico deverá estar nas faixas de índices aceitáveis.

Veja o exemplo Python completo:

"""
  Este exemplo mostra como excluir e retornar
  um ítem aleatório em uma lista
"""
 
import random

def main():
  # cria uma lista de inteiros
  valores = [4, 23, 7, 1, 0, 54]
 
  # imprime a lista
  print(valores)
 
  # remove um ítem aleatório
  valor = valores.pop(random.randrange(0, len(valores)))
  print("Item removido:", valor)
 
  # exibe a lista novamente
  print(valores)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos um resultado parecido com:

[4, 23, 7, 1, 0, 54]
Item removido: 54
[4, 23, 7, 1, 0]


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

Como adicionar todos os elementos de uma ArrayList ou coleção à uma outra ArrayList do Java usando o método addAll()

Quantidade de visualizações: 15672 vezes
Em algumas situações pode ser necessário adicionar todos os elementos de uma ArrayList ou outra coleção a uma determinada ArrayList já existente. Isso pode ser feito por meio do uso do método addAll() da classe ArrayList. Na versão 1.5 do Java, este método possui duas assinaturas. Veja a primeira:

public boolean addAll(Collection<? extends E> c)


Aqui nós podemos adicionar à uma ArrayList existente todos os elementos de uma determinada coleção, desde que, é claro, esta coleção implemente ou descenda de alguma classe que implemente a interface Collection. Note também o uso de genéricos na coleção a ser fornecida como argumento. É importante observar que, se passarmos uma coleção de tipos diferentes daquela na qual estamos chamando o método addAll() teremos um erro de compilação.

Veja um exemplo no qual adicionamos todos os elementos de uma ArrayList no final de outra:

import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();

    // cria uma segunda ArrayList que conterá mais strings
    ArrayList<String> nomes2 = new ArrayList<String>();
    
    // adiciona itens na primeira lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    
    // adiciona itens na segunda lista
    nomes2.add("Osmar");
    nomes2.add("Zacarias");    
	
    // vamos adicionar os elementos da segunda lista
    // no final da primeira lista
    nomes.addAll(nomes2);

    // vamos exibir o resultado
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));
    } 

    System.exit(0);
  }
}

A segunda assinatura do método addAll() nos permite definir a posição no ArrayList alvo a partir da qual os elementos da coleção fonte serão adicionados. Veja:

public boolean addAll(int index, Collection<? extends E> c)

Eis um exemplo no qual inserimos os elementos de uma ArrayList a partir do segundo elemento da ArrayList alvo. Note que os itens existentes têm suas posições alteradas de forma a acomodar os novos elementos:

import java.util.ArrayList;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();

    // cria uma segunda ArrayList que conterá mais strings
    ArrayList<String> nomes2 = new ArrayList<String>();
    
    // adiciona itens na primeira lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    
    // adiciona itens na segunda lista
    nomes2.add("Osmar");
    nomes2.add("Zacarias");    
	
    // vamos adicionar os elementos da segunda lista
    // a partir do segundo elemento da primeira lista
    nomes.addAll(1, nomes2);

    // vamos exibir o resultado
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));
    } 

    System.exit(0);
  }
}

Como resultado da execução deste código nós teremos:

Carlos
Osmar
Zacarias
Maria
Fernanda


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


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