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
Python ::: Dicas & Truques ::: Data e Hora

Como construir uma data em Python usando o construtor da classe datetime

Quantidade de visualizações: 6984 vezes
Nesta dica mostrarei como podemos usar o construtor da classe datetime do Python para construir e retornar uma nova data. Note que estou fornecendo a data para construtor da classe datetime usando o ano, o mês e o dia.

Veja o código Python completo para o exemplo:

from datetime import datetime

# função principal do programa
def main():
  # vamos definir o dia, mês e ano
  dia = 20
  mes = 4
  ano = 1980

  # Constrói um datetime (ano, mês, dia)
  data = datetime(ano, mes, dia)

  # Exibe o conteúdo do datetime
  print("A data construída foi {0}".format(data))
 
  # Obtém o ano da data recém-criada
  print("O ano da data construída foi: {0}".format(data.year))

if __name__== "__main__":
  main()

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

A data construída foi 1980-04-20 00:00:00
O ano da data construída foi: 1980


C++ ::: Win32 API (Windows API) ::: Aplicativos e Outros

C++ Windows API GUI - Como criar sua primeira aplicação de interface gráfica usando C++ e WinAPI

Quantidade de visualizações: 47861 vezes
Esta dica mostra o código completo para uma aplicação de interface gráfica usando C++ e a Win32 (WinAPI - Windows Programming Interface). Trata-se de uma janela simples, mas com todas as características presentes em todas as janelas das aplicações Windows: uma barra de títulos, o ícone e os botões de maximizar, minimizar e fechar.

Antes de executar o exemplo observe que este código contém o ponto inicial para a criação de qualquer aplicação gráfica em C++/WinAPI, a saber: A função de entrada WinMain, o laço de mensagens Message Loop, a função de callback Window Procedure e as técnicas de registrar e criar a janela.

Neste momento não discutimos os detalhes do código. Em outras dicas você encontrará análises mais aprofundadas de cada parte.

Este código foi escrito e testado no Dev-C++, mas, deve funcionar sem problemas em outros compiladores C++ para Windows. Assim, abra o Dev-C++, vá em File -> New -> Projec. Na aba Basic, selecione Console Application, dê um nome ao projeto e deixe a opção C++ Project marcada. Salve o projeto e inclua o código abaixo no arquivo .cpp principal:

#include <windows.h>

// define o nome da classe de janela
const char nomeJanela[] = "aCodigos";

// esta é a Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM 
  wParam, LPARAM lParam){
    switch(msg){
      case WM_CLOSE:
        DestroyWindow(hwnd);
        break;
      case WM_DESTROY:
        PostQuitMessage(0);
        break;
      default:
        return DefWindowProc(hwnd, msg, wParam, 
          lParam);
    }

  return 0;
}

// função de entrada da aplicação
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE 
    hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
  WNDCLASSEX wc;
  HWND hwnd;
  MSG Msg;

  // vamos registrar a Window Class
  wc.cbSize = sizeof(WNDCLASSEX);
  wc.style = 0;
  wc.lpfnWndProc = WndProc;
  wc.cbClsExtra = 0;
  wc.cbWndExtra = 0;
  wc.hInstance = hInstance;
  wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
  wc.lpszMenuName = NULL;
  wc.lpszClassName = nomeJanela;
  wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

  if(!RegisterClassEx(&wc)){
    MessageBox(NULL, "Erro ao registrar a janela!",
      "Erro!", MB_ICONEXCLAMATION | MB_OK);
    return 0;
  }

  // cria a janela
  hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, nomeJanela,
    "Minha primeira aplicação Win32",
    WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
    350, 200, NULL, NULL, hInstance, NULL);

  if(hwnd == NULL){
    MessageBox(NULL, "Erro ao criar a janela!",
      "Erro!", MB_ICONEXCLAMATION | MB_OK);
    return 0;
  }

  // mostra a janela
  ShowWindow(hwnd, nCmdShow);
  UpdateWindow(hwnd);

  // Este é o laço de mensagens (Message Loop)
  while(GetMessage(&Msg, NULL, 0, 0) > 0){
    TranslateMessage(&Msg);
    DispatchMessage(&Msg);
  }

  return Msg.wParam;
}

