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++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios

Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPI

Quantidade de visualizações: 9756 vezes
Nesta dica mostrarei como chamar, a partir de um programa C++, a função GetCurrentDirectory() da API do Windows com o propósito de obter o diretório atual, ou seja, o diretório de trabalho da nossa aplicação. Esta função é declarada no header winbase.h (que vem junto quando fazemos include do header windows.h).

Veja o exemplo completo:

#include <cstdlib>
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
  // buffer que receberá o nome do diretório
  TCHAR szDirAtual[MAX_PATH];
 
  // chama a função GetCurrentDirectory
  GetCurrentDirectory(MAX_PATH, szDirAtual);
 
  // Exibe o resultado
  cout << "O diretório atual é " << szDirAtual << "\n\n";
 
  system("PAUSE");
  return EXIT_SUCCESS;
}

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

O diretório atual é C:\estudos_c++


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

Exercícios Resolvidos de Haskell - Como escrever uma função que recebe dois números inteiros e retorna a sua soma

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

Escreva uma função Haskell que recebe dois números inteiros e retorne a sua soma. A função deverá ser chamada a partir da função main do programa. O usuário deverá informar os dois números a serem somados.

Sua saída deverá ser parecida com:

Informe o primeiro número: 8
Informe o segundo número: 3
A soma dos dois números é: 11
Resposta/Solução:

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

import System.IO
import Text.Printf

-- declaração da função somar
somar :: Int->Int->Int

-- definição da função somar
-- recebe dois inteiros e retorna a
-- soma como um inteiro
somar a b = a + b

-- função principal do programa
main = do
  -- vamos desabilitar o buffer de quebra de linha 
  hSetBuffering stdout NoBuffering
  
  -- vamos pedir para o usuário informar dois números
  -- inteiros
  putStr "Informe o primeiro número: "
  n1 <- readLn::IO Int
  putStr "Informe o segundo número: "
  n2 <- readLn::IO Int
  
  -- agora vamos chamar a função somar e obter
  -- a soma dos dois números fornecidos
  let soma = somar n1 n2
  
  -- agora mostramos o resultado
  printf "A soma dos dois números é: %d" soma



PHP ::: Dicas & Truques ::: Formulários

Como obter o valor do radio button selecionado no formulário HTML usando PHP

Quantidade de visualizações: 50835 vezes
Controles do tipo radio button são úteis quando o usuário deverá marcar apenas UMA entre as várias opções fornecidas. Veja um exemplo abaixo:

<form name="cadastro" method="post" action="testes.php">
  <b></b>Qual sua linguagem favorita?</b><br>
  <input name="linguagem" type="radio" 
    value="Java" checked>Java<br>
  <input type="radio" name="linguagem" 
    value="Delphi">Delphi<br>
  <input type="radio" name="linguagem" 
    value="C++">C++<br>
  <input type="radio" name="linguagem" 
    value="Python">Python<br>
  <input type="submit" value="Enviar!">
</form>

Lembre-se de que um grupo de radio button relacionados deverá ter o mesmo valor para a propriedade name.

Para obter o valor do radio button selecionado, podemos usar o seguinte código PHP:

<?php
  // Obtém o radio button selecionado
  $opcao = $_POST["linguagem"];
  
  // Exibe o resultado
  echo "Sua linguagem favorita é: " . $opcao;
?>



Delphi ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Como capturar um screenshot da área de trabalho e salvá-lo como um Bitmap usando Delphi

Quantidade de visualizações: 13719 vezes
Em algumas situações precisamos capturar um screenshot da área de trabalho (Windows Desktop) e salvá-lo como um Bitmap. Esta dica mostra como isso pode ser feito. Note que aqui estamos salvando o bitmap gerado no mesmo diretório do executável. Caso queira salvar o resultado em outra pasta ou diretório, consulte minhas dicas sobre a manipulação de arquivos e diretórios usando Delphi.

Veja o código (coloquei no evento OnClick de um botão:

procedure TForm2.Button1Click(Sender: TObject);
var
  DCDesk: HDC;
  bmp: TBitmap;
begin
  // vamos criar o Bitmap
  bmp := TBitmap.Create;

  // vamos definir o tamanho do bitmap
  bmp.Height := Screen.Height;
  bmp.Width := Screen.Width;

  // aqui nós obtemos um handle para o contexto de dispositivo
  // de exibição do Desktop
  DCDesk := GetWindowDC(GetDesktopWindow);

  // vamos copiar a imagem do desktop para o bitmap criado
  // anteriormente
  BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
    DCDesk, 0, 0, SRCCOPY);

  // salvamos o bitmap
  bmp.SaveToFile('screenshot.bmp');

  // liberamos o handle do desktop
  ReleaseDC(GetDesktopWindow, DCDesk);

  // e finalmente liberamos o bitmap
  bmp.Free;

  ShowMessage('Screenshot criado com sucesso.');
end;

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


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

Como testar se uma determinada chave está contida no HashMap do Java usando o método containsKey()

