Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
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
C# ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções

Tutorial C# para iniciantes - Como escrever seu primeiro método ou função em C#

Quantidade de visualizações: 15541 vezes
À medida que estamos desenvolvendo nossos códigos, percebemos que estes podem ser divididos de acordo com suas funcionalidades. Ao efetuar esta divisão, estamos na verdade criando blocos de códigos que executam uma determinada tarefa. E, descobrimos que tais blocos de códigos podem ser reaproveitados com frequencia em um mesmo programa. Assim, ao mecanismo usado para disparar a execução destes blocos de códigos é dado o nome de método (ou função em linguagens tais como C e C++).

Um método, em sua forma mais simples, é apenas um conjunto de instruções que podem ser chamadas a partir de locais estratégicos de um programa. Veja um exemplo:

// um método que não recebe nenhum argumento
// e não retorna nenhum valor
static void metodo(){
  Console.WriteLine("Sou um método");
}

Este método apenas exibe o texto "Sou um método". Veja o uso das chaves { e } para delimitar a área de atuação do método (o corpo do método). A palavra-chave void indica que este método não retorna nenhum valor ao finalizar sua execução enquanto a palavra-chave static é melhor explicada na nossa seção sobre modificadores em C#. Todos os métodos em C# possuem parênteses, os quais servem como marcadores para a lista de parâmetros do método. Parênteses vazios indicam que o método não possui parâmetros.[br][br]

Veja agora um trecho de código completo exemplificando a chamada ao método recém-criado:

// um método que não recebe nenhum argumento
// e não retorna nenhum valor
static void metodo(){
  Console.WriteLine("Sou um método");
}