Pronto! Só compilar (geralmente F9 no Dev-C++), observar o resultado e estudar o código atentamente.


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

Como calcular juros simples e montante usando Delphi

Quantidade de visualizações: 13530 vezes
O regime de juros será simples quando o percentual de juros incidir apenas sobre o valor principal. Sobre os juros gerados a cada período não incidirão novos juros. Valor Principal ou simplesmente principal é o valor inicial emprestado ou aplicado, antes de somarmos os juros. Transformando em fórmula temos:

J = P . i . n

Onde:

J = juros
P = principal (capital)
i = taxa de juros
n = número de períodos

Imaginemos uma dívida de R$ 2.000,00 que deverá ser paga com juros de 5% a.m. pelo regime de juros simples e o prazo para o pagamento é de 2 meses. O cálculo em Delphi pode ser feito assim:

procedure TForm1.Button1Click(Sender: TObject);
var
  principal, taxa, juros: double;
  meses: integer;
begin
  principal := 2000.00;
  taxa := 0.08;
  meses := 2;

  juros := principal * taxa * meses;

  ShowMessage('O total de juros a ser pago é: '
    + FloatToStr(juros));
end;

O montante da dívida pode ser obtido das seguintes formas:

a) Montante = Principal + Juros
b) Montante = Principal + (Principal x Taxa de juros x Número de períodos)

M = P . (1 + (i . n))

Veja o código:

procedure TForm1.Button1Click(Sender: TObject);
var
  principal, taxa, juros, montante: double;
  meses: integer;
begin
  principal := 2000.00;
  taxa := 0.08;
  meses := 2;

  juros := principal * taxa * meses;
  montante := principal * (1 + (taxa * meses));

  ShowMessage('O total de juros a ser pago é: '
    + FloatToStr(juros));
  ShowMessage('O montante a ser pago é: '
    + FloatToStr(montante));
end;

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


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

Apostila de Python - Como ordenar uma lista de inteiros em ordem crescente ou decrescente usando o método sort() do objeto List do Python

Quantidade de visualizações: 18392 vezes
Nesta dica veremos como usar a função sort() do objeto List da linguagem Python para ordenar um vetor de inteiros em ordem crescente ou decrescente. Veja que, para ordenar o vetor em ordem descrecente, tudo que fiz foi fornecer o valor "reverse=True" para a função sort().

Veja o código completo para o exemplo:

def main():
  # cria uma lista de inteiros
  valores = [2, 5, 12, 2, 3, 32, 18]
 
  # exibe a lista na ordem original
  print(valores)
 
  # ordena a lista em ordem crescente
  valores.sort()
  # exibe a lista ordenada em ordem crescente
  print(valores)

  # ordena a lista em ordem decrescente
  valores.sort(reverse=True)
  # exibe a lista ordenada em ordem decrescente
  print(valores)

if __name__== "__main__":
  main()

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

[2, 5, 12, 2, 3, 32, 18]
[2, 2, 3, 5, 12, 18, 32]
[32, 18, 12, 5, 3, 2, 2]


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

Exercício Resolvido de Java - Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá

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

Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como:

De 1 a 3 tentativas: muito sortudo
De 4 a 6 tentativas: sortudo
De 7 a 10 tentativas: normal
> 10 tentativas: tente novamente

Sua saída deverá ser parecida com:

Adivinhe o número mágico: 100
Tente um número menor.

Adivinhe o número mágico: 50
Tente um número maior.

Adivinhe o número mágico: 60
Tente um número maior.

Adivinhe o número mágico: 80
Tente um número maior.

Adivinhe o número mágico: 90
Tente um número maior.

Adivinhe o número mágico: 95
Tente um número menor.

Adivinhe o número mágico: 94
Tente um número menor.

Adivinhe o número mágico: 93
Tente um número menor.

Adivinhe o número mágico: 92
Você acertou o número em 9 tentativas.
Classificação: Normal
Resposta/Solução:

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

package estudos;

import java.util.Random;
import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    int numero_magico, palpite, tentativas = 0;
    boolean acertou = false;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos sortear o número entre 0 e 500
    Random rand = new Random();
    numero_magico = rand.nextInt(501);
    
    // um laço que repete enquanto o usuário não
    // acertar o número mágico
    while (!acertou) {
      System.out.print("Adivinhe o número mágico: ");
      palpite = Integer.parseInt(entrada.nextLine());
      
      // registra essa tentativa
      tentativas = tentativas + 1;
      
      // o usuário acertou o número mágico?
      if (palpite == numero_magico) {
        System.out.println("Você acertou o número em " + tentativas + " tentativas.");
        
        // mostra a classificação do usuário
        if (tentativas <= 3) {
          System.out.println("Classificação: Muito Sortudo");
        }
        else if ((tentativas >= 4) && (tentativas <= 6)) {
          System.out.println("Classificação: Sortudo");
        }
        else if ((tentativas >= 7) && (tentativas <= 10)) {
          System.out.println("Classificação: Normal");
        }
        else {
          System.out.println("Classificação: Tente Novamente");
        }
        
        // sai do laço
        acertou = true;
      } 
      else {
        // indica se o palpite é maior ou menor
        if (palpite < numero_magico) {
          System.out.println("Tente um número maior.\n");
        }
        else {
          System.out.println("Tente um número menor.\n");
        }
      }
    }
  }
}



JavaScript ::: Dicas & Truques ::: Data e Hora

Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etc

Quantidade de visualizações: 11975 vezes
Nesta dica veremos como retornar o dia da semana de uma data no formato Domingo, Segunda-feira, Terça-feira, etc, em JavaScript. Esta técnica é muito útil quando queremos escrever aplicações envolvendo calendários.

Veja a página HTML completa para o exemplo:

<!doctype html>
<html>
<head>
  <title>Data e hora em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos criar um array com os dias da semana
  var dias_semana = new Array("Domingo", "Segunda-feira",
    "Terça-feira", "Quarta-feira", "Quinta-feira",
    "Sexta-feira", "Sábado");
  
  // agora vamos obter a data de hoje
  var data = new Date();
  
  // agora vamos obter o número do dia da semana
  // começando em 0 para o domingo
  var dia_semana = data.getDay();
  
  // e finalmente mostramos o resultado
  document.write("Dia da semana: " + dias_semana[dia_semana]);
</script>
  
</body>
</html>

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

Dia da semana: Segunda-feira


C# ::: Windows Forms ::: DataGridView

Como retornar a coluna da célula selecionada em um DataGridView do C# Windows Forms

Quantidade de visualizações: 14785 vezes
Muitas vezes precisamos obter a coluna atual de uma determinada célula selecionada no DataGridView. Isso pode ser feito obtendo-se o índice da coluna da célula selecionada e então fornecendo este índice para a propriedade Columns da classe DataGridView. O retorno será um objeto da classe DataGridViewColumn, que representa uma coluna no DataGridView. Podemos usar esta classe para obter o índice da coluna que contém a célula selecionada, percorrer todas as células de uma determinada coluna, etc.

Veja um trecho de código no qual obtemos o DataGridViewColumn representando a coluna da célula selecionada:

private void button3_Click(object sender, EventArgs e){
  // vamos obter a coluna da célula selecionada
  DataGridViewColumn colunaAtual = 
    dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex];

  // vamos exibir o índice da coluna atual
  int indice = colunaAtual.Index;
  MessageBox.Show("O índice da coluna atual é: " + indice);
}



JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle

JavaScript para iniciantes - Como usar o laço do-while da linguagem JavaScript

Quantidade de visualizações: 7711 vezes
O laço do..while (também chamado de loop ou laço repita enquanto) da linguagem JavaScript é usado quando queremos repetir uma instrução ou um grupo de instruções ENQUANTO uma condição for satisfeita. Veja sua sintáxe:

do{
  // uma instrução ou grupo de instruções
}while(condição);

A condição pode ser qualquer expressão que resulte em um valor boolean (true ou false). Note também que, diferente do laço while (enquanto) o teste condicional do laço do-while é feito DEPOIS de cada iteração (repetição) do laço. Isso faz com que este laço seja executado no mínimo uma vez.

