![]() |
|
||||
![]() 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 formatar datas em JavaScript de acordo com as configurações do computador do usuário usando a função toLocaleDateString()Quantidade de visualizações: 7543 vezes |
Nesta dica mostrarei como podemos usar a função toLocaleDateString() do objeto Date do JavaScript para formatar e exibir a data atual (ou uma data construída) usando as configurações regionais do computador do usuário. Veja a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Datas em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos obter a data atual var data = new Date(); // formatamos a data var data_formatada = data.toLocaleDateString(); // e mostramos o resultado document.write("Hoje é: " + data_formatada); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Hoje é: 04/02/2022 |
MySQL ::: Dicas & Truques ::: Data e Hora |
Como retornar a hora atual no MySQL usando as funções CURTIME(), CURRENT_TIME e CURRENT_TIME()Quantidade de visualizações: 10997 vezes |
As funções CURTIME(), CURRENT_TIME e CURRENT_TIME() são usadas quando queremos obter a hora atual do servidor MySQL (no fuso horário atual, definido no banco de dados ou no sistema). O valor retornado pode estar no formato 'HH:MM:SS' ou HHMMSS.uuuuuu, dependendo se a função for chamada em um contexto string ou numérico. Veja:SELECT CURTIME() O valor retornado será algo como 23:06:33. Veja agora como usar CURTIME() em um contexto numérico: SELECT CURTIME() + 0 O retorno será algo como 230633.000000. |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila Java para iniciantes - Como usar o tipo de dados referência em seus códigos JavaQuantidade de visualizações: 11618 vezes |
O Java contém 8 tipos de dados primitivos e um tipo referência. No entanto, poucos livros dedicam exemplos a este último tipo. Vamos começar analisando o trecho de código abaixo:public class Estudos{ public static void main(String args[]){ String nome = "Osmar J. Silva"; System.out.println(nome); System.exit(0); } } Se observarmos este código, veremos que a variável nome não é um tipo primitivo e sim uma referência. Desta forma, qualquer variável ou constante que não seja do tipo primitivo é uma referência a um objeto de uma classe, interface, etc. Arrays não são tipos primitivos também. Assim, variáveis ou constantes que apontam para arrays (vetores e matrizes) também são referências. É importante entender bem a noção de referências, visto que é por meio delas que acessamos um determinado objeto na memória. Além disso, como objetos e arrays são sempre passados por referência aos métodos Java, fica fácil entender como várias referências podem apontar para o mesmo objeto ao mesmo tempo. E, caso você tenha esquecido, os tipos primitivos nunca são passados por referêcia aos métodos. Em vez disso, eles são passados por valor (o que quer dizer que uma alteração nos argumentos fornecidos ao métodos não altera a cópia original da variável). |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em CQuantidade de visualizações: 2743 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código C completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int numero, i; int primo = 1; // verdadeiro, true // vamos solicitar um número inteiro positivo printf("Informe um número inteiro positivo: "); scanf("%d", &numero); // o número é negativo? if(numero < 0){ printf("Número inválido.\n\n"); } // é 0 ou 1? else if((numero == 0) || (numero == 1)){ printf("Número válido, mas não é primo.\n\n"); } // passou até aqui. Vamos testar se o número é primo else{ for (i = 2; i <= (numero / 2); i++){ // se passar no teste, não é primo if (numero % i == 0) { primo = 0; // recebe false break; } } if(primo){ printf("O número informado é primo\n\n"); } else{ printf("O número informado não é primo\n\n"); } } printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
Delphi ::: Dicas & Truques ::: Bilbiotecas Estáticas (obj) e Dinâmicas (DLLs) |
Apostila Delphi para iniciantes - Como criar sua primeira DLL usando DelphiQuantidade de visualizações: 18921 vezes |
Em dicas anteriores você aprendeu o que é um DLL e sua importância para a programação no ambiente Windows. Nesta dica mostrarei como criar uma DLL bem simples e usá-la a partir de um programa Delphi. Para isso siga atentamente os passos abaixo: 1) Vá em File -> New -> Other; 2) Selecione Delphi Projects e escolha DLL Wizard; 3) Neste momento o DLL Wizard criará o esqueleto do código fonte da DLL. Note que o código desta unit é bem parecido com aquele da unit de uma aplicação. A diferença principal é o uso da palavra-chave library em vez de program: library Project2; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. } uses SysUtils, Classes; {$R *.res} begin end. Salve esta unit como MinhaDLL.dproj em um diretório de sua preferência. Em seguida vamos criar uma rotina que receberá dois valores inteiros e retornará sua soma. Veja a modificação no código: library MinhaDLL; function Somar(a, b: Integer): Integer; stdcall; begin Result := a + b; // retorna a soma end; { vamos exportar (export) a função Somar } exports Somar; begin end. Nossa DLL está pronta. Agora vá no menu Project -> Build MinhaDLL (ou pressione Shift+F9). Se tudo correu bem você terá um arquivo chamado MinhaDLL.dll no diretório no qual você salvou o projeto. O próximo passo é aprender a carregar esta DLL a partir de seus programas Delphi. Veja mais dicas nesta seção para aprender como isso é feito. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
AutoCAD ::: Dicas & Truques ::: Configurações da Área de Desenho |
Como definir os limites da área de desenho do AutoCAD usando o comando LIMITSQuantidade de visualizações: 1101 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. |
Android Java ::: android.widget ::: Button |
Como detectar um clique em um botão do Android usando o evento onClick no XML de layoutQuantidade de visualizações: 2330 vezes |
Nesta dica mostrarei como podemos detectar um clique em um botão usando o evento onClick diretamente no arquivo XML de layout. No entanto, para usar este artifício, algumas regras devem ser seguidas: a) O método chamado pelo clique do botão deverá ser public e retornar void; b) O único parâmetro do método deverá conter apenas um objeto da classe View, representando a view na qual o evento onclick ocorreu. Veja um exemplo completo no qual detectamos o clique no botão e exibimos uma mensagem AlertDialog contendo apenas um botão OK. Comece analisando o XML de layout (o nome do botão foi definido no arquivo strings.xml): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> tools:context=".MainActivity"> <Button xmlns:android=" http://schemas.android.com/apk/res/android" android:id="@+id/button_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btn_enviar" android:onClick="enviarMensagem" /> </LinearLayout> Veja agora o código Java no MainActivity.java: package com.example.estudosandroid; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.app.AlertDialog; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // método público que será chamado ao clicarmos no botão public void enviarMensagem(View view) { AlertDialog dialogo = new AlertDialog.Builder(MainActivity.this).create(); dialogo.setTitle("Aviso"); dialogo.setMessage("Esta é uma mensagem de aviso"); dialogo.setButton(AlertDialog.BUTTON_NEUTRAL, "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which){ dialog.dismiss(); // fecha o AlertDialog } } ); dialogo.show(); } } |
Rust ::: Fundamentos da Linguagem ::: Compilador rustc |
Como escrever um "Hello, World!" na linguagem Rust usando a ferramenta rustcQuantidade de visualizações: 750 vezes |
Então você já fez a instalação do Rust, testou o seu funcionamento disparando "rustc --version" em uma janela de terminal e agora quer começar a aprender mais sobre a linguagem? Que tal começar escrevendo o famoso "Hello, World!" ("Olá, Mundo!")? Nesta dica mostrarei como essa tarefa é fácil, principalmente se optarmos pelo uso da ferramenta rustc. Lembre-se, no entanto, que rustc é usado diretamente quando estamos escrevendo aplicações simples, provas de conceito, protótipos e coisas assim. Para aplicações mais complexas, é sempre recomendado o uso do Cargo, que é um sistema de build e gerenciador de pacotes do Rust. Então vamos começar. Abra o seu editor de códigos favorito (tal como o Notepad++) e digite a seguinte listagem: fn main() { println!("Hello, world! Aqui é Rust na veia."); } Salve este arquivo como "estudos.rs" no diretório de sua preferência. Aqui eu optei por salvá-lo em um diretório chamado "C:\estudos_rust". Agora vamos compilar nosso programa Rust. Abra uma janela de terminal e navegue até o diretório que você salvou o arquivo "estudos.rs" e dispare o comando abaixo: C:\Users\Osmar>cd c:\estudos_rust c:\estudos_rust>rustc estudos.rs Se tudo correr bem, você verá a criação de um arquivo "estudos.exe". Para executá-lo pela linha de comando nós só precisamos disparar: c:\estudos_rust>estudos Hello, world! Aqui é Rust na veia. Simples, né? No entanto, se dermos duplo-clique em cima do executável gerado, ele abre e fecha automaticamente. Não seria bom exibir uma mensagem do tipo "Pressione uma tecla para fechar..."? Basta modificar seu código para a versão abaixo: // importamos a biblioteca io use std::io; use std::io::Write; fn main() { println!("Hello, world! Aqui é Rust na veia."); // procedimento para pausar o programa let mut resposta = String::new(); print!("\nPressione Enter para sair..."); io::stdout().flush().unwrap(); io::stdin().read_line(&mut resposta) .expect("Erro ao ler a entrada do usuário"); } Sim, eu sei que agora nós adicionamos código demais para alcançar um detalhe tão simples. Mas, à medida que a linguagem Rust evolui, talvez os desenvolvedores resolvam simplificar esta parte. Compile o programa novamente e experimente abrir o executável com duplo-clique. Você verá que agora o programa fica aguardando o pressionamento da tecla Enter para fechar. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Java - Como testar se um ano é bissexto em Java - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 2748 vezes |
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa Java que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar que o usuário informe um ano System.out.print("Informe o ano: "); int ano = Integer.parseInt(entrada.nextLine()); // vamos verificar se o ano informado é bissexto if(((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){ System.out.println("O ano informado é bissexto."); } else{ System.out.println("O ano informado não é bissexto."); } System.out.println("\n"); } } |
JavaScript ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular Fatorial em JavaScript usando recursão - Como calcular Fatorial usando recursividade - Aprenda a calcular Fatorial usando JavaScriptQuantidade de visualizações: 17372 vezes |
Embora existam várias formas de efetuar o cálculo de Fatorial, a forma mais comum é usando recursividade, ou seja, dividir a resolução do problema em partes menores e juntá-las no final. Neste dica eu mostro como calcular Fatorial em JavaScript usando recursividade. Veja o código completo: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> function fatorial(num){ if(num > 1) return num * arguments.callee(num - 1); else return 1; } </script> </head> <body> <script type="text/javascript"> document.write("O fatorial de 5 é: " + fatorial(5)); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: O fatorial de 5 é: 120 |
Nossas 20 dicas & truques de programação mais populares |
Java - Java Swing para iniciantes - Como criar seu primeiro aplicativo de interface gráfica em Java Swing |
Você também poderá gostar das dicas e truques de programação abaixo |
Delphi - Como usar o evento OnDrawCell para controlar o desenho das células em um TStringGrid do Delphi JavaScript - Como calcular o coeficiente angular de uma reta em JavaScript dados dois pontos no plano cartesiano |
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 |