JavaScript ::: Dicas & Truques ::: Rotinas de Conversão |
JavaScript para iniciantes - Como converter uma string em um valor numérico usando o método Number() do JavaScriptQuantidade de visualizações: 24310 vezes |
|
Algumas vezes nós precisamos converter um texto inserido pelo usuário em um valor numérico. Se sabemos que o valor é inteiro, podemos usar Number.parseInt(), enquanto, se soubermos que o valor inserido é um decimal, podemos usar Number.parseFlot(). No entanto, se estivermos na dúvida, pode usar somente a função Number(), pois ela tentará converter a string para um valor numérico (inteiro ou de ponto-flutuante) e, em caso de falha, retornará NaN (Not a Number, não é um número). Veja o código completo para o exemplo:
<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
<script type="text/javascript">
var valor = "95,23";
valor = Number(valor);
document.write("O resultado da conversão é: "
+ valor);
</script>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: O resultado da conversão é: NaN Experimente trocar "95,23" por "95.23" e veja como a conversão de string para número ocorre sem problemas. |
MySQL ::: Dicas & Truques ::: Joins (Junções) |
Como usar joins no MySQLQuantidade de visualizações: 11750 vezes |
|
As junções (joins) são ferramentas presentes na maioria dos bancos de dados que suportam SQL e são usadas quando precisamos recuperar dados de uma ou mais tabelas com base em suas relações lógicas. Desta forma, é possível combinar os registros de tais tabelas de forma a construir um "super-registro", que nos permitirá exibir relatórios mais elaborados. Para o bom entendimento de junções, vamos considerar duas tabelas: filmes e generos. Aqui nós temos uma cardinalidade de 1 x N. Um filme possui um gênero, enquanto um gênero pode abranger vários filmes. Vamos começar criando estas duas tabelas (comece com a tabela generos, já que esta não depende da tabela de filmes): Comando DLL CREATE TABLE para a tabela generos: CREATE TABLE generos( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, nome VARCHAR(45) NOT NULL, PRIMARY KEY(id) ) ENGINE = InnoDB; Veja agora o comando SQL para a criação da tabela de filmes: Comando DLL CREATE TABLE para a tabela filmes:
CREATE TABLE filmes(
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
titulo VARCHAR(45) NOT NULL,
genero INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(id),
CONSTRAINT fk_filmes_generos FOREIGN KEY fk_filmes_generos(id)
REFERENCES generos(id) ON DELETE RESTRICT ON UPDATE RESTRICT
)
ENGINE = InnoDB;
Veja que a tabela filmes contém uma chave estrangeira referenciando a chave primária da tabela generos. Isso nos permite "atrelar" um filme ao seu gênero. Vá em frente e insira alguns dados em ambas as tabelas. Primeiro cadastre alguns gêneros e em seguida alguns filmes. Vejamos agora a importância dos joins. Observe o resultado de um comando DML SELECT na tabela filmes: SELECT * FROM filmes; id titulo genero 1 EFEITO BORBOLETA 6 2 O PENTELHO 1 3 VIAGEM MALDITA 3 Nesta query o gênero é retornado como um valor inteiro, ou seja, o valor do campo id da tabela generos. Em muitos casos este não é o comportamento que queremos. Em vez do id do gênero nós gostaríamos de exibir seu nome. Isso pode ser conseguido da seguinte forma: SELECT filmes.id, filmes.titulo, generos.nome FROM filmes, generos WHERE filmes.genero = generos.id; id titulo genero 1 EFEITO BORBOLETA FICÇÃO 2 O PENTELHO COMÉDIA 3 VIAGEM MALDITA TERROR Nesta query eu usei o nome completo da tabela antes do nome dos campos a serem retornados. Na prática, é comum darmos apelidos às tabelas. Veja: SELECT f.id, f.titulo, g.nome FROM filmes f, generos g WHERE f.genero = g.id; Neste exemplo, não usamos as palavras-chaves INNER JOIN, LEFT JOIN, RIGHT JOIN, etc. A junção está "escondida" na cláusula SELECT. Esta técnica é conhecida como "junção implícita" ou "implicit join". Veja como o mesmo resultado pode ser obtido usando a junção INNER JOIN: SELECT f.id, f.titulo, g.nome FROM filmes f INNER JOIN generos g ON f.genero = g.id; Veja minhas outras dicas sobre junções para aprender mais sobre INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN, FULL JOIN, etc. |
C ::: Dicas & Truques ::: Data e Hora |
Como usar o tipo time_t do header <time.h> da linguagem CQuantidade de visualizações: 5703 vezes |
O tipo time_t, presente no header <time.h> é usado quando precisamos representar datas e horas e, quando necessário, efetuar operações aritméticas envolvendo as mesmas. Este tipo é obtido por meio de uma chamada à função time(). Veja:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[]){
// declara uma variável do tipo time_t e atribui a ela
// o resultado de uma chamada à função time()
time_t hora_atual = time(NULL);
printf("Segundos desde 01/01/1970: %d\n\n", hora_atual);
system("PAUSE");
return 0;
}
Ao executar este trecho de código teremos algo parecido com: Segundos desde 01/01/1970: 1334017044 Como podemos ver, o tipo time_t é apenas um apelido para um long, como declarado no header time.h: typedef long time_t; Desta forma, time_t guarda a quantidade de segundos decorridos desde a meia-noite do dia 01/01/1970 UTC. |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em Java - Java para GeometriaQuantidade de visualizações: 3075 vezes |
|
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência. É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência. Veja a figura a seguir para relembrar o que é o raio de um círculo: ![]() Nesta dica mostrarei como podemos usar Java para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos: \[\text{Diâmetro d} = 2 \times r \] \[\text{Circunferência C} = 2 \times \pi \times r \] \[\text{Área A} = \pi \times r^2 \] Agora vamos ver o código Java que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
Scanner entrada = new Scanner(System.in);
// vamos ler o raio do círculo
System.out.print("Informe o raio do círculo: ");
double raio = Double.parseDouble(entrada.nextLine());
// vamos achar o diâmetro do círculo
double diametro = 2 * raio;
// agora calculamos a circunferência
double circunferencia = 2 * Math.PI * raio;
// finalmente calculamos a área do círculo
double area = Math.PI * Math.pow(raio, 2);
// vamos mostrar os resultados
System.out.println("O diâmetro do círculo é: " +
diametro);
System.out.println("A circunferência do círculo é: " +
circunferencia);
System.out.println("A área do círculo é: " + area);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Informe o raio do círculo: 10 O diâmetro do círculo é: 20.0 A circunferência do círculo é: 62.83185307179586 A área do círculo é: 314.1592653589793 Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc. |
Nossas 20 dicas & truques de programação mais populares |
|
Python - Como obter o resto de uma divisão de inteiros em Python - O operador módulo % da linguagem Python |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C++ - Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPI |
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 |






