![]() |
|||||
|
JavaScript ::: Dicas & Truques ::: Cookies |
Cookies em JavaScript - Como obter o valor de um cookie usando JavaScriptQuantidade de visualizações: 161 vezes |
Nesta dica eu mostro como podemos escrever uma função JavaScript chamada obterCookie() que recebe o nome de um cookie e retorna o seu valor. Veja que, se o cookie com o nome informado não existir, o valor null é retornado. Veja o código JavaScript completo, incluindo o código HTML: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> // função que permite obter um cookie function obterCookie(nome){ if(document.cookie.length > 0){ c_start = document.cookie.indexOf(nome + "="); if(c_start != -1){ c_start = c_start + nome.length + 1; c_end = document.cookie.indexOf(";", c_start); if(c_end == -1){ c_end = document.cookie.length; } return unescape(document.cookie.substring( c_start, c_end)); } } return null; } </script> </head> <body> <script type="text/javascript"> // verifica se o cookie "nome_visitante" existe // e obtém seu valor var nome_visitante = obterCookie('nome_visitante'); if(nome_visitante != null){ document.writeln("O cookie nome_visitante existe. " + "Seu valor é: " + nome_visitante); } else{ document.writeln("O cookie nome_visitante não existe"); } </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: O cookie nome_visitante existe. Seu valor é: Osmar |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Escreva um programa Java para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 690 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros int valores[] = {0, 3, 0, 5, 7, 4, 0, 9}; Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Java: package exercicio; public class Exercicio { public static void main(String[] args) { // vamos declarar e construir um vetor de 8 inteiros int valores[] = {0, 3, 0, 5, 7, 4, 0, 9}; // vamos mostrar o vetor na ordem original System.out.println("Vetor na ordem original:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } // vamos inicializar j como 0 para que ele aponte para // o primeiro elemento do vetor int j = 0; // agora o laço for percorre todos os elementos do vetor, // incrementanto a variável i e deixando o j em 0 for(int i = 0; i < valores.length; i++){ // encontramos um valor que não é 0 if(valores[i] != 0){ // fazemos a troca entre os elementos nos índices // i e j int temp = valores[i]; valores[i] = valores[j]; valores[j] = temp; // e avançamos o j para o elemento seguinte j++; } } // agora mostramos o resultado System.out.println("\n\nVetor com os zeros deslocados para o final:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } System.out.println(); } } Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
C++ ::: Win32 API (Windows API) ::: Passos Iniciais |
Como usar a função WinMain das aplicações C++ GUI usando a Windows APIQuantidade de visualizações: 9836 vezes |
Cada programa de interface gráfica escrito em C++ e usando a Windows API possui como ponto de entrada de execução, a função WinMain(). Esta função é a equivalente do main() em aplicações console. Veja sua assinatura:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) É possível usar esta função sem a macro WINAPI, ou seja: int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) O primeiro passo a observar é que esta função deve retornar um valor inteiro quando finalizar. Isso serve para informar ao sistema operacional se algum erro ocorreu durante a tentativa de sua execução. Vejamos agora uma explicação detalhada de seus parâmetros: HINSTANCE hInstance - É um handle para o módulo executável do programa (o arquivo .exe na memória). HINSTANCE hPrevInstance - Sempre NULL para programas Win32. LPSTR lpCmdLine - Os argumentos da linha de comando como uma única string. Não inclui o nome do programa. int nCmdShow - Um valor inteiro que pode ser passado para a função ShowWindow(). hInstance é usado para tarefas tais como carregar recursos ou outras que são realizadas em um módulo. Um módulo é um EXE ou DLL carregada em seu programa. hPrevInstance era usado como um handle para uma instância executada anteriormente no Win16. Este cenário não mais ocorre. Em Win32 podemos ignorar por completo este parâmetro. |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como trabalhar com strings em RubyQuantidade de visualizações: 8350 vezes |
Strings em Ruby são usadas para representar palavras, frases e textos e são bem parecidas com strings em outras linguagens dinâmicas, tais como Perl, Python e PHP. Além disso, strings em Ruby são dinâmicas, mutáveis e flexíveis. Podemos declarar e definir uma variável do tipo string em Ruby da seguinte forma: nome = "Osmar J. Silva" puts nome Em ruby, strings são objetos da classe String. Isso quer dizer que podemos efetuar chamadas à uma grande variedade de métodos desta classe a partir de qualquer variável do tipo string. Veja um exemplo: nome = "Osmar" puts nome.length Este exemplo exibirá a quantidade de caracteres contidos na string nome. Strings em Ruby podem estar contidas em aspas duplas ou aspas simples: nome = "Osmar J Silva" puts(nome) nome = 'Osmar J Silva' puts(nome) A diferença é que, quando usamos aspas duplas, podemos codificar dados binários dentro da string, assim como usar "\n" para provocar quebras de linha. Quando usamos aspas simples, podemos usar apenas "\'" para exibir uma aspa simples e "\\" para exibir uma barra invertida. |
Delphi ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Tutorial Delphi para iniciantes: Como usar o laço while do DelphiQuantidade de visualizações: 26343 vezes |
O laço while do Delphi é usado quando queremos que um bloco de instruções seja executado enquanto uma condição for satisfeita. Assim, todas as iterações do laço serão resultados de um teste condicional. Veja um exemplo:procedure TForm1.Button3Click(Sender: TObject); var i: Integer; // variável de controle begin // este laço contará de 0 até 10 i := 0; while i <= 10 do begin ShowMessage(IntToStr(i)); // a mensagem será exibida 10 vezes Inc(i); // vamos incrementar a variável de controle end; end; Aqui nós temos uma variável i que tem seu valor inicial definido como 0. Ao entrarmos no laço while nós verificamos se o valor desta variável é menor ou igual a 10. Se este teste for verdadeiro o laço é executado pela primeira vez. Dentro do laço nós aumentamos o valor da variável de controle em 1. Isso é feito de forma a evitar um laço infinito. O laço então prossegue para a próxima iteração, que ocorre somente após a verificação do resultado do teste condicional. Isso nos mostra que um laço while pode nunca ser executado (casos nos quais o teste de continuidade do laço falha já na primeira iteração). Veja agora um exemplo no qual usamos um laço while para contar de 10 até 0: procedure TForm1.Button3Click(Sender: TObject); var i: Integer; // variável de controle begin // este laço contará de 10 até 0 i := 10; while i >= 0 do begin ShowMessage(IntToStr(i)); // a mensagem será exibida 10 vezes Dec(i); // vamos decrementar a variável de controle end; end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
HTML5 ::: Canvas Element ::: Linhas |
Computação gráfica usando HTML 5 - Como usar o método lineTo() do objeto Canvas do HTML5 para desenhar retasQuantidade de visualizações: 2931 vezes |
O método lineTo() do objeto Canvas do HTML5 nos permite desenhar linhas retas entre um ponto x e um ponto y. Para isso, usamos o método moveTo() para mover a caneta (ou pena) de desenho para um coordenada x, y e a partir deste ponto nós especificamos as coordenadas x, y para a outra extremidade da linha. O trecho de código a seguir desenha uma linha saindo das coordenadas x = 20, y = 20 e chegando até x = 300, y = 150. Veja: contexto.moveTo(20, 20); // move a caneta para x, y contexto.lineTo(300, 150); // coordenadas x, y E aqui estão os códigos HTML e JavaScript para o exemplo completo: <!doctype html> <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); contexto.beginPath(); // inicia ou reseta o caminho anterior contexto.moveTo(20, 20); // move a caneta para x, y contexto.lineTo(300, 150); // coordenadas x, y contexto.stroke(); // finaliza o desenho </script> </body> </html> Ao abrir esta página HTML nós teremos o seguinte resultado: ![]() |
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Como retornar o nome de uma classe Java usando os métodos getClass() e getName()Quantidade de visualizações: 13589 vezes |
Entre os métodos que uma classe herda da classe Object, está o método getClass(). Este método retorna um objeto da classe Class e podemos tirar proveito disso para fazer em encadeamento e chamar também o método getName() para obter o nome de uma determinada classe. Veja o exemplo no qual obtemos uma String contendo o nome de uma classe (juntamente com o nome do pacote ao qual ela pertence): import javax.swing.*; public class Estudos{ public static void main(String args[]){ JButton btn = new JButton(); String nomeClasse = btn.getClass().getName(); System.out.println(nomeClasse); // exibirá: "javax.swing.JButton" System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: javax.swing.JButton |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como remover o primeiro elemento de um array em JavaScript - Como usar a função shift() do objeto Array do JavaScriptQuantidade de visualizações: 8759 vezes |
Neste dica mostrarei como usar o método shift() do objeto Array da linguagem JavaScript para remover e retornar o primeiro elemento de um vetor. A ação de remover o primeiro elemento, ou seja, o elemento do topo do vetor é muito usada na construção da estrutura de dados pilha. Veja o código completo, incluindo a página HTML que permite executar o exemplo: <html> <head> <meta charset="utf-8"> <title>Estudos JavaScript</title> </head> <body> <script language="javascript"> // vamos declarar e instanciar um vetor com 5 elementos var valores = new Array(1, 2, 3, 4, 5); document.write("Valores no vetor: " + valores + "<br>"); // vamos remover o primeiro elemento var primeiro = valores.shift(); document.write("Removendo o primeiro elemento: " + primeiro + "<br>"); document.write("Valores no vetor: " + valores); </script> </body> </html> Ao abrir esta página HTML nós teremos o seguinte resultado: Valores no vetor: 1,2,3,4,5 Removendo o primeiro elemento: 1 Valores no vetor: 2,3,4,5 |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em Java dados dois pontos pertencentes à retaQuantidade de visualizações: 1391 vezes |
Nesta dica de Java veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito. Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem. Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta: ![]() Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código Java completo para esta tarefa: package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ // vamos usar a classe Scanner para ler os dados Scanner entrada = new Scanner(System.in); // vamos ler as coordenadas do primeiro ponto System.out.print("Coordenada x do primeiro ponto: "); double x1 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do primeiro ponto: "); double y1 = Double.parseDouble(entrada.nextLine()); // vamos ler as coordenadas do segundo ponto System.out.print("Coordenada x do segundo ponto: "); double x2 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do segundo ponto: "); double y2 = Double.parseDouble(entrada.nextLine()); String sinal = "+"; // vamos calcular o coeficiente angular da reta double m = (y2 - y1) / (x2 - x1); // vamos calcular o coeficiente linear double n = y1 - (m * x1); // coeficiente linear menor que zero? O sinal será negativo if (n < 0){ sinal = "-"; n = n * -1; } // mostra a equação reduzida da reta System.out.println("Equação reduzida: y = " + m + "x" + " " + sinal + " " + n); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 5 Coordenada y do primeiro ponto: 5 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 2 Equação reduzida: y = -0,75x + 8,75 Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo: >> y = (-0.75 * 3) + 8.75 y = 6.5000 temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem. |
Python ::: 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 Python - Python para GeometriaQuantidade de visualizações: 5091 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 Python 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 Python que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área: import math as math def main(): # vamos ler o raio do círculo raio = float(input("Informe o raio do círculo: ")) # vamos achar o diâmetro do círculo diametro = 2 * raio # agora calculamos a circunferência circunferencia = 2 * math.pi * raio # finalmente calculamos a área do círculo area = math.pi * math.pow(raio, 2) # vamos mostrar os resultados print("O diâmetro do círculo é:", diametro) print("A circunferência do círculo é:", circunferencia) print("A área do círculo é:", area) if __name__== "__main__": main() Ao executar este código Python 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 |
Java - Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando Java |
Você também poderá gostar das dicas e truques de programação abaixo |
Python - Como usar a biblioteca Pandas do Python em seus projetos de Data Science e Machine Learning Java - Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em Java AutoCAD .NET API C# - Como selecionar uma linha no AutoCAD e mostrar a equação da reta correspondente usando AutoCAD .NET C# API |
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 |