Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
JavaScript ::: Dicas & Truques ::: Algorítmos Úteis |
Como testar se uma palavra (ou frase) é palíndroma em JavaScriptQuantidade de visualizações: 12070 vezes |
|
Palíndromo é uma palavra, frase ou número que permanece igual quando lida de trás para diante. Por extensão, palíndromo é qualquer série de elementos com simetria linear, ou seja, que apresenta a mesma sequência de unidades nos dois sentidos. Uma palavra palíndroma é aquela cuja sequência de letras é simétrica, permitindo uma leitura idêntica da esquerda para a direita ou da direita para a esquerda: ovo, osso, reler, anilina. Veja um código JavaScript que pede para o usuário informar um palavra e, em seguida, informa se a palavra é palíndroma ou não:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
function palin(pal){
var palindroma = true;
pal = pal.toUpperCase();
for(var i = 0; i < (pal.length / 2); i++){
if(pal.charAt(i) != pal.charAt(pal.length - i - 1)){
palindroma = false;
}
}
return palindroma;
}
// testa se uma palavra é palindroma
var palavra = window.prompt("Informe a palavra",
"palavra");
if(palin(palavra)){
alert("Esta palavra é palindroma");
}
else{
alert("Esta palavra NÃO é palindroma");
}
</script>
</body>
</html>
|
C ::: Dicas & Truques ::: Data e Hora |
Como formatar datas e horas em C usando a função strftime() da linguagem CQuantidade de visualizações: 9099 vezes |
A função strftime() pode ser usada quando queremos formatar valores de datas e horas em C. Esta função, presente no header <time.h>, possui a seguinte assinatura:size_t strftime(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr); O parâmetro strDest é um ponteiro para uma matriz de caracteres que receberá uma string contendo a data e/ou hora formatada. O parâmetro maxsize é a quantidade de caracteres que serão copiados para a matriz de caracteres alvo da operação. O parâmetro format contém os especificadores que serão substituídos durante a formatação. Finalmente, timeptr é um ponteiro para uma estrutura tm contendo as informações de data e hora. O retorno da função é a quantidade de caracteres copiados para a matriz strDest. Veja um trecho de código no qual formatamos e exibimos a data atual no formato longo e de acordo com as configurações regionais para o Português Brasileiro:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
int main(int argc, char *argv[]){
// vamos definir a localização para o Português do Brasil
setlocale(LC_ALL, "Portuguese_Brazil");
time_t data_hora_segundos; // guarda os segundos deste 01/01/1970
struct tm *timeinfo; // declara uma estrutura tm
time(&data_hora_segundos); // preenche a variável data_hora_segundos
// preenche a estrutura timeinfo
timeinfo = localtime(&data_hora_segundos);
// um buffer para receber a data formatada
char data_formatada[80];
// vamos formatar
strftime(data_formatada, 80, "%A, %d de %B de %Y", timeinfo);
// vamos exibir o resultado
printf("Resultado da formatação: %s\n\n", data_formatada);
system("PAUSE");
return 0;
}
O resultado da execução deste código será algo como: Resultado da formatação: segunda-feira, 23 de abril de 2011 Veja abaixo os especificadores de formatação usadas pela função strftime(): %a - Nome do dia da semana na forma abreviada. Ex: seg. %A - Nome completo do dia da semana. Ex: terça-feira. %b - Nome do mês abreviado. Ex: abr. %B - Nome completo do dia do mês. Ex: abril %c - Representação de data e hora. Ex: 23/4/2011 23:00:37. %d - Dia do mês (01-31). %H - Hora no formato 24 horas (00-23). %I - Hora no formato 12 horas (01-12). %j - Dia do ano (001-366). %m - Mês como um número decimal (01-12). %M - Minutos (00-59). %p - AM ou PM. %S - Segundos (00-61). %U - Número da semana tendo o primeiro domingo como o primeiro dia da primeira semana do ano (00-53). %w - Dia da semana como um número decimal tendo o domingo como 0 (0-6). %W - Número da semana tendo a primeira segunda-feira como o primeiro dia da primeira semana do ano (00-53). %x - Representação de data. Ex: 23/4/2011. %X - Representação de horas. Ex: 23:00:37. %y - Ano de dois dígitos (00-99). %Y - Ano com quatro dígitos. %Z - Nome ou abreviação do fuso horário. %% - Um sinal de porcentagem. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Usando o laço while para encontrar o MDC (Máximo Divisor Comum) de dois númerosQuantidade de visualizações: 2401 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa o laço while para calcular o MDC (Máximo Divisor Comum) de dois números. Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. Sua saída deve ser parecida com: Informe o primeiro número: 16 Informe o segundo número: 24 O MDC de 16 e 24 é: 8 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 que o usuário informe dois números
System.out.print("Informe o primeiro número: ");
int n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo número: ");
int n2 = Integer.parseInt(entrada.nextLine());
int mdc = 1; // partimos do principio de que 1 é o MDC inicial
int k = 2; // MDC possível
while((k <= n1) && (k <= n2)){ // enquanto k for menor ou igual aos dois números
if((n1 % k == 0) && (n2 % k == 0)){
mdc = k; // já temos um novo MDC
}
k++; // buscamos o novo MDC
}
// mostramos o resultado
System.out.println("O MDC de " + n1 + " e " + n2 + " é: " + mdc);
System.out.println("\n");
}
}
|
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: 18539 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 ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto médio entre dois pontos no plano usando Java - Geometria com JavaQuantidade de visualizações: 3457 vezes |
|
Nesta dica mostrarei como é possível usar um trecho de código Java para obter o ponto médio entre dois pontos quaisquer no plano, ou seja, no R2. Em mais dicas dessa seção você aprenderá como isso pode ser feito no R3 (espaço) Comece analisando a figura abaixo, na qual temos dois pontos A e B, com suas coordenadas correspondentes, e o ponto médio M: ![]() Assim, dados dois pontos A = (2, 9) e B = (10, 2) no plano cartesiano R2, as coordenadas x e y do ponto médio são calculadas por meio da seguinte fórmula: \[x = \frac{x_1 + x_2}{2}\] \[y = \frac{y_1 + y_2}{2}\] Colocando na fórmula os valores que já temos: \[x = \frac{2 + 10}{2} = \frac{12}{2} = 6 \] \[y = \frac{9 + 2}{2} = \frac{11}{2} = 5.5 \] Assim, as coordenadas do ponto médio será (x = 6, y = 5.5). E agora veja o código Java completo para calcular as coordenadas do ponto médio a partir de dois pontos no plano cartesiano (plano 2D ou R2):
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
Scanner entrada = new Scanner(System.in);
// x e y do primeiro ponto
System.out.print("Coordenada x do primeiro ponto: ");
float x1 = Float.parseFloat(entrada.nextLine());
System.out.print("Coordenada y do primeiro ponto: ");
float y1 = Float.parseFloat(entrada.nextLine());
// x e y do segundo ponto
System.out.print("Coordenada x do segundo ponto: ");
float x2 = Float.parseFloat(entrada.nextLine());
System.out.print("Coordenada y do segundo ponto: ");
float y2 = Float.parseFloat(entrada.nextLine());
// vamos calcular as coordenadas x e y do ponto médio
float x = (x1 + x2) / 2;
float y = (y1 + y2) / 2;
// vamos mostrar o resultado
System.out.println("As coordenadas do ponto médio são: (x = " +
x + ", y = " + y + ")");
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 2 Coordenada y do primeiro ponto: 9 Coordenada x do segundo ponto: 10 Coordenada y do segundo ponto: 2 As coordenadas do ponto médio são: (x = 6.0, y = 5.5) |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