Veja um trecho de código no qual usamos o laço do..while para contar de 0 até 10:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var i = 0;
  
  do{
    document.write(i + "<br>");
    i++;
  }while(i <= 10);  
</script>

</body>
</html>

Ao executarmos este código teremos o seguinte resultado:

0
1
2
3
4
5
6
7
8
9
10

Veja que declaramos uma variável de controle i e a inicializamos com o valor 0. No corpo do laço nós exibimos o valor da variável de controle e a incrementamos em 1. Em seguida nós verificamos se seu valor é menor ou igual a 10. Como esta condição é satisfeita, o laço é executado pela segunda vez. Dessa forma o ciclo continua até que o valor da variável de controle seja maior que 10, o que faz com que o laço cesse sua repetição.

Veja agora como modificar o laço do-while anterior para exibir os números de 10 até 0:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  var i = 10;
  
  do{
    document.write(i + "<br>");
    i--;
  }while(i >= 0);  
</script>

</body>
</html>

Agora o resultado do código será:

10
9
8
7
6
5
4
3
2
1
0

Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6.


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

Como pesquisar um valor em um vetor de inteiros em C

Quantidade de visualizações: 9496 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.


Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a transposta de uma matriz em Python - Python para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 7037 vezes
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante.

Em termos de notação, podemos dizer, de forma algébrica, que:

ATji = Aij

Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta.

É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3.

Antes de vermos o código Python, dê uma olhada na seguinte matriz de duas linhas e três colunas:

\[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \]

Sua matriz transposta correspondente é:

\[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \]

E agora veja o código Python que declara uma matriz 2x3 e gera a matriz transposta 3x2:

# importamos a bibliteca NumPy
import numpy as np
   
def main():
  # vamos declarar e construir uma matrix
  # 2x3 (duas linhas e três colunas
  matriz = np.array([(3, 5, 7), (1, 2, 9)])
    
  # vamos exibir os valores da matriz
  print("Elementos da matriz:")
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      print("%7.2f" % matriz[i][j], end="")
    
    print()

  # como temos uma matriz 2x3, a transposta deverá ser
  # 3x2, ou seja, três linhas e duas colunas
  linhas = np.shape(matriz)[0] # linhas da matriz original
  colunas = np.shape(matriz)[1] # colunas da matriz original
  transposta = np.empty((colunas, linhas)) 
    
  # e agora vamos preencher a matriz transposta
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      transposta[j][i] = matriz[i][j]
    
  # vamos exibir os valores da matriz transposta
  print("\nElementos da matriz transposta:")
  for i in range(np.shape(transposta)[0]):
    for j in range(np.shape(transposta)[1]):
      print("%7.2f" % transposta[i][j], end="")
    
    print()  

if __name__== "__main__":
  main()

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

Elementos da matriz:
    3      5      7  
    1      2      9  
Elementos da matriz transposta:
    3      1  
    5      2  
    7      9  


É possível também obter a matriz transposta de um outra matriz usando o método transpose() da biblioteca NumPy da linguagem Python. Veja:

# importamos a bibliteca NumPy
import numpy as np
   
def main():
  # vamos declarar e construir uma matrix
  # 2x3 (duas linhas e três colunas
  matriz = np.array([(3, 5, 7), (1, 2, 9)])
    
  # vamos exibir os valores da matriz
  print("Elementos da matriz:")
  for i in range(np.shape(matriz)[0]):
    for j in range(np.shape(matriz)[1]):
      print("%7.2f" % matriz[i][j], end="")
    
    print()

  # vamos transpor a matriz usando o método transpose()
  transposta = matriz.transpose() 
    
  # vamos exibir os valores da matriz transposta
  print("\nElementos da matriz transposta:")
  for i in range(np.shape(transposta)[0]):
    for j in range(np.shape(transposta)[1]):
      print("%7.2f" % transposta[i][j], end="")
    
    print()  

if __name__== "__main__":
  main()

Ao executar este novo código Python veremos que o resultado é o mesmo.

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