![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar a diferença em dias entre duas datas usando JavaScriptQuantidade de visualizações: 18739 vezes |
Nesta dica mostrarei como podemos usar a linguagem JavaScript para calcular a quantidade de dias, ou seja, a diferença de dias entre duas datas. Note que o truque é subtrair um objeto Date de outro objeto Date. Veja o código JavaScript completo para o exemplo: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> function diferencaDias(data1, data2){ var dif = Date.UTC(data1.getYear(),data1.getMonth(),data1.getDate(),0,0,0) - Date.UTC(data2.getYear(),data2.getMonth(),data2.getDate(),0,0,0); return Math.abs((dif / 1000 / 60 / 60 / 24)); } // datas no formato ano/mês/dia document.write("A diferença de dias é: " + diferencaDias(new Date(2007, 0, 10), new Date(2007, 0, 20)) + " dias."); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: A diferença de dias é: 10 dias. |
Python ::: Dicas & Truques ::: HTTP Web Server |
Como criar um servidor web em Python usando as classes BaseHTTPRequestHandler e HTTPServerQuantidade de visualizações: 730 vezes |
Nesta dica mostrarei como criar um web server em Python, ou seja, o nosso próprio servidor web. Para isso nós vamos criar uma classe ServidorWeb que herda de BaseHTTPRequestHandler, que nos fornece todos os métodos necessários para tratar requisições HTTP, tais como GET e POST. Note que definir o nome do host como "localhost" e a porta como "8080". Veja o código completo para o nosso web server em Python: # precisamos importar os objetos BaseHTTPRequestHandler e HTTPServer # do módulo http.server from http.server import BaseHTTPRequestHandler, HTTPServer # precisamos também do módulo time import time # vamos criar a classe ServidorWeb, que herda de # BaseHTTPRequestHandler class ServidorWeb(BaseHTTPRequestHandler): # vamos implementar o método que responde às requisições GET def do_GET(self): self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() self.wfile.write(bytes("<html><head><title>Meu Servidor Web</title></head>", "utf-8")) self.wfile.write(bytes("<p>Requsição: %s</p>" % self.path, "utf-8")) self.wfile.write(bytes("<body>", "utf-8")) self.wfile.write(bytes("<p>Exemplo de Web Server em Python</p>", "utf-8")) self.wfile.write(bytes("</body></html>", "utf-8")) # função principal do programa def main(): # agora criamos um objeto HTTPServer host = "localhost" porta = 8080 servidorWeb = HTTPServer((host, porta), ServidorWeb) print("Servidor iniciado em http://%s:%s" % (host, porta)) # tentamos levantar o servidor try: servidorWeb.serve_forever() except KeyboardInterrupt: pass # liberamos o servidor web servidorWeb.server_close() print("O servidor web foi parado.") if __name__== "__main__": main() Ao executar este código você verá a seguinte mensagem: Servidor iniciado em http://localhost:8080 A partir daí você pode abrir o seu navegador neste endereço e já verá a página web que definimos no corpo do método do_GET() da classe ServidorWeb. Agora é só explorar as dicas dessa seção para aprender ainda mais sobre redes, soquetes e servidores web usando a linguagem Python. |
C# ::: Dicas & Truques ::: Sistema |
Como verificar o formato de um drive (NTFS, FAT32, etc) usando a propriedade DriveFormat da classe DriveInfo da linguagem C#Quantidade de visualizações: 7279 vezes |
A propriedade DriveFormat da classe DriveInfo pode ser usada para obter o formato de um drive, ou seja, ela nos permite saber se o formato de um drive é NTFS ou FAT32, por exemplo. Veja um trecho de código exemplificando seu uso: using System; using System.IO; namespace Estudos{ class Program{ static void Main(string[] args) { DriveInfo di = new DriveInfo("C"); // vamos obter o formato deste drive string formato = di.DriveFormat; // vamos exibir o resultado Console.WriteLine("O formato deste drive é: " + formato); } } } Ao executar este código nós teremos o seguinte resultado: O formato deste drive é: NTFS |
Python ::: Dicas & Truques ::: Data e Hora |
Como construir uma data em Python usando o construtor da classe datetimeQuantidade de visualizações: 6999 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# ::: 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: 12297 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" |
C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como usar a classe/contêiner vector da STL em seus programas C++Quantidade de visualizações: 9060 vezes |
O vetor, ou vector, é uma das classes contêineres mais simples da STL - Standard Template Library do C++. Um vector se comporta como um vetor, ou seja, uma matriz de uma linha e várias colunas, ou seja, seus elementos estão dispostos em posições contiguas na memória. O que diferencia um vector de um array comum é que o tamanho de um vector pode ser modificado dinamicamente. A especificação do template da classe vector é: template <class T, class Allocator = allocator<T>> class vector Aqui T é o tipo de dados sendo armazenado (já ouvir falar em genéricos, não?) e Allocator define o modelo de alocação de armazenagem. Por padrão, o template da classe allocator para o tipo T é usado, o que define o modelo de alocação de memória mais simples e independente de valores. Objetos da classe vector são úteis nas seguintes situações: a) Acessar os elementos individualmente usando seus índices (tempo constante); b) Percorrer os elementos em qualquer ordem (tempo linear); b) Adicionar ou remover elementos no final do contêiner (tempo constante amortizado). Para usarmos um vector em nossos programas C++ temos que incluir este contêiner da seguinte forma: #include <vector> Veja um trecho de código no qual criamos um vector, inserimos três inteiros e finalmente usamos um iterador para percorrer os elementos e imprimir seus valores: #include <cstdlib> #include <iostream> #include <vector> using namespace std; int main(int argc, char *argv[]){ // um vector vazio que conterá inteiros vector<int> valores; // vamos inserir três elementos valores.push_back(54); valores.push_back(13); valores.push_back(87); // vamos percorrer o vector e exibir os elementos vector<int>::iterator it; for(it = valores.begin(); it < valores.end(); it++){ cout << *it << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este código C++ nós teremos o seguinte resultado: 54 13 87 |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de linhas e colunas de um vetor ou matriz usando a propriedade shape do objeto ndarray da biblioteca NumPy do PythonQuantidade de visualizações: 3101 vezes |
Podemos usar a propriedade shape do objeto ndarray da biblioteca NumPy para obter a quantidade de linhas e colunas em um vetor ou matriz. Para um vetor, o retorno será a quantidade de colunas seguida por uma vírgula. Para matrizes, a propriedade retornará a quantidade de linhas e colunas. Veja:# importamos a bibliteca NumPy import numpy as np def main(): # vamos criar um vetor com 8 elementos vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4]) # vamos mostrar a quantidade de linhas e colunas nesse vetor print("Linhas e colunas no vetor:", vetor.shape) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", matriz.shape) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: Linhas e colunas no vetor: (8,) Linhas e colunas na matriz: (2, 4) Além de usar a propriedade shape do objeto ndarray, nós podemos também efetuar uma chamada ao método global shape() da NumPy. Veja: # importamos a bibliteca NumPy import numpy as np def main(): # vamos criar um vetor com 8 elementos vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4]) # vamos mostrar a quantidade de linhas e colunas nesse vetor print("Linhas e colunas no vetor:", np.shape(vetor)) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", np.shape(matriz)) if __name__== "__main__": main() Execute e veja que o resultado é o mesmo para ambos os códigos. |
C# ::: Windows Forms ::: ListBox |
Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade SortedQuantidade de visualizações: 10537 vezes |
Os itens de uma ListBox podem ser ordenados alfabeticamente definindo-se o valor True para a propriedade Sorted. Em tempo de execução este propriedade pode ser alterada da seguinte forma: private void button2_Click(object sender, EventArgs e){ // Ordena os itens da lista alfabeticamente listBox1.Sorted = true; } Esta propriedade pode também ser obtida enquanto o programa estiver em execução. Veja um trecho de código no qual clicamos em um botão e exibimos uma mensagem com o valor da propriedade Sorted da ListBox: private void button1_Click(object sender, EventArgs e) { // Obtém o valor da propriedade Sorted MessageBox.Show("Valor da propriedade Sorted: " + listBox1.Sorted); } Ao executarmos este código C# nós teremos o seguinte resultado: Valor da propriedade Sorted: True |
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como retornar elementos presentes no primeiro vetor e não presentes no segundo vetor em JavaScript usando o objeto SetQuantidade de visualizações: 1484 vezes |
Este é um código muito interessante de ser feito em JavaScript. Dados dois arrays a e b, temos que retornar os números que estão presentes no primeiro array, mas que não estão presentes no segundo array. Este código pode ser escrito usando diversas abordagens. Nesta dica mostrarei como resolvê-lo usando um objeto Set, adicionado à linguagem JavaScript na revisão ECMAScript 2015, também chamada de ES6 e ECMAScript 6. Vamos ao código então: <html> <head> <title>O objeto Set do JavaScript</title> </head> <body> <script type="text/javascript"> // primeiro vetor var a = [4, 8, 1, 23, 65]; // segundo vetor var b = [23, 8, 90, 3, 7]; // vetor resultante var c = []; // criamos um objeto Set e guardamos nele os // elementos do segundo vetor var set = new Set(); for (var i = 0; i < b.length; i++){ set.add(b[i]); } // agora varremos o primeiro vetor e usamos // o método has() do objeto Set para verificar se // o valor não está contido nele for (var i = 0; i < a.length; i++){ if(!set.has(a[i])){ c.push(a[i]); } } document.writeln("Primeiro vetor: " + a); document.writeln("<br>Segundo vetor: " + b); document.writeln("<br>Resultado: " + c); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Primeiro vetor: 4, 8, 1, 23, 65 Segundo vetor: 23, 8, 90, 3, 7 Resultado: 4, 1, 65 Note que os valores 4, 1 e 65 estão presentes no primeiro array mas não estão presentes no segundo. |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Java para iniciantes - Como controlar a quantidade de casas decimais na exibição de um valor double ou floatQuantidade de visualizações: 26957 vezes |
Este trecho de código mostra como usar o método printf() do Java 5.0 para definir a quantidade de casas decimais na exibição de um valor double. Obs: Veja que há arredondamento durante a redução das casas decimais. Eis o código completo para o exemplo: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ double valor = 54.235344213; // exibe o valor original System.out.println(valor); // exibe o valor com duas casas decimais System.out.printf("%.2f\n", valor); // exibe o valor com quatro casas decimais System.out.printf("%.4f\n", valor); // exibe o valor com cinco casas decimais System.out.printf("%.5f\n", valor); // exibe o valor com uma casa decimal System.out.printf("%.1f", valor); } } Ao executar este código Java nós teremos o seguinte resultado: 54.235344213 54,24 54,2353 54,23534 54,2 |
Nossas 20 dicas & truques de programação mais populares |
Java - Programação Orientada a Objetos em Java - Como usar o modificador de acesso public da linguagem Java C - Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem C JavaScript - Como exibir apenas dois dígitos após o ponto decimal em JavaScript usando a função toFixed() do objeto Number |
Você também poderá gostar das dicas e truques de programação abaixo |
C# - Como remover um elemento em uma determinada posição de uma List<T> do C# usando a função RemoveAt() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |