Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes.

PHP ::: Dicas & Truques ::: Data e Hora

Datas e horas em PHP - Como saber se um determinado ano é bissexto usando PHP

Quantidade de visualizações: 3 vezes
Nesta dica veremos como é possível usar a função date() da linguagem PHP para verificar se um determinado ano é bissexto. Note como combinamos o parâmetro "L" da função date() e a função mktime() contendo o ano que queremos testar.

Veja o código PHP completo para o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $ano = "2020";
   
  $bissexto = date("L", mktime(0, 0, 0, 1, 1, $ano));
  if($bissexto == 0){
    echo "O ano informado não é bissexto";
  }
  else{
    echo "O ano informado é bissexto";
  }
?>
  
</body>
</html>

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

O ano informado é bissexto


Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame

Como retornar a quantidade de linhas em um DataFrame do Pandas usando a função len() e a propriedade index

Quantidade de visualizações: 2543 vezes
Podemos tirar proveito da função len() do Python e da propriedade index do DataFrame do Pandas para contarmos as linhas do DataFrame. Lembre-se de que a propriedade index representa os rótulos das linhas.

Veja o código completo para o exemplo:

# importamos a biblioteca Pandas
import pandas as pd
  
def main():
  # vamos carregar os dados do arquivo .csv
  df = pd.read_csv("C:\\estudos_python\\carros.csv",
   delimiter=";")
  
  # vamos mostrar o DataFrame resultante
  print("Os dados do DataFrame são:\n")
  print(df)
 
  # agora vamos retornar a quantidade de linhas no DataFrame
  quant_linhas = len(df.index)

  # e mostramos o resultado
  print("\nO DataFrame contém {0} linhas".format(quant_linhas))
 
if __name__== "__main__":
  main()

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

Os dados do DataFrame são:

        Marca   Modelo     Ano    Valor Vendido
0        Fiat   Sienna  2010.0  23500.0       S
1  Volkswagen     Polo     NaN  31453.0       N
2  Volkswagen      NaN  2001.0  19200.0       S
3        Fiat    Palio  1995.0   7500.0       S
4       Honda    Civic     NaN  42000.0       S
5     Renault  Sandero  2010.0  52000.0       N
6        Ford    Focus  2009.0  42700.0       N

O DataFrame contém 7 linhas



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

Exercício Resolvido de C - Usando um laço for para percorrer os elementos de uma matriz e exibir a soma dos valores positivos e a quantidade de valores negativos

Quantidade de visualizações: 12393 vezes
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de uma matriz e exibir a soma dos valores positivos e a quantidade de valores negativos

Pergunta/Tarefa:

Considere a seguinte matriz de inteiros:

// uma matriz de inteiros contendo sete elementos
int valores[] = {-3, 9, 12, -34, -2, 20, 10};


Escreva um programa C que usa um laço for para percorrer todos os elementos desta matriz e exibir a soma dos valores positivos e a quantidade de valores negativos. Seu programa deverá exibir uma saída com a mensagem:

A soma dos valores positivos é: 51
A quantidade de valores negativos é: 3


Resposta/Solução:

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

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

int main(int argc, char *argv[])
{
  // uma matriz de inteiros contendo sete elementos
  int valores[] = {-3, 9, 12, -34, -2, 20, 10};
    
  // o primeiro passo é criar uma variável que vai receber a soma
  // dos valores positivos
  int soma_positivos = 0;

  // agora uma variável para receber a quantidade de valores negativos
  int quant_negativos = 0;
  
  int i;

  // agora vamos usar uma laço for para percorrer todos os elementos
  // da matriz
  for(i = 0; i < 7; i++){
    // vamos verificar se o valor do elemento atual é negativo
    if(valores[i] < 0){
      quant_negativos++;  
    }
    else{ // o valor é positivo
      soma_positivos = soma_positivos + valores[i]; 
    }
  }

  // vamos exibir a soma dos valores positivos
  printf("A soma dos valores positivos é: %d\n", soma_positivos);

  // vamos exibir a quantidade de valores negativos
  printf("A quantidade de valores negativos é: %d\n", quant_negativos);

  system("PAUSE");	
  return 0;
}



HTML5 ::: Aplicativos Completos ::: Programas de desenho, edição e visualização de imagens e fotos

Como criar um programa de desenho simples usando o objeto Canvas do HTML5

Quantidade de visualizações: 8025 vezes
Revisando alguns códigos que desenvolvi para clientes ao longo desses anos, encontrei um exemplo de um programa de desenho bem simples demonstrando as possibilidades gráficas do elemento Canvas do HTML. Este código foi escrito há uns dois anos e resolvi compartilhar com todos, para que vocês possam aprimorá-lo e acrescentar novas idéias, afinal, o HTML5 está mais atual do que nunca.

Veja o resultado no navegador:



Eu o escrevi de forma bem simples, sem usar jQuery ou qualquer outro framework, apenas JavaScript raiz mesmo, de forma que até os estudantes mais iniciantes não terão dificuldade de entender. Veja a listagem completa e com comentários:

<html>
<head>
<title>Desenhando no canvas do HTML5</title>
</head>

<body style="padding: 15px">

<b>Clique e arraste para desenhar</b><br><br>

<canvas id="quadro" style="border: 1px solid #666" 
  width="600" height="350"></canvas>

<br><br><button onClick="limpar()">Limpar</button>

<script type="text/javascript">
  // obtém uma referência ao canvas
  var quadro = document.getElementById('quadro');
  // vamos obter o contexto de desenho
  var areaDesenho = quadro.getContext("2d");
  
  // podemos desenhar?
  var podeDesenhar = false; // ainda não
  
  // vetores para guardar as posições x, y, e se o mouse está sendo
  // movimentado pressionado
  var vetorX = new Array();
  var vetorY = new Array();
  var vetorArrastar = new Array();
  
  // agora vamos adicionar na área de desenho um "ouvidor" de 
  // eventos mousedown, ou seja, vamos detectar quando o usuário
  // pressionar o botão do mouse (sem soltar) 
  quadro.addEventListener('mousedown', function(e){
    // podemos iniciar o desenho
    podeDesenhar = true;
    registrarClique(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, false);
    desenhar(); // faça o desenho, moço
  });
  
  // o "ouvidor" de evento que detecta se o mouse está sendo arrastado
  // pressionado
  quadro.addEventListener('mousemove', function(e){	
    if(podeDesenhar){
      registrarClique(e.pageX - this.offsetLeft, e.pageY - 
        this.offsetTop, true);
      desenhar(); // faça o desenho, moço
    }
  });

  // o "ouvidor" de evento que detecta se o mouse foi liberado
  // e interrompe o desenho
  quadro.addEventListener('mouseup', function(e){	
    podeDesenhar = false;
  });

  // o mouse saiu da área de desenho?
  quadro.addEventListener('mouseleave', function(e){	
    podeDesenhar = false;
  });

  function registrarClique(x, y, arrastar){
    // aqui nós guardamos em vetores as posições x, y do clique ou
    // o movimento do mouse pressionado.
    vetorX.push(x);
    vetorY.push(y);
    vetorArrastar.push(arrastar);
  }
  
  // é aqui que a mágica ocorre
  function desenhar(){
    // primeiro vamos limpar o quadro de desenho
    areaDesenho.clearRect(0, 0, areaDesenho.canvas.width, 
      areaDesenho.canvas.height);
	
    areaDesenho.strokeStyle = "#5c5cd6"; // cor
    areaDesenho.lineJoin = "round"; // formato da junção de linha
    areaDesenho.lineWidth = 5; // largura da linha
			
    // percorremos os vetores, usando como base o vetor de coordenadas x
    for(var i = 0; i < vetorX.length; i++){		
      areaDesenho.beginPath(); // inicia o caminho
    
      // o mouse foi arrastado neste evento?
      if((vetorArrastar[i] == true && i > 0)){
        areaDesenho.moveTo(vetorX[i - 1], vetorY[i - 1]);
      }
      else{
        // é o início do desenho
        areaDesenho.moveTo(vetorX[i] - 1, vetorY[i]);
      }
     
      // desenha a linha do ponto X ao ponto Y  
      areaDesenho.lineTo(vetorX[i], vetorY[i]);
      // fecha o caminho
      areaDesenho.closePath();
      // conclui de fato o desenho
      areaDesenho.stroke();
    }  
  }
  
  // e aqui nós limpamos a área de desenho e esvaziamos os vetores
  function limpar(){
    areaDesenho.clearRect(0, 0, areaDesenho.canvas.width, 
      areaDesenho.canvas.height);
    vetorX = [];
    vetorY = [];
    vetorArrastar = [];
  }
</script>

</body>
</html>

Salve o código como "desenho.html" (cuidado para não salvar como "desenho.html.txt") e abra-o no seu navegador, remoto ou localmente. Você pode começar suas modificações alterando a cor do desenho, a largura da linha, etc. Você pode também deixar figuras pré-configuradas e até permitir que o usuário inclua fotos no Canvas.

Para os estudantes que já sabem Node.js, saiba que é possível enviar os três vetores via sockets em um ambiente real time para que outros usuários na rede vejam o seu desenho em tempo real. Bons estudos.


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 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
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

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


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