![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador abstract em suas classes e métodos Java - Programação Orientada a Objetos em Java - Java POOQuantidade de visualizações: 18365 vezes |
O modificador abstract pode ser aplicado a classes e métodos. Seu uso com variáveis pode causar o erro abaixo:abstract String nome; Estudos.java:2: modifier abstract not allowed here abstract String nome; ^ 1 error Classes abstratas não podem ser instanciadas, ou seja, não podemos chamar seu construtor. Veja um exemplo: public class Estudos{ public static void main(String args[]){ Cliente cliente = new Cliente(); System.exit(0); } } abstract class Cliente{ public Cliente(){ } } Ao tentarmos compilar esta classe teremos o seguinte erro: Estudos.java:3: Cliente is abstract; cannot be instantiated Cliente cliente = new Cliente(); ^ 1 error A função principal de classes abstratas é forçar a implementação para as sub-classes. Desta forma, seus métodos são declarados com o modificador abstract e sem corpo. Veja: abstract class Cliente{ abstract void obterNome(); } Sempre que suas classes contiverem um ou mais métodos abstratos, você deverá declará-la abstrata. Não seguir esta regra provocará o seguinte erro: class Cliente{ abstract void obterNome(); } Estudos.java:9: Cliente is not abstract and does not override abstract method obterNome() in Cliente class Cliente{ ^ 1 error As situações que fazem com que uma classe deva ser declarada abstract são:
Para finalizar, abstract é o oposto de final. Uma classe final não pode ter sub-classes. Uma classe abstract precisa ter sub-classes. |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing - Como centralizar a janela JFrame ao abrir a aplicação Java SwingQuantidade de visualizações: 20762 vezes |
Em várias ocasiões nós gostaríamos de centralizar a janela JFrame, ou seja, a janela principal de nossa aplicação Java Swing ao abrir o programa. Para isso nós podemos usar o método setLocationRelativeTo() e fornecer a ele o valor null. Veja como isso pode ser feito no código abaixo: import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("Uso da classe JFrame"); setSize(350, 250); setVisible(true); // centraliza a janela setLocationRelativeTo(null); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
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: 1161 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. |
PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como usar a função min() do PHP para obter o menor entre dois ou mais valoresQuantidade de visualizações: 7697 vezes |
A função min() do PHP é útil quando precisamos obter o menor entre dois ou mais valores. Veja um exemplo de seu uso:<? // vamos usar a função min() para obter o menor // entre três valores inteiros $menor = min(5, 12, 4); // vamos exibir o resultado echo "O menor valor é: " . $menor; ?> Quando executamos este exemplo temos o seguinte resultado: O menor valor é: 4 Veja que é possível também fornecer uma matriz para a função min(). Neste caso a função retornará o elemento com o menor valor na matriz. Veja: <? // vamos usar a função min() para obter o elemento // com menor valor em uma matriz // vamos criar uma matriz com cinco elementos $valores = array(9, 3, 21, 49, 2); // vamos obter o menor elemento $menor = min($valores); // vamos exibir o resultado echo "O menor valor é: " . $menor; ?> Ao executar este exemplo você terá o seguinte resultado: O menor valor é: 2 |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Regras importantes sobre o uso de modificadores na linguagem JavaQuantidade de visualizações: 7659 vezes |
1) Uma declaração de método ou variável pode conter somente um destes modificadores de acesso: public, protected ou private. Na ausência de um destes, o acesso será de pacote. 2) Classes não podem ser declaradas abstract e final simultâneamente. 3) Métodos abstratos não podem ser declarados private, static, final, native, strictfp ou synchronized. 4) Métodos não podem ser declarados native e strictfp ao mesmo tempo. 5) Métodos abstract e native não possuem corpo. Ex: abstract void inserir(); native void obterDados(); 6) Uma classe que contenha métodos abstratos deve ser declarada como abstrata. 7) Membros final não podem ser volatile. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Ler três números inteiros e indicar se eles estão em ordem crescente ou decrescenteQuantidade de visualizações: 1271 vezes |
Pergunta/Tarefa: Escreva um programa C que pede para o usuário informar três números inteiros e informa se eles estão em ordem crescente ou decrescente. Se os números estiverem em ordem crescente, escreva "Ordem Crescente". Se estiverem em ordem decrescente, escreva "Ordem Decrescente". Do contrário escreva "Sem ordem definida". Sua saída deverá ser parecida com: Primeiro número: 4 Segundo número: 8 Terceiro número: 11 Ordem Crescente Veja a resolução comentada deste exercício em C: #include <stdio.h> #include <stdlib.h> #include <locale.h> // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do exercício int a, b, c; setlocale(LC_ALL,""); // para acentos do português // vamos pedir para o usuário informar três números printf("Primeiro número: "); scanf("%d", &a); printf("Segundo número: "); scanf("%d", &b); printf("Terceiro número: "); scanf("%d", &c); // os números estão em ordem crescente? if (a < b && b < c){ printf("Ordem Crescente"); } // os números estão em ordem decrescente? else if (a > b && b > c){ printf("Ordem Decrescente"); } // sem ordem definida else{ printf("Sem ordem definida"); } printf("\n\n"); system("PAUSE"); return 0; } |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em JavaQuantidade de visualizações: 1777 vezes |
Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em Java Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Java. Esta método, que faz parte da classe Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: package arquivodecodigos; public class Estudos{ public static void main(String args[]){ System.out.println("Cosseno de 0 = " + Math.cos(0)); System.out.println("Cosseno de 1 = " + Math.cos(1)); System.out.println("Cosseno de 2 = " + Math.cos(2)); } } Ao executar este código Java nós teremos o seguinte resultado: Cosseno de 0 = 1.0 Cosseno de 1 = 0.5403023058681398 Cosseno de 2 = -0.4161468365471424 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como adicionar um botão ellipsis (...) nas células de uma determinada coluna do TDBGrid do Delphi e tratar seu evento OnEditButtonClickQuantidade de visualizações: 12283 vezes |
Em algumas situações gostaríamos de exibir um botão do tipo ellipsis (...) nas células de uma determinada coluna do TDBGrid. Este botão é exibido à direita da célula de edição do DBGrid e seu evento OnEditButtonClick pode ser disparado por meio da combinação Ctrl+Enter ou um click do mouse. Um dos usos mais frequentes do botão ellipsis é quando queremos chamar um formulário de pesquisa ou mais detalhes sobre o conteúdo atual da célula que está sendo editada. Siga os passos abaixo para adicionar um botão ellipsis (...) nas células de uma determinada coluna do TDBGrid: a) Selecione a coluna desejada na lista Columns; b) Defina o valor cbsEllipsis para sua propriedade ButtonStyle; c) Escreva um gerenciador de eventos para o evento OnEditButtonClick do DBGrid. Veja no trecho de código a seguir como clicar no botão e exibir o conteúdo da célula (note que coloquei o botão ellipsis em uma coluna cujos células exibiam o valor do campo id de uma tabela livros): procedure TForm3.DBGrid1EditButtonClick(Sender: TObject); begin ShowMessage('O valor da célula que contém o botão é: ' + DBGrid1.SelectedField.AsString); end; Ao executar este código bastará entrar na célula e colocá-la em modo de edição. Automaticamente o botão ellipsis (...) será exibido. Clique no mesmo e verá uma mensagem parecida com: "O valor da célula que contém o botão é: 5." Caso queira que o botão ellipsis seja visível nas células o tempo todo, basta alterar o valor da opção dgAlwaysShowEditor para True. Esta opção é parte da propriedade Options do DBGrid. Esta dica foi escrita e testada no Delphi 2009. |
Fórmulas da Física ::: Mecânica ::: Fórmulas de Cinemática |
Fórmula da Velocidade - Como calcular a velocidade quando temos a distância percorrida e o tempo gastoQuantidade de visualizações: 1332 vezes |
Nesta dica mostrarei a fórmula básica para o cálculo da velocidade dados a distância e o tempo. Esta situação é comum quando, em uma conversa, alguém diz que percorreu uma determinada distância em um determinado tempo e quer saber a velocidade com a qual este percurso foi feito. Note que não estamos falando de velocidade média, que possui uma fórmula bem semelhante, mas adiciona alguns detalhes. Assim, a fórmula simples para o cálculo da velocidade dados a distância e o tempo é: \[v = \frac{d}{t} \] Onde: v é a velocidade em metros por segundo (m/s); d é a distância percorrida em metros (m); t é o tempo em segundos (s); Embora metros e segundos sejam as medidas mais adequadas para a resolução deste tipo de problema (por serem as unidades padrões do SI - Sistema Internacional de Medidas), você pode usar quilômetros em vez de metros, desde que o tempo seja medido em horas, com a velocidade em Km/h (quilômetros por hora). Vamos ver um exemplo? 1) Joana saiu de Goiânia com destino a uma fazenda de amigos, localizada a 180km de distância. Para este percurso ela gastou 3h. Qual foi a velocidade empregada do percurso? Resolução: Vamos começar anotando que a distância está em quilômetros e o tempo em horas. Como as informações são compatíveis, não há a necessidade de se converter para metros e segundos. Dessa forma, só precisamos jogar os valores na fórmula. Veja: \[v = \frac{d}{t} \] \[v = \frac{180}{3} \] \[v = 60 \] Ou seja, a velocidade (que pode ser vista como velocidade média neste problema) é de 60km/h. |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço do...while da linguagem C#Quantidade de visualizações: 11917 vezes |
O laço do...while (faça...enquanto) é usado quando queremos repetir uma instrução ou bloco de instruções ENQUANTO uma condição for satisfatória. A única diferença entre este laço e o laço while, é que, no laço do...while a condição de parada é testada após a iteração, o que garante que o laço do...while será executado no mínimo uma vez. No laço while a condição é testada antes da iteração. Veja um exemplo:static void Main(string[] args){ int valor = 1; do{ Console.WriteLine("{0}", valor); valor++; }while(valor <= 10); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Este trecho de código conta de 1 até 10. Veja que após cada iteração do laço nós testamos se o valor da variável de controle é menor ou igual a 10. A próxima iteração acontece somente se esta condição for satisfeita. Note ainda que dentro de cada iteração nós incrementamos o valor da variável de controle. Isso é feito para que o laço não seja executado infinitamente. Veja um outro exemplo de laço do...while, desta vez simulando um menu de opções: static void Main(string[] args){ // variável que registra a opção do usuário int opcao; // laço do..while que mostra as opções do menu enquanto // o valor -1 não for informado do{ // lê a opção Console.Write("Informe a opção 1, 2 ou 3" + " (-1 para sair): "); opcao = int.Parse(Console.ReadLine()); switch (opcao){ case 1: Console.WriteLine("Executando a opção 1"); break; case 2: Console.WriteLine("Executando a opção 2"); break; case 3: Console.WriteLine("Executando a opção 3"); break; default: Console.WriteLine("Opção incorreta"); break; } }while(opcao != -1); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } O laço do...while não é tão usado quanto o laço while. Use-o naquelas situações em que o laço deverá ser executado no mínimo uma vez. |
Nossas 20 dicas & truques de programação mais populares |
Java - Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para Engenharia |
Você também poderá gostar das dicas e truques de programação abaixo |
QGIS - Como retornar o título do projeto do QGIS usando PyQGIS e a função title() da classe QgsProject C# - Como adicionar ou subtrair meses de uma data em C# usando o método AddMonths() da estrutura DateTime |
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 |