Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
Como obter o diretório atual usando a função GetCurrentDirectory() da API do Windows - C++ e WinAPIQuantidade de visualizações: 9898 vezes |
|
Nesta dica mostrarei como chamar, a partir de um programa C++, a função GetCurrentDirectory() da API do Windows com o propósito de obter o diretório atual, ou seja, o diretório de trabalho da nossa aplicação. Esta função é declarada no header winbase.h (que vem junto quando fazemos include do header windows.h). Veja o exemplo completo:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
// buffer que receberá o nome do diretório
TCHAR szDirAtual[MAX_PATH];
// chama a função GetCurrentDirectory
GetCurrentDirectory(MAX_PATH, szDirAtual);
// Exibe o resultado
cout << "O diretório atual é " << szDirAtual << "\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}
Ao executar este código nós teremos o seguinte resultado: O diretório atual é C:\estudos_c++ |
JavaScript ::: Dicas & Truques ::: Miscelâneas |
Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou imparQuantidade de visualizações: 7710 vezes |
|
Nesta dica mostrarei como é possível adicionar uma função isPar() ao objeto Number da linguagem JavaScript por meio do objeto prototype. Nossa função aceitará um valor numérico e retornará true se o valor for par, e false em caso contrário. Veja o código completo para o exemplo:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos adicionar uma nova função ao objeto Number
Number.prototype.isPar = function(){
// retorna true se o número for par
return (this % 2 == 0);
}
// agora vamos testar a nova função isPar()
var numero = 13; // declara um valor numérico
// vamos verificar se o número é par ou ímpar
if(numero.isPar()){
document.write("O número informado é par.");
}
else{
document.write("O número informado NÃO é par.");
}
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O número informado NÃO é par. |
PHP ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Apostila PHP para iniciantes - Como usar constantes na linguagem PHPQuantidade de visualizações: 12212 vezes |
|
Como acontece na maioria das linguagens de programação, o PHP também permite o uso de constantes. Como o próprio nome diz, constantes são inicializadas uma vez e não podem ter seus valores alterados durante a execução do programa. A definição de constantes em PHP segue as mesmas regras de nomeação de variáveis, com a exceção de que constantes não possuem o símbolo $ e são geralmente escritas em letras maiúsculas. Diferente de variáveis, constantes, uma vez definidas, são acessadas globalmente. Não há a necessidade de redeclará-las em cada nova função ou arquivo. A síntaxe de definição de uma constante é: define("CONSTANT_NAME", value [, case_sensitivity]) onde: a) CONSTANT_NAME é o nome da constante; b) value é o valor atribuído à constante. Não é possível atribuir arrays nem objetos à constantes; c) case_sensitivity permite definir se o nome da constante será tratado igualmente se referenciado usando letras maiúsculas ou minúsculas. O valor padrão é true, o que quer dizer que "VALOR" e "Valor" serão tratados como uma única constante. REVISÃO: Revisando este código no PHP 8 eu percebi que o terceiro argumento (case_sensitivity) não é mais suportado, e gera um aviso do tipo: Warning: define(): Argument #3 ($case_insensitive) is ignored since declaration of case-insensitive constants is no longer supported in... Veja um exemplo de declaração e uso de constantes em PHP:
<?
// declara uma constante com o nome MODO e valor 2
define("MODO", 2);
echo "O valor definido é: " . MODO;
?>
Veja agora o que acontece quando tentamos modificar o valor de uma variável do tipo constante:
<?
// declara uma constante com o nome MODO e valor 2
define("MODO", 2);
// vamos tentar alterar o valor da constante
MODO = 10;
?>
Este código gera a seguinte mensagem de erro: Parse error: syntax error, unexpected token "=" in... |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Estruturas de dados em Java - Como pesquisar um nó em uma árvore binária de busca usando um método recursivo usando JavaQuantidade de visualizações: 2729 vezes |
|
Nesta dica mostraremos um exemplo completo de como pesquisar um valor em uma árvore binária de busca em Java. Note que o exemplo usa apenas inteiros, mas você não terá dificuldades para modificar a classe Nó para os dados que você precisar. Código para No.java:
package arvore_binaria;
public class No {
private int valor; // valor armazenado no nó
private No esquerdo; // filho esquerdo
private No direito; // filho direito
// construtor do nó
public No(int valor){
this.valor = valor;
this.esquerdo = null;
this.direito = null;
}
public int getValor() {
return valor;
}
public void setValor(int valor) {
this.valor = valor;
}
public No getEsquerdo() {
return esquerdo;
}
public void setEsquerdo(No esquerdo) {
this.esquerdo = esquerdo;
}
public No getDireito() {
return direito;
}
public void setDireito(No direito) {
this.direito = direito;
}
}
Código para ArvoreBinariaBusca.java:
package arvore_binaria;
public class ArvoreBinariaBusca {
private No raiz; // referência para a raiz da árvore
// método usado para inserir um novo nó na árvore
// retorna true se o nó for inserido com sucesso e false
// se o elemento
// não puder ser inserido (no caso de já existir um
// elemento igual)
public boolean inserir(int valor){
// a árvore ainda está vazia?
if(raiz == null){
// vamos criar o primeiro nó e definí-lo como a raiz da árvore
raiz = new No(valor); // cria um novo nó
}
else{
// localiza o nó pai do novo nó
No pai = null;
No noAtual = raiz; // começa a busca pela raiz
// enquanto o nó atual for diferente de null
while(noAtual != null){
// o valor sendo inserido é menor que o nó atual?
if(valor < noAtual.getValor()) {
pai = noAtual;
// vamos inserir do lado esquerdo
noAtual = noAtual.getEsquerdo();
}
// o valor sendo inserido é maior que o nó atual
else if(valor > noAtual.getValor()){
pai = noAtual;
// vamos inserir do lado direito
noAtual = noAtual.getDireito();
}
else{
return false; // um nó com este valor foi encontrado
}
}
// cria o novo nó e o adiciona como filho do nó pai
if(valor < pai.getValor()){
pai.setEsquerdo(new No(valor));
}
else{
pai.setDireito(new No(valor));
}
}
return true; // retorna true para indicar que o novo nó foi inserido
}
// método que permite pesquisar na árvore binária de busca
public No pesquisar(int valor){
return pesquisar(raiz, valor); // chama a versão recursiva do método
}
// sobrecarga do método pesquisar que recebe dois
// parâmetros (esta é a versão recursiva do método)
private No pesquisar(No noAtual, int valor){
// o valor pesquisado não foi encontrado....vamos retornar null
if(noAtual == null){
return null;
}
// o valor pesquisado foi encontrado?
if(valor == noAtual.getValor()){
return noAtual; // retorna o nó atual
}
// ainda não encontramos...vamos disparar uma nova
// chamada para a sub-árvore da esquerda
else if(valor < noAtual.getValor()){
return pesquisar(noAtual.getEsquerdo(), valor);
}
// ainda não encontramos...vamos disparar uma nova
// chamada para a sub-árvore da direita
else{
return pesquisar(noAtual.getDireito(), valor);
}
}
}
E finalmente o código para a classe principal:
package arvore_binaria;
import java.util.Scanner;
public class ArvoreBinariaTeste {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos criar um novo objeto da classe ArvoreBinariaBusca
ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
// vamos inserir 5 valores na árvore
for(int i = 0; i < 5; i++){
System.out.print("Informe um valor inteiro: ");
int valor = Integer.parseInt(entrada.nextLine());
// vamos inserir o nó e verificar o sucesso da operação
if(!arvore.inserir(valor)){
System.out.println("Não foi possível inserir." +
" Um elemento já contém este valor.");
}
}
// vamos pesquisar um valor na árvore
System.out.print("\nInforme o valor a ser pesquisado: ");
int valorPesquisa = Integer.parseInt(entrada.nextLine());
// obtém um objeto da classe NoArvore a partir do
// método pesquisar() da classe ArvoreBinariaBusca
No res = arvore.pesquisar(valorPesquisa);
// o valor foi encontrado?
if(res != null){
System.out.println("O valor foi encontrado na árvore");
}
else{
System.out.println("O valor não foi encontrado na árvore");
}
System.out.println("\n");
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Ler um número inteiro, separar seus dígitos e imprimí-los individualmente separados por espaçosQuantidade de visualizações: 19809 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console ou GUI que leia um inteiro de três dígitos, separe o valor em seus dígitos correspondentes e imprima-os individualmente separados por espaço. Por exemplo, se o usuário informar o valor 398, seu programa deverá exibir 3 9 8. Veja a saída que deverá ser gerada (use apenas os operadores aritméticos para a realização desta tarefa): Informe um valor inteiro de três dígitos: 398 Os dígitos separados são: 3 9 8 Veja a resolução comentada deste exercício usando Java console:
public static void main(String[] args){
// não se esqueça de adicionar um import para a classe Scanner
// import java.util.Scanner;
// vamos criar um objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos solicitar ao usuário que informe um valor inteiro
// na faixa 100 a 999 (incluindo)
System.out.print("Informe um valor inteiro de três dígitos: ");
// vamos ler o valor informado
int valor = Integer.parseInt(entrada.next());
// vamos verificar se o valor está na faixa permitida
if(valor < 100 || valor > 999){
System.out.println("Valor fora da faixa permitida");
System.exit(0);
}
// vamos extrair os dígitos indidualmente, da esquerda para a direita
// vamos obter o primeiro dígito
int primeiro = valor / 100;
valor = valor % 100;
// vamos obter o segundo dígito
int segundo = valor / 10;
valor = valor % 10;
// vamos obter o terceiro valor
int terceiro = valor;
System.out.println("Os dígitos separados são: " + primeiro + " " +
segundo + " " + terceiro);
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
LISP - Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para Engenharia |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