static void Main(string[] args){
  // efetua uma chamada ao método
  metodo();

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



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

Como pesquisar um valor em um vetor de inteiros em C

Quantidade de visualizações: 9494 vezes
Em algumas situações precisamos verificar se um determinado valor está contido em uma matriz de inteiros em C. Nesta dica eu mostro como isso pode ser feito usando a pesquisa ou busca linear. Veja o código completo comentado:

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

int main(int argc, char *argv[])
{
  // vamos declarar e inicializar uma matriz de cinco inteiros
  int valores[] = {3, 8, 2, 1, 4};
  int encontrei = 0; // vamos inicializar encontrei como falso
  int i; // variável de controle do laço
  
  int valor = 2; // valor a ser pesquisado
  
  // vamos percorrer os elementos da matriz e verificar se o valor
  // informado está contido na mesma
  for(i = 0; i < 5; i++){
    // o valor pesquisado é igual ao valor do elemento atual?
    if(valores[i] == valor){
      encontrei = 1; // encontrei agora é verdadeiro
      break; // vamos sair do laço              
    }      
  }
  
  // vamos mostrar o resultado
  if(encontrei)
    printf("O valor pesquisado esta contido na matriz");
  else
    printf("O valor pesquisado NAO esta contido na matriz");  
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executar este trecho de código teremos o seguinte resultado:

O valor pesquisado está contido na matriz.


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

Programação orientada a objetos em Java - Java OOP - Como usar variáveis estáticas em suas classes Java

Quantidade de visualizações: 12058 vezes
Variáveis estáticas podem ser definidas em Java por meio do uso da palavra-chave static. Uma variável estática pertence à classe na qual ela é definida e não à cada uma de suas instâncias. Pareceu confuso? Você pode pensar assim: quando definida com o modificador static, uma variável será única na classe, não importa a quantidade de instâncias da classe que serão criadas. Cada uma destas instâncias compartilhará o valor da variável estática.

Além disso, uma variável estática pode ser acessada por meio do nome da classe, sem a necessidade de uma referência a uma de suas instâncias. Uma variável estática pode ser public, private ou protected.

Vamos ver um exemplo? Considere a situação na qual gostaríamos de criar um identificador único para cada um dos objetos de uma classe. Veja o código para a classe Livro:

Código para Livro.java:

package estudos;

public class Livro {
  // variáveis privadas
  private String titulo; // título do livro
  // variável estática que permitirá definir um
  // identificador único para cada livro
  private static int id;

  // construtor da classe Livro
  public Livro(){
    // vamos incrementar a variável estática
    Livro.id++;
  }

  // método que permite obter o id do livro
  public int getId(){
    return Livro.id;
  }

  // método que permite definir o título do livro
  public void setTitulo(String titulo){
    this.titulo = titulo;
  }

  // método que permite obter o título do livro
  public String getTitulo(){
    return this.titulo;
  }
}

Veja agora como criar três objetos da classe Livro a partir do método main() da aplicação:

Código para Main.java:

package estudos;

public class Main {
  public static void main(String[] args) {
    // vamos criar um objeto da classe Livro
    Livro a = new Livro();
    a.setTitulo("Programando em Java 2");

    // vamos exibir os dados do livro
    System.out.println("Id: " + a.getId());
    System.out.println("Titulo: " + a.getTitulo());

    // vamos criar mais um livro
    Livro b = new Livro();
    b.setTitulo("A biblia do C/C++");

    // vamos exibir os dados do livro
    System.out.println("Id: " + b.getId());
    System.out.println("Titulo: " + b.getTitulo());

    // e mais um livro aqui
    Livro c = new Livro();
    c.setTitulo("PHP + MySQL");

    // vamos exibir os dados do livro
    System.out.println("Id: " + c.getId());
    System.out.println("Titulo: " + c.getTitulo());
  }
}

Ao executar esta aplicação teremos o seguinte resultado:

Id: 1
Titulo: Programando em Java 2
Id: 2
Titulo: A biblia do C/C++
Id: 3
Titulo: PHP + MySQL

Como podemos ver, a cada instância criada a variável id é incrementada em 1. Caso você não tenha entendido todo o processo, este incremento acontece no construtor da classe Livro. Veja:

// vamos incrementar a variável estática
Livro.id++;

Nas situações em que as variáveis estáticas são públicas, podemos acessá-la usando o nome da classe seguida de um ponto. Assim, se a variável id fosse pública, poderíamos acessá-la de qualquer lugar de nossa aplicação da seguinte forma:

System.out.println(Livro.id);


Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como navegar (percorrer) pelas células do TDBGrid do Delphi usando a tecla Enter

Quantidade de visualizações: 12405 vezes
Há situações nas quais queremos que os usuários de nossas aplicações Delphi sejam capazes de pressionar a tecla Enter para passar (ou saltar) pelas células dos controles DBGrid. A navegação padrão é com a tecla Tab e/ou as teclas de direção.

Nesta dica eu mostro como isso pode ser feito. Suponha que você tem um componente TDBGrid com o nome "DBGrid1". Vá ao seu evento OnKeyPress e modifique-o para o código abaixo:

procedure TForm3.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  // o usuário pressionou a tecla Enter?
  if Key = #13 then
    begin
      // ainda não estamos na última coluna
      if DBGrid1.Columns.Grid.SelectedIndex < DBGrid1.Columns.Count - 1 then
        // vamos passar para a próxima célula
        DBGrid1.Columns[DBGrid1.Columns.Grid.SelectedIndex + 1].Field.FocusControl
      else begin
        // vamos passar para o próximo registro da tabela
        DBGrid1.DataSource.DataSet.Next;
        DBGrid1.Columns[0].Field.FocusControl;
      end;
    end;
end;

Execute a aplicação e experimente o efeito. É claro que a navegação com a tecla Enter só funciona em uma direção (tal qual a tecla Tab). Para voltar para as células anteriores você ainda terá que acionar as teclas de direção. Note o uso do método Next da classe TDataSet para forçarmos o foco a ir para a próxima linha do TDBGrid.

Esta dica foi escrita e testada no Delphi 2009.


JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como adicionar zeros ou outro caractere ao final de uma string em JavaScript usando a função padEnd() do objeto String

Quantidade de visualizações: 1580 vezes
O método padEnd(), adicionado ao objeto String no ES2017 (ECMAScript 8) é usado quando queremos preencher o final de uma string com zeros ou qualquer outro caractere até alcançarmos um comprimento determinado.

Veja, por exemplo, como adicionar asteríscos (*) no final de uma string para alcançar o tamanho de dez caracteres:

<script type="text/javascript">
  var valor = 17;
  // vamos mostrar o valor com o tamanho de dez caracteres
  document.write("O valor é: " + valor.toString().padEnd(10, "*"));
</script>

Ao executar o exemplo você verá o valor "17********" ser exibido. Porém, como o método padEnd() foi adicionado no ES2017, pode ser que você encontre navegadores que ainda não o suportem. Assim, é sempre uma idéia testar a sua existência. Veja:

<script type="text/javascript">
  if(String.prototype.padEnd){
    window.alert("Seu browser já suporta a função padEnd().");  
  }
  else{
    window.alert("Seu browser NÃO suporta a função padEnd().");  
  }
</script>

Se o navegador não oferecer suporte a este método, você poderá usar um Polyfill, de terceiros ou uma solução que você mesmo poderá desenvolver.


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

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

Quantidade de visualizações: 7532 vezes
Quando estamos desenvolvendo a lógica de nossas classes PHP, é sempre uma boa idéia definirmos quais propriedades e métodos poderão ser acessados pelas demais classes e partes do código que formam o sistema. Este controle de acesso é feito por modificadores de acesso. Nesta dica veremos como usar o modificador public.

O modificador public serve para indicar que as propriedades ou métodos (funções) de uma classe podem ser acessados sem restrições por código fora da classe. Veja um exemplo:

<?
  class Pessoa{
    public $nome;
  }

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

Aqui podemos acessar a propriedade $nome tanto para leitura como escrita sem nenhuma restrição. Tenha em mente que a ausência de um modificador de acesso antes de uma propriedade ou método automaticamente faz com que este acesso seja public.

Veja agora um trecho de código no qual definimos um método public (público) em uma classe e o acessamos a partir de um código externo:

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

  $mat = new Matematica;
  echo $mat->somar(5, 7);
?>


Lembre-se de que as sub-classes de uma classe que possui propriedades e métodos public herdam toda esta funcionalidade.


C# ::: Coleções (Collections) ::: List<T>

Como remover um elemento em uma determinada posição de uma List<T> do C# usando a função RemoveAt()

Quantidade de visualizações: 9829 vezes
Em algumas situações gostaríamos de remover um elemento em uma determinada posição da List<T>. Para isso podemos usar o método RemoveAt(). Veja sua assinatura:

public void RemoveAt(
  int index
)


Note que só precisamos fornecer o índice do elemento a ser removido. Veja um exemplo:

static void Main(string[] args){
  // vamos criar um objeto da classe List<T>
  List<int> valores = new List<int>();

  // vamos inserir quatro valores na lista
  valores.Add(5);
  valores.Add(2);
  valores.Add(6);
  valores.Add(9);

  // vamos usar o laço foreach para percorrer os elementos na lista
  Console.WriteLine("Elementos na lista:");
  foreach(int v in valores){
    Console.WriteLine(v);    
  }

  // vamos remover o terceiro elemento (com índice 2)
  valores.RemoveAt(2);

  // vamos usar o laço foreach para percorrer os elementos na lista novamente
  Console.WriteLine("Elementos na lista:");
  foreach(int v in valores){
    Console.WriteLine(v);    
  }

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

Ao executarmos este código teremos o seguinte resultado:

Elementos na lista:
5
2
6
9
Elementos na lista:
5
2
9

Este método pode lançar uma exceção do tipo ArgumentOutOfRangeException se o índice fornecido for menor que 0 ou igual ou superior à quantidade de itens na lista.


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

Como renomear um arquivo em PHP usando a função rename()

Quantidade de visualizações: 26883 vezes
Arquivos podem ser renomeados em PHP usando a função rename(). Esta função recebe o caminho e nome atual do arquivo e o novo caminho e nome. Se o destino for diferente, o arquivo será movido de um diretório para outro. Veja um exemplo:

<?php
  // renomeia o arquivo testes.txt para testes2.txt
  $de = "/site/public_html/testes.txt";
  $para = "/site/public_html/testes2.txt";
  
  if(rename($de, $para)){
    echo "Arquivo renomeado com sucesso.";
  }
  else{
    echo "Não foi possível renomear o arquivo.";
  }
?>

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

Arquivo renomeado com sucesso.

A função rename() da linguagem PHP retorna um valor boolean (verdadeiro ou falso) indicando se a operação foi realizada com sucesso ou se houve um erro.


C# ::: Dicas & Truques ::: Data e Hora

Como obter a quantidade de dias em um determinado mês usando o método GetDaysInMonth() da classe GregorianCalendar do C#

Quantidade de visualizações: 12287 vezes
Em algumas situações precisamos saber quantos dias há em um determinado mês. Para isso podemos usar o método GetDaysInMonth() da classe Calendar (ou alguma de suas subclasses). Este método recebe dois valores inteiros: o ano e o mês desejado.

Na classe GregorianCalendar (que extende Calendar) o método GetDaysInMonth() retorna 28 para os anos comuns e 29 para os anos bissextos.

Veja um trecho de código no qual usamos o método GetDaysInMonth() para obter a quantidade de dias para o mês de Março de 2009:

static void Main(string[] args){
  // using System.Globalization;

  // obtém uma instância da classe GregorianCalendar
  Calendar c = new GregorianCalendar();

  // obtém a quantidade de dias para março de 2009
  int dias = c.GetDaysInMonth(2009, 3);

  // exibe o resultado
  Console.WriteLine("Este mês possui {0} dias", dias);

  // pausa o programa
  Console.ReadKey();
}

Note, contudo, que o mesmo resultado pode ser obtido por meio do calendário padrão independente de cultura, desde que as regiões as quais o programa se destina tenham compatibilidade de calendários:

Calendar c = CultureInfo.InvariantCulture.Calendar;

O método GetDaysInMonth() pode atirar uma exceção do tipo ArgumentOutOfRangeException se os valores do ano ou mês estiverem fora das faixas permitidas pelo calendário. Veja:

System.ArgumentOutOfRangeException was unhandled
  Message="Month must be between one and twelve.
   Parameter name: month"
  Source="mscorlib"
  ParamName="month"



Revit Python Shell ::: Dicas & Truques ::: Grupos - Groups

Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python Shell

Quantidade de visualizações: 319 vezes
O código que apresento nesta dica mostra como podemos pedir para o usuário selecionar um grupo na área de desenho do Revit e, em seguida, usando a API do Revit e o Revit Python Shell, criar uma cópia do grupo escolhido e posicioná-la em um ponto escolhido pelo usuário.

Em realidade, este código é o mesmo apresentado no tutorial "Como criar seu primeiro plug-in no Revit usando a Revit C# API" da documentação oficial fornecida pela Autodesk. O que fiz foi modificar o código para usar Revit Python Shell em vez de C#, como mostrado no tutorial.

O primeiro passo é importar o objeto ObjectType a partir do módulo Autodesk.Revit.UI.Selection. Em seguida nós usamos __window__.Hide() para que o foco vá para a janela do Revit. Isso é necessário para que o usuário possa selecionar um grupo usando uidoc.Selection.PickObject. Note que coloquei uma mensagem TaskDialog.Show() chamando a atenção do usuário para esta tarefa.

Como a função PickObject() retorna um objeto Reference, nós precisamos fornecer essa referência para a função doc.GetElement() e assim obter o elemento real que queremos manipular. Então, o passo seguinte é pedir para o usuário indicar um ponto na tela de desenho do Revit usando a função uidoc.Selection.PickPoint(). Esta função vai nos retornar um objeto da classe XYZ da API do Revit.

Depois que o usuário selecionar o grupo e o ponto, nós criamos uma nova transação usando Transaction(doc, "Copiar grupo") e a iniciamos com uma chamada à sua função Start(). Então, para concluir, basta uma chamada à doc.Create.PlaceGroup(ponto, grupo.GroupType) e verificar o resultado na tela de desenho do Revit.

Veja o código Revit Python Shell completo para o exemplo:

# faz o import necessário
from Autodesk.Revit.UI.Selection import ObjectType

# precisamos ocultar a janela do Revit Python Shell
__window__.Hide()

# agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos
# uma Reference
TaskDialog.Show("Aviso", "Selecione um grupo")
selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um grupo")
# obtemos o grupo a partir de sua referência usando a função
# GetElement() do objeto Document
grupo = doc.GetElement(selecionado)
# vamos pedir para o usuário selecionar um ponto na área de
# desenho do Revit
TaskDialog.Show("Aviso", "Selecione um ponto")
ponto = uidoc.Selection.PickPoint("Selecione um ponto para posicionar o grupo")
 
# criamos uma nova transação e posicionamos a cópia do
# grupo nas coordenadas indicadas pelo usuário
transacao = Transaction(doc, "Copiar grupo")
# iniciamos a transação
transacao.Start()
# copiamos o grupo selecionado pelo usuário e o colocamos no
# ponto indicado
doc.Create.PlaceGroup(ponto, grupo.GroupType)
# fechamos a transação
transacao.Commit()
 
# e mostramos o resultado
TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso") 
  
# depois que o usuário fizer a seleção nós mostramos a janela do
# Revit Python Shell novamente 
__window__.Show() 
__window__.Topmost = True


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á 32 usuários muito felizes estudando em nosso site.