Quantidade de visualizações: 8590 vezes
Em algumas situações precisamos verificar se uma determinada chave está contida no HashMap. Para isso podemos usar o método containsKey(), definido originalmente na interface Map. Veja sua assinatura:

public boolean containsKey(Object key)


Note que este método recebe um objeto contendo o valor da chave a ser pesquisada e retorna um valor true se o HashMap contiver a chave e false caso contrário. Veja o exemplo:

package estudos;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    
    // vamos criar uma instância de HashMap
    HashMap<Integer, String> clientes = new HashMap<>();

    // vamos adicionar três chaves e seus valores
    clientes.put(1, "Osmar J. Silva");
    clientes.put(2, "Salvador Miranda de Andrade");
    clientes.put(3, "Marcos da Costa Santos");
      
    // vamos verificar se a chave 2 está contida no HashMap
    if(clientes.containsKey(2)){
      System.out.println("A chave está contida no mapa");
    }
    else{
      System.out.println("A chave NÃO está contida no mapa");
    }

    System.exit(0);
  }
}

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

A chave está contida no mapa


JavaScript ::: Dicas & Truques ::: Validação de Formulários

Como validar um endereço de e-mail usando expressões regulares em JavaScript

Quantidade de visualizações: 29045 vezes
Nesta dica eu mostro como é possível validar um endereço de e-mail em JavaScript usando expressões regulares. Não se assuste com o tamanho da expressão regular. Ela pode ser um pouco complexa mesmo, mas é a mais completa que você vai encontrar na internet, e consegue validar praticamente todos os tipos de endereço de e-mails que o usuário poderá informar.

É claro que você não pode se descuidar da validação do lado do servidor, pois há situações nas quais o usuário consegue burlar a validação somente do lado do cliente, ou seja, do lado do navegador.

Veja o código JavaScript completo para o exemplo:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
 
<form name="cadastro" onSubmit="return validar()">
  Informe seu E-Mail:<br>
  <input type="text" name="email">
  <input type="submit" value="Enviar!">
</form>
 
<script language="JavaScript">
  var valido;
  function validar(){
    var str = document.cadastro.email.value;
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if(filter.test(str)){
      alert("Este endereço de e-mail é válido!");
      valido = true;
    }
    else{
      alert("Este endereço de e-mail não é válido!");
      document.cadastro.email.focus();
      valido = false;
    }
    return valido;
  }
</script>
 
</body>
</html>



Angular ::: Dicas & Truques ::: Componentes Angular

Angular para iniciantes - Como criar o seu primeiro componente Angular usando o Angular CLI - Comando ng generate component

Quantidade de visualizações: 2855 vezes
Aplicações Angular são construidas em cima de componentes, e estes consistem de:

a) Um template HTML que declara o que deve ser renderizado na página.
b) Uma classe TypeScript que define o comportamento do componente.
c) Um seletor CSS que define com o componente será usado em um template.
d) Estilos CSS opcionais aplicados ao template.

Todos esses aspectos acima são abordados em mais dicas dessa seção. O importante agora é entendermos como criar o componente e exibí-lo no navegador.

Assim, se você ainda não o fez, crie uma nova aplicação Angular usando o Angular CLI. Você pode usar um comando parecido com:

c:\estudos_angular>ng new estudos

Este comando vai criar uma nova aplicação Angular com o nome estudos dentro da pasta "c:\estudos_angular". Aguarde alguns minutos e verá que o Angular CLI já criou toda a estrutura da aplicação. Para executá-la, dispare os comandos abaixo:

c:\estudos_angular>cd estudos
c:\estudos_angular\estudos>ng serve --open

Quando a aplicação subir, veremos o seguinte resultado:



Você obteve um resultado parecido? Então vamos continuar.

Vá até o diretório "C:\estudos_angular\estudos\src\app" e você verá que o Angular CLI já criou para nós um componente com o nome AppComponent por meio dos arquivos app.component.css,
app.component.html, app.component.spec.ts e app.component.ts. Agora vamos voltar nossa atenção para o arquivo app.module.ts. Abra ele no seu editor de texto favorito e você verá o seguinte código:

import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';

import {AppComponent} from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }


Por ora não vamos analisar todo o conteúdo deste arquivo, apenas fique atento ao que vai acontecer com ele depois que criarmos nosso novo componente, o que faremos agora.

Abra uma nova janela de terminal, navegue até o diretório raiz da aplicação e dispare o seguinte comando:

c:\angular>cd estudos
c:\angular\estudos>ng generate component noticia

Nesse momento o Angular CLI criou uma pasta noticia com os seguintes arquivos:

noticia.component.css
noticia.component.html
noticia.component.spec.ts
noticia.component.ts

Agora volte até o arquivo app.module.ts e veja que o Angular CLI o modificou, adicionando o novo componente NoticiaComponent. É importante entender bem o que acontece com este arquivo, pois é ele que indica qual componente será iniciado em primeiro lugar junto com a aplicação Angular.

