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
PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como renomear um diretório em PHP usando a função rename()

Quantidade de visualizações: 11787 vezes
Diretórios podem ser renomeados usando a função rename() da linguagem PHP. Esta função recebe o nome atual do diretório e o novo nome e retorna um valor boolean (true ou false) informando o sucesso ou não da operação. Antes de usar esta função verifique se você possui as permissões adequadas para renomear o diretório.

Veja um trecho de código no qual renomeamos um diretório no diretório public_html:

<?php
  // renomeia o diretório "recentes" para "atuais"
  $diretorio_antigo = "/site/public_html/recentes";
  $diretorio_novo = "/site/public_html/atuais";
  
  if(rename($diretorio_antigo, $diretorio_novo)){
    echo "Diretório renomeado com sucesso.";
  }
  else{
    echo "Não foi possível renomear o diretório.";
  }
?>

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

Diretório renomeado com sucesso.

Seja cuidadoso. Se você não tiver as permissões adequadas para renomear um diretório, a seguinte mensagem de erro será exibida:

Warning: rename(imagens,imagens_novas)
[function.rename]: Permission denied in
/site/public_html/testes.php on line 9
Não foi possível renomear o diretório.


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

Exercício Resolvido de C - Ler três números inteiros e indicar se eles estão em ordem crescente ou decrescente

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

Escreva um programa C que pede para o usuário informar três números inteiros e informa se eles estão em ordem crescente ou decrescente. Se os números estiverem em ordem crescente, escreva "Ordem Crescente". Se estiverem em ordem decrescente, escreva "Ordem Decrescente". Do contrário escreva "Sem ordem definida".

Sua saída deverá ser parecida com:

Primeiro número: 4
Segundo número: 8
Terceiro número: 11
Ordem Crescente
Resposta/Solução:

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

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

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do exercício
  int a, b, c;
	
  setlocale(LC_ALL,""); // para acentos do português
  
  // vamos pedir para o usuário informar três números
  printf("Primeiro número: ");
  scanf("%d", &a);
  printf("Segundo número: ");
  scanf("%d", &b);
  printf("Terceiro número: ");
  scanf("%d", &c);
    
  // os números estão em ordem crescente?
  if (a < b && b < c){
    printf("Ordem Crescente");
  }
  // os números estão em ordem decrescente?
  else if (a > b && b > c){
    printf("Ordem Decrescente");
  }
  // sem ordem definida
  else{
    printf("Sem ordem definida");
  } 
	
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



VB.NET ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar strings em VB.NET usando o método Concat() da classe String

Quantidade de visualizações: 11785 vezes
Nesta dica mostrarei como podemos concatenar strings em VB.NET por meio do método Concat() da classe String do .NET Framework. Este método recebe uma ou mais strings e retorna um novo objeto da classe String.

Veja um exemplo de seu uso:

Imports System

Module Program
  Sub Main(args As String())
    ' declara uma variável do tipo String
    Dim frase, nome, cidade As String

    nome = "Osmar"
    cidade = "Goiânia"
    frase = "Meu nome é "
    frase = String.Concat(frase, nome)
    frase = String.Concat(frase, " e eu moro em ",
      cidade)

    ' e mostramos o resultado
    Console.WriteLine(frase)

    Console.WriteLine(vbCrLf & "Pressione 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:

Meu nome é Osmar e eu moro em Goiânia


C++ ::: Win32 API (Windows API) ::: Processos

Como usar a função EnumProcesses() da WinAPI em seus códigos C++ para obter os identificadores de cada processo ativo no Windows

Quantidade de visualizações: 8514 vezes
A função EnumProcesses() pode ser usada quando queremos obter os ids de todos os processos sendo executados no momento no Windows. Veja o protótipo desta função:

BOOL WINAPI EnumProcesses(
  DWORD* pProcessIds,
  DWORD cb,
  DWORD* pBytesReturned
);


Esta função possui três parâmetros:

a) DWORD* pProcessIds - Um ponteiro para uma matriz que receberá a lista de identificadores dos processos. É importante definir uma matriz um pouco grande, visto que não sabemos de antemão quantos processos serão retornados.

b) DWORD cb - O tamanho da matriz pProcessIds em bytes.

c) DWORD* pBytesReturned - O números de bytes retornados na matriz pProcessIds. Podemos facilmente saber quantos processos foram encontrados simplesmente dividindo o número de bytes retornados pela quantidade de bytes em um DWORD.

Veja um trecho de código no qual listamos os ids de todos os processos sendo executados atualmente.

#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <psapi.h>

/*
  Este exemplo usa o header <psapi.h>
  É necessário fazer uma referência à psapi.lib 
*/

using namespace std;

int main(int argc, char *argv[]){
  DWORD processos[1024]; // vamos listar até 1024 processos   
  DWORD pBytesReturned; // bytes retornados pela função EnumProcesses()
  
  // vamos listar os processos
  EnumProcesses(processos, sizeof(processos), &pBytesReturned);
  
  // quantidade de processos retornados
  int retornados = pBytesReturned / sizeof(DWORD);
  
  // agora vamos listar os ids dos processos retornados
  for(int i = 0; i < retornados; i++){
    if(!processos[i] == 0){
      cout << "Processo " << (i + 1) << ": " << processos[i] << endl;
    }          
  }
  
  system("PAUSE");
  return EXIT_SUCCESS;
} 

