JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Adicionando três elementos ao final de um vetor em JavaScript usando o método push() do objeto Array - Como adicionar elementos ao final de um vetor usando JavaScript - RevisadoQuantidade de visualizações: 7246 vezes |
Neste dica mostrarei como usar o método push() do objeto Array da linguagem JavaScript para adicionar três elementos ao final de um vetor. 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 type="text/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>"); // agora vamos adicionar mais três elementos valores.push(6, 7, 8); 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 Valores no vetor: 1,2,3,4,5,6,7,8 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf()Quantidade de visualizações: 11049 vezes |
Exercício Resolvido de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf() Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para contar de 1 até 20 e exibir estes valores no seguinte formato: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Dica: Use o operador de módulo % para determinar o momento da quebra de linha e o método System.out.printf() para formatar o valor a ser exibido de forma a adicionar a quantidade correta de espaços entre os valores. Resposta/Solução: Eis a solução para este exercício: public static void main(String[] args){ // laço for que conta de 1 até 20 for(int i = 1; i <= 20; i++){ System.out.printf( "%2d ", i); if(i % 5 == 0){ System.out.println(); } } } O mais importante a considerar aqui é o uso do método System.out.printf() na linha: System.out.printf( "%2d ", i); Aqui nós estamos especificando a largura (width) do valor inteiro como dois dígitos. Desta forma, se o valor for menor que 10 (um dígito), um espaço extra será adicionado à esquerda. Se o valor for maior que 9 (dois dígitos) nada acontece. Finalmente, três espaços são adicionados à direita do valor. Veja agora a explicação sobre o uso do operador de módulo % para provocar a quebra de linha após o quinto valor de cada fileira: Aqui nós testamos se o valor atual da variável i é múltiplo de 5 (para ser múltiplo de 5, o resto da divisão inteira de valor por 5 deverá ser 0). Neste exemplo os valores que são múltiplos de 5 são: 5, 10, 15 e 20. Assim. logo após estes valores nós fazemos uma chamada à: System.out.println(); para provocar uma quebra de linha e iniciar uma nova fileira de valores. |
JavaScript ::: ECMAScript 5 - JavaScript 5 - ES5 - ECMAScript 2009 ::: Passos Iniciais |
Como usar a diretiva "use strict" do ECMAScript 5 em seus códigos JavaScriptQuantidade de visualizações: 1122 vezes |
À medida que a linguagem JavaScript foi ganhando popularidade, as pessoas responsáveis por sua manutenção perceberam a necessidade de torná-la um pouco mais restritiva em relação a erros de programação que até então não eram vistos pelos navegadores como erros. Vamos ver um exemplo? Considere o código JavaScript a seguir:<html> <head> <title>Estudos PHP</title> </head> <body> <script type="text/javascript"> total_cliente = 100; document.writeln("Total: " + total_cliente); </script> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: Total: 100 Note que, embora o código tenha funcionado como esperado, nós não usamos a palavra-chave "var" (ou "let" ou "const") na declaração da variável total_cliente. Quando não fazemos isso, o interpretador realiza esta tarefa por conta própria, declarando e colocando a variável como global. Até aqui nenhum problema. A questão surge quando queremos que esta variável seja usada localmente, ou ainda, quando queremos indicar, para quem estiver lendo o nosso código, o ponto exato onde uma determinada variável foi declarada. A partir do ECMAScript 5 (JavaScript 5 - ES5 - ECMAScript 2009) nós podemos usar o modo "use strict" para exibir erros sempre que uma variável não declarada (com "var", "let" ou "const" sofra atribuição ou leitura. Dessa forma nossos códigos serão mais seguros, pois o interpretador não mais colocará variáveis no escopo global sem nosso consentimento explícito. Veja agora o mesmo trecho de código anterior, dessa vez usando "use strict": <html> <head> <title>Estudos PHP</title> </head> <body> <script type="text/javascript"> "use strict" total_cliente = 100; document.writeln("Total: " + total_cliente); </script> </body> </html> Agora o código não mais executa, e temos a seguinte mensagem de erro no console do Google Chrome ou Firefox: Uncaught ReferenceError: total_cliente is not defined at index.html:10 Neste exemplo eu usei "use strict" de forma a refletir em todos os códigos JavaScript a partir daquele ponto. No entanto, é possível colocar essa diretiva em locais expecíficos, tais como dentro do corpo de uma função. |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C# para iniciantes - Como escrever um laço for infinito em C#Quantidade de visualizações: 10246 vezes |
A linguagem C# permite a criação de laços for infinitos. Para isso, só precisamos omitir as partes de inicialização, teste de condição de parada e incremento ou decremento da variável de controle. Veja um exemplo:using System; namespace Estudos{ class Program{ static void Main(string[] args) { for (; ; ) { Console.Write("Digite um número inteiro " + "(-1 para sair): "); int valor = int.Parse(Console.ReadLine()); // testa se o valor lido é -1. Se for pára // o laço if (valor == -1) break; // exibe o valor lido Console.WriteLine("Valor lido: {0}", valor); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executarmos este código nós teremos o seguinte resultado: Digite um número inteiro (-1 para sair): 54 Valor lido: 54 Digite um número inteiro (-1 para sair): 23 Valor lido: 23 Digite um número inteiro (-1 para sair): 90 Valor lido: 90 Digite um número inteiro (-1 para sair): -1 Pressione uma tecla para sair... Veja como usamos a instrução break para sair do laço caso o valor lido seja -1. Observe ainda o uso do método Parse() da classe Int32 para converter a string digitada pelo usuário em um valor do tipo int. |
Python ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Python - Como obter o nome do dia da semana no formato longo (segunda-feira, terça-feira, etc) usando a função strftime() do PythonQuantidade de visualizações: 8919 vezes |
Nesta dica eu mostro como podemos usar a função strftime() da linguagem Python para obter e exibir o nome do dia da semana no formato longo e em português, ou seja, segunda-feira, terça-feira, quarta-feira, etc. Veja o código completo para o exemplo: from datetime import datetime import locale # função principal do programa def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, '') # Obtém um datatime da data e hora atual hoje = datetime.today() # Exibe o nome do dia da semana no formato # longo print("O dia da semana é:", hoje.strftime("%A")) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: O dia da semana é: quinta-feira |
Java ::: Pacote java.lang ::: Integer |
Java para iniciantes - Como usar o método parseInt() da classe Integer para converter uma String em um valor do tipo intQuantidade de visualizações: 95677 vezes |
Em algumas situações, principalmente quando estamos lidando com valores informados pelo usuário, nós precisamos converter uma String em um valor inteiro. Para isso podemos usar o método parseInt() da classe Integer. Veja sua assinatura: public static int parseInt(String s) throws NumberFormatException A String fornecida como argumento deve conter apenas digitos decimais, exceto que o primeiro caractere pode ser o caractere ASCII sinal de menos "-" ('\u002D') para indicar um valor negativo ou o caractere ASCII sinal de mais "+" ('\u002B') para indicar um valor positivo. Veja um exemplo no qual usamos o método parseInt() para converter uma String informada pelo usuário em um valor do tipo int: import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos usar um objeto da classe Scanner para ler a idade do usuário Scanner entrada = new Scanner(System.in); // solicita a idade System.out.print("Informe sua idade: "); int idade = Integer.parseInt(entrada.nextLine()); // mostra o valor lido System.out.println("A idade informada foi: " + idade); } } Ao executarmos este código teremos o seguinte resultado: Informe sua idade: 28 A idade informada foi: 28 Há, porém, situações nas quais o usuário pode não seguir as recomendações de não inserir caracteres inválidos, o que inviabiliza a conversão para inteiro. Veja: Informe sua idade: osmar Exception in thread "main" java.lang.NumberFormatException: For input string: "osmar" at java.lang.NumberFormatException.forInputString(NumberFormatException. java:48) at java.lang.Integer.parseInt(Integer.java:447) at java.lang.Integer.parseInt(Integer.java:497) at Estudos.main(Estudos.java:10) Para contornar esta situação nós precisamos fornecer um bloco try...catch para tratar a exceção NumberFormatException. Veja: import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos usar um objeto da classe Scanner para ler a idade do usuário Scanner entrada = new Scanner(System.in); // solicita a idade System.out.print("Informe sua idade: "); try{ int idade = Integer.parseInt(entrada.nextLine()); // mostra o valor lido System.out.println("A idade informada foi: " + idade); } catch(NumberFormatException nfe){ System.out.println("Valor inválido: " + nfe.getMessage()); } } } Agora o programa exibirá uma mensagem de erro caso o usuário forneça uma String que não pode ser convertida para inteiro. |
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 um vetor e exibir a soma de seus valoresQuantidade de visualizações: 14458 vezes |
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores Pergunta/Tarefa: Considere o seguinte vetor de inteiros: // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; A soma dos valores do vetor é: 32 Veja abaixo a resolução completa para esta tarefa: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; // o primeiro passo é criar uma variável que vai receber a soma // dos valores dos elementos int soma = 0; int i; // agora vamos usar uma laço for para percorrer todos os elementos // do vetor, obter o valor do elemento atual e adicionar ao valor atual // da variável soma for(i = 0; i < 7; i++){ soma = soma + valores[i]; // poderia também ser escrito assim: // soma += valores[i]; } // vamos exibir a soma dos valores do vetor printf("A soma dos valores do vetor é: %d\n", soma); system("PAUSE"); return 0; } |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do JavaQuantidade de visualizações: 16980 vezes |
A exceção ClassCastException é um erro de tempo de execução que ocorre quando tentamos fazer um cast (coerção - conversão explícita) de uma classe para outra classe diferente desta ou que não seja uma superclasse desta. Em outras palavras, casts válidos para classes e interfaces devem seguir as regras abaixo: 1) Se NovoTipo é uma classe, a classe da expressão sendo convertida deve ser do tipo NovoTipo ou herdar de NovoTipo. 2) Se NovoTipo é uma interface, a classe da expressão sendo convertida deve implementar NovoTipo. Considere o código a seguir: public class Estudos{ public static void main(String args[]){ Object x = new Integer(0); System.out.println((String)x); } } Este código compila normalmente. Porém, ao ser executado, a seguinte mensagem de erro é exibida: Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at Estudos.main(Estudos.java:4) Esta mensagem nos informa que a classe Integer não pode sofrer um cast para String, uma vez que Integer não é e nem herda de String. Veja agora a nova versão: public class Estudos{ public static void main(String args[]){ Object x = new Integer(0); System.out.println((Integer)x); } } Veja que agora nós estamos fazendo o cast de uma referência Object para Integer. Embora Object não seja e nem herde de Integer, o sistema de tempo de execução sabe que x guarda atualmente uma referência a um Integer: Object x = new Integer(0); |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como comparar strings em C++ usando o método compare() da classe StringQuantidade de visualizações: 22886 vezes |
Nesta dica mostrarei como podemos usar a função compare() da classe String da linguagem C++ para comparar duas palavras, frases ou textos. Se as duas strings forem iguais, o valor 0 é retornado. Um valor diferente de 0 indica que as duas strings não são iguais. Lembre-se de que esta função distingue entre maiúsculas e minúsculas. Veja como esta função pode ser usada: int compare(const string& str) const; int compare(const char* s) const; Podemos chamar esta função de duas formas: a) Fornecendo uma variável como parâmetro; b) Fornecendo uma string entre aspas. Veja agora um exemplo C++ completo demonstrando o seu uso: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ string str1("Java"); string str2("JAVA"); if(str1.compare(str2) == 0){ cout << str1 << " é igual a " << str2 << "\n"; } else{ cout << str1 << " é diferente de " << str2 << "\n"; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Java é diferente de JAVA |
HTML5 ::: HTML5 + JavaScript ::: Canvas |
Como carregar uma imagem (ou foto) no objeto Canvas do HTML5Quantidade de visualizações: 2449 vezes |
O objeto Canvas do HTML5 nos permite carregar uma imagem ou foto em tempo de execução e desenhá-la em sua superfície. Para isso, comece criando um objeto Image para guardar a imagem temporariamente na memória:var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; O passo seguinte é adicionar um "ouvidor" de evento neste objeto Image para que ele nos avise quando a imagem estiver 100% carregada. Veja: // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); Pronto! Veja que agora, quando o evento load do objeto Image disparar, a função desenharImagem será chamada e a imagem será então desenhada no Canvas. Veja: function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } E aqui está o código completo para o exemplo: <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } </script> </body> </html> Ao executar a página nós teremos o seguinte resultado: ![]() |
Nossas 20 dicas & truques de programação mais populares |
Ruby - Como inserir uma substring em uma determinada posição de uma string em Ruby usando a função insert() GNU Octave - Como calcular o comprimento da hipotenusa em GNU Octave dadas as medidas do cateto oposto e do cateto adjascente |
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 |
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 |