Agora abra o arquivo noticia.component.ts e altere o seu conteúdo para a versão abaixo:

import { Component } from '@angular/core';

@Component({
  selector: 'app-noticia',
  templateUrl: './noticia.component.html',
  styleUrls: ['./noticia.component.css']
})
export class NoticiaComponent{
  titulo = `Presidente afirma que o preço da gasolina 
    não sobe mais.`;
}

Agora vá em noticia.component.html e altere-o para o código abaixo:

<div>
  <h2>Sou o componente Noticia</h2>
  <h3>{{ titulo }}</h3>
</div>

Nosso componente está pronto. Vamos fazer uns ajustes no componente que o Angular CLI criou para nós automaticamente. Abra o arquivo app.component.ts e altere o seu conteúdo para:

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  nome = 'AppComponent';
}

Agora vá até o arquivo app.component.html e modifique-o para o código abaixo:

<div>
  <h1>Sou o componente que o Angular CLI criou</h1>
  <h2>Meu nome é: {{ nome }}</h2>
</div>

<app-noticia></app-noticia>

Veja que coloquei o componente <app-noticia></app-noticia> dentro do componente principal. Agora, se você reiniciar a aplicação (é provável que as mudanças já estejam aparecendo no seu navegador) você verá o resultado abaixo:



Obteve resultado parecido? Que maravilha! Agora, para terminar esta dica, abra o arquivo noticia.component.css e vamos adicionar os estilos CSS abaixo:

h2 {color: red}
div {border: 1px solid green; padding: 10px}

Veja a aplicação novamente e note como o componente Noticia já contém uma formatação diferente. Agora é só criar vários componentes, agrupá-los, aplicar formatações CSS, imagens, etc, e contruir uma aplicação realmente interessante.


C# ::: Windows Forms ::: DataGridView

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

Quantidade de visualizações: 10029 vezes
A quantidade de colunas em um DataGridView pode ser obtida por meio da propriedade ColumnCount. 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");

  // vamos obter a quantidade de colunas no DataGridView
  int quant_colunas = dataGridView1.ColumnCount;

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

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

dataGridView1.ColumnCount = 6;

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

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


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

Exercícios Resolvidos de Java - Como inverter a ordem dos elementos de um array usando apenas uma variável temporária

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

Considere o seguinte trecho de código:

// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Escreva um programa Java GUI ou console que inverta a ordem dos elementos do vetor valores usando apenas a variável temp, ou seja, não é permitido usar nenhum método disponível em classes Java. Sua saída deverá ser algo como:

Ordem inicial:

6   3   90   1   54   7   12   32   9   4   

Ordem invertida:

4   9   32   12   7   54   1   90   3   6
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa um array de 10 inteiros
    int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
    int temp;
    
    // vamos mostar a ordem inicial dos elementos no vetor
    System.out.print("Ordem inicial: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    // vamos inverter a ordem dos elementos no array
    int inicio = 0, fim = valores.length - 1;  
    while(inicio < fim){
      temp = valores[inicio];
      valores[inicio] = valores[fim];
      valores[fim] = temp;
      // incrementa e decrementa as variáveis de controle
      inicio++; 
      fim--;
    }
    
    // vamos mostar a ordem invertida dos elementos do vetor
    System.out.print("\nOrdem invertida: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    System.out.println();
  }
}



Python ::: Itertools ::: Iteradores de Combinação e Permutação

Como gerar permutações de uma string em Python usando o objeto permutations do módulo Itertools

Quantidade de visualizações: 940 vezes
Nesta dica mostrarei como podemos usar o objeto permutations do módulo Itertools para gerar as permutações simples de uma string.

Na permutação simples, quando os elementos não se repetem, a quantidade de conjuntos gerados a partir do conjunto analisado equivale a n!, onde n é a quantidade de elementos no conjunto a partir do qual a permutação ocorrerá.

Dessa forma, para a palavra LOTE, a quantidade de permutações possíveis (sem repetição) é 4! = 24.

Veja o código Python completo que gera as permutações simples para a palavra LOTE:

# vamos importar o objeto permutations do Itertools
from itertools import permutations

def main():
  # palavra contendo os caracteres que queremos
  # gerar a permutação. Veja que não vamos usar
  # caracteres repetidos
  palavra = "LOTE"

  # agora obtemos uma lista com as permutações possíveis
  permutacoes = [''.join(p) for p in permutations(palavra)]

  # e mostramos o resultado
  print("As permutações para a palavra {0} são:\n".format(palavra))
  print(permutacoes)

if __name__== "__main__":
  main()

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

As permutações para a palavra LOTE são:

['LOTE', 'LOET', 'LTOE', 'LTEO', 'LEOT', 'LETO', 'OLTE', 'OLET', 'OTLE', 'OTEL', 'OELT', 'OETL', 'TLOE', 'TLEO', 'TOLE', 'TOEL', 'TELO', 'TEOL', 'ELOT', 'ELTO', 'EOLT', 'EOTL', 'ETLO', 'ETOL']

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