O id de um processo pode ser fornecido para muitas funções úteis do Windows, entre elas OpenProcess().

Veja um trecho de código no qual fechamos (forçadamente) um processo mediante o fornecimento de seu id:

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos fechar o processo com o id 3040
  
  // CUIDADO: Verifique o id do processo antes de fechá-lo
  // pode ser que você esteja fechando processos essenciais
  // para o bom funcionamento do Windows
  
  // vamos abrir o processo desejado
  // vai retornar ERROR_INVALID_HANDLE se o processo não
  // puder ser aberto
  HANDLE hProcesso = OpenProcess(PROCESS_TERMINATE, 0, 3040);

  // vamos fechar o processo
  if(TerminateProcess(hProcesso, 0)){
    cout << "Processo finalizado com sucesso." << endl; 
  }
  else{
    cout << "Erro ao finalizar o processo: " << 
      GetLastError() << endl;   
  }

  // vamos fechar o handle do processo
  CloseHandle(hProcesso);
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Java - Como converter decimal em binário em Java usando o laço while

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

Escreva um programa Java que usa o laço while para converter um número decimal em sua representação binária. Peça ao usuário para informar um número inteiro e mostre o mesmo em binário (como uma String). Você deve obrigatoriamente usar o laço while.

Sua saída deverá ser parecida com:

Informe um número decimal: 38
A representação binária é 100110
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) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // vamos ler o número decimal
    System.out.print("Informe um número decimal: ");
    int decimal = Integer.parseInt(entrada.nextLine());
    int decimal_temp = decimal; // para mostrar o resultado no final
    String binario = ""; // vai guardar o resultado
    int temp; // variável auxiliar

    // laço while repetirá enquanto decimal for maior ou igual a 2
    while(decimal >= 2){
      temp = decimal % 2;
      binario = temp + binario;
      decimal = decimal / 2;
    }
 
    binario = decimal + binario; // insere o dígito 1 restante
    System.out.println("A representação binária é " + binario);
  }
}



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

Exercícios Resolvidos de Java - Verifique se as componentes de um vetor de 10 componentes inteiros lidos pelo teclado formam uma progressão aritmética

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

Verifique se as componentes de um vetor de 10 componentes inteiros lidos pelo teclado formam uma progressão aritmética, informando se sim ou se não. Caso forme, imprima o termo inicial e a razão.

Resposta/Solução:

Para a entrada do usuário, nós vamos usar um objeto da classe Scanner. Veja a resolução comentada:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    // vamos usar a classe Scanner para leitura
    Scanner entrada = new Scanner(System.in);

    // declara e constrói um vetor de 10 inteiros
    int valores[] = new int[10];
    
    // vamos ler os valores dos elementos do vetor
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o valor: ");
      valores[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // já temos o vetor. Agora vamos verificar se temos
    // uma progressão geométrica
    boolean progressao = true;
    // vamos obter a razão
    int razao = valores[1] / (valores[0]);
    
    // vamos varrer os elementos do vetor e verificar se todos
    // possuem a mesma razão
    for(int i = 1; i < valores.length; i++){
      if((valores[i] / (valores[i - 1])) != razao){
        progressao = false;
        break;
      }
    }
    
    if(progressao){
      System.out.println("Formam uma progressão geométrica.");
      System.out.println("A razão é: " + razao);
      System.out.println("O primeiro termo é: " + valores[0]);
    }
    else{
      System.out.println("Não formam uma progressão geométrica.");
    }
  }
}

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

Informe o valor: 1
Informe o valor: 2
Informe o valor: 4
Informe o valor: 8
Informe o valor: 16
Informe o valor: 32
Informe o valor: 64
Informe o valor: 128
Informe o valor: 256
Informe o valor: 512
Formam uma progressão geométrica.
A razão é: 2
O primeiro termo é: 1


JavaScript ::: Dicas & Truques ::: Cookies

Cookies em JavaScript - Como escrever uma função para a criação de cookies em JavaScript

Quantidade de visualizações: 108 vezes
Nesta dica mostrarei como podemos criar uma função JavaScript chamada gravarCookie() que recebe o nome, o valor e a duração de dias do cookie. Em outras dicas desse seção você encontra a função que faz a leitura dos cookies criados.

Veja o código JavaScript completo, incluindo o código HTML:

<html>
<head>
<title>Estudando JavaScript</title>

<script type="text/javascript">
  // função que permite gravar um cookie
  function gravarCookie(nome, valor, diasDuracao){
    var dataExpiracao = new Date();
    dataExpiracao.setTime(dataExpiracao.getTime() 
      + (diasDuracao * 24 * 3600 * 1000));
    document.cookie = nome + "=" + escape(valor) +
      ((diasDuracao == null) ? "" : "; expires=" + dataExpiracao);
  }
</script>

</head>
<body>

<script type="text/javascript">
  // cria um cookie que durará um dia
  gravarCookie("nome_visitante", "Osmar", 1);
  document.writeln("Cookie criado com sucesso.");
</script>
 
</body>
</html>

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

Cookie criado com sucesso.


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de Python - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros

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

Escreva uma função recursiva em Python que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:

# função recursiva que recebe um valor e informa quantas vezes
# ele aparece no vetor também informado
def quant_repeticoes(indice, valor, vetor):
  # sua implementação aqui
Seu programa deverá solicitar ao usuário os valores do vetor e o valor a ser pesquisado.

Sua saída deverá ser parecida com:

Informe o 1 valor: 2
Informe o 2 valor: 7
Informe o 3 valor: 4
Informe o 4 valor: 7
Informe o 5 valor: 1

Informe o valor a ser pesquisado no vetor: 7
O valor informado se repete 2 vezes.
Resposta/Solução:

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

# método principal
def main():
  # vamos declarar um vetor de 10 inteiros
    valores = [0 for x in range(5)]

    # vamos pedir ao usuário que informe os valores do vetor
    for i in range(len(valores)):
      valores[i] = int(input("Informe o %d.o valor: " % ((i + 1))))
    
    # agora vamos pedir para informar o valor a ser pesquisado
    valor = int(input("\nInforme o valor a ser pesquisado no vetor: "))
    
    # e vamos ver a quantidade de repetições
    repeticoes = quant_repeticoes(0, valor, valores)
    print("O valor informado se repete {0} vezes.".format(repeticoes))

# função recursiva que recebe um valor e informa quantas vezes
# ele aparece no vetor também informado
def quant_repeticoes(indice, valor, vetor):
  if indice == len(vetor) - 1: # caso base...hora de parar a recursividade
    if vetor[indice] == valor:
      return 1 # mais um repetição foi encontrada
  else: # dispara mais uma chamada recursiva
    if vetor[indice] == valor: # houve mais uma repetição
      return 1 + quant_repeticoes(indice + 1, valor, vetor)
    else:
      return 0 + quant_repeticoes(indice + 1, valor, vetor) # não repetiu

  return 0 # só para deixar o compilador satisfeito...esta linha nunca é executada

if __name__== "__main__":
  main()



C# ::: Windows Forms ::: CheckBox

Como detectar a mudança de estado da CheckBox do C# Windows Forms usando o evento CheckedChanged

Quantidade de visualizações: 9849 vezes
Em algumas situações gostaríamos de efetuar algumas tarefas quando uma CheckBox é marcada ou desmarcada. O melhor lugar para isso é no evento CheckedChanged da própria CheckBox. Este evento é disparado todas as vezes que a CheckBox é marcada ou desmarcada.

Coloque uma CheckBox no formulário e dê duplo-clique no controle. Automaticamente o marcador do evento CheckedChanged será criado. Modifique-o para o código abaixo:

private void checkBox1_CheckedChanged(object sender, EventArgs e){
  // vamos verificar se a CheckBox foi marcada ou desmarcada
  if((sender as CheckBox).Checked)
    MessageBox.Show("A CheckBox foi marcada");
  else
    MessageBox.Show("A CheckBox foi desmarcada");
}

Note que aqui eu usei o operador as para tratar o controle que gerou o evento (sender) como um objeto da classe CheckBox.


AutoCAD ::: Dicas & Truques ::: Configurações da Área de Desenho

Como definir os limites da área de desenho do AutoCAD usando o comando LIMITS

Quantidade de visualizações: 1066 vezes
Quando estamos criando um novo desenho no AutoCAD, muitas vezes usando os arquivos de template acad.dwt (medidas imperiais) ou acadiso.dwt (medidas métricas), nos deparamos com uma área de desenho gigantesca, com medidas enormes.

Assim, é sempre uma boa idéia delimitarmos a área de desenho, e isso é feito por meio do comando LIMITS. Este comando, quando acionado, nos pede duas coordenadas: Lower Left e Upper Right. Veja a figura:



Dessa forma, Lower Left define os limites para o canto esquerdo inferior e Upper Right define os limites para o canto superior direito. Quando acionamos o comando LIMITS (ligado: ON), não conseguimos sair desses limites, o que pode ser uma comodidade, pois podemos nos concentrar em pequenos porções de um desenho de grandes proporções.

Vamos então aprender a usar o comando LIMITS do AutoCAD? Comece criando um novo desenho (usando ou não os templates mencionados acima) e digite os comandos a seguir:

LIMITS [Enter]
Specify lower left corner or [ON/OFF] <0.0000,0.0000>: 0,0
Specify upper right corner <420.0000,297.0000>: 100,80

Tenha a certeza de inserir as coordenadas separadas por vírgulas e acionar a opção ON para ativar os limites. No final, digite o comando ZOOM ALL para aproximar a área de desenho dentro dos limites recém-definidos.

Agora, sempre que digitarmos coordenadas fora desses limites, o AutoCAD nos avisará que os valores são inválidos e os rejeitará. Para desligar os limites, basta chamar LIMITS novamente e informar o valor OFF.

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