![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto ArrayQuantidade de visualizações: 5406 vezes |
|
Em várias ocasições temos códigos JavaScript envolvendo arrays (vetores, matrizes) e gostaríamos de eliminar os valores duplicados, ou seja, retornar um novo vetor sem elementos repetidos. Para isso podemos usar os métodos filter() e indexOf(). Como pode ser visto em dicas nesta mesma seção, o método filter() é usado para retornar apenas os elementos do vetor que se encaixem em uma determinada condição. O método indexOf(), por sua vez, retorna o índice da primeira ocorrência do elemento no vetor. Assim, a combinação desses dois métodos é perfeita para esta situação, ainda que você consiga fazer de outras formas. Veja o trecho de código a seguir:
<script type="text/javascript">
function removerDuplicados(valor, indice, vetor){
// o índice desse elemento é o primeiro encontrado
// no vetor?
if(indice == vetor.indexOf(valor)){
return true;
}
return false;
}
var valores = new Array(6, 6, 1, 7, 3, 7, 1, 7, 4, 3, 5);
// vamos obter um vetor sem repetições
var novoVetor = valores.filter(removerDuplicados);
// vamos mostrar o resultado
window.alert(novoVetor);
</script>
Execute este código e veja que apenas os valores únicos serão retornados. Note agora como o mesmo código pode ser escrito de forma mais reduzida:
<script type="text/javascript">
var valores = new Array(8, 8, 1, 7, 3, 7, 1, 7, 8, 3, 5);
// vamos obter um vetor sem repetições
var novoVetor = valores.filter(function(val, ind, vet){
return vet.indexOf(val) == ind;
});
// vamos mostrar o resultado
window.alert(novoVetor);
</script>
|
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como obter o fuso horário em segundosQuantidade de visualizações: 1 vezes |
|
Nesta dica veremos como usar date("Z") para retornar o fuso horário da nossa localidade em PHP. Lembre-se de que a função date() com o parâmetro "Z" retorna o fuso horário em segundos. Este valor reflete a diferença em segundos que estamos do Tempo Universal Coordenado (Coordinated Universal Time - UTC), também conhecido como tempo civil, e é o fuso horário de referência a partir do qual se calculam todas as outras zonas horárias do mundo. Veja o código PHP completo para o exemplo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
$fuso_segundos = date("Z");
$horas = ($fuso_segundos / 60) / 60;
echo "O fuso horário em segundos é " .
$fuso_segundos . " (" . $horas . " horas)";
?>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: O fuso horário em segundos é 7200 (2 horas) |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como criar e usar variáveis estáticas em PHPQuantidade de visualizações: 10584 vezes |
|
Como já vimos em outras dicas desta seção, uma classe possui propriedades (variáveis) e métodos. Dessa forma, cada instância (cópia ou objeto) desta classe possui suas próprias cópias das variáveis declaradas na classe. Veja a seguinte declaração de uma classe Produto:
<?
// classe Produto com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Produto{
private $nome;
private $preco;
public function setNome($nome){
$this->nome = $nome;
}
public function getNome(){
return $this->nome;
}
public function setPreco($preco){
$this->preco = $preco;
}
public function getPreco(){
return $this->preco;
}
}
?>
Aqui cada instância da classe Produto terá suas próprias variáveis $nome e $preco. Há, porém, situações nas quais gostaríamos que uma determinada variável pertencesse à classe e não à cada instância individual. Um bom exemplo disso seria uma variável que registra a quantidade de instâncias que temos de uma classe ou a técnica de se atribuir um identificador único a cada instância da classe. Variáveis estáticas em PHP podem ser criadas por meio do uso da palavra-chave static. É comum tais variáveis serem declaradas com o modificador public, o que as torna acessíveis fora da classe na qual estas estão declaradas. Veja um exemplo:
<?
// classe Produto com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Produto{
private $nome;
private $preco;
// uma variável estática que permite contar as instâncias
// desta classe
public static $contador = 0;
// construtor da classe Produto
function __construct(){
// vamos incrementar o contador aqui
self::$contador++;
}
}
// vamos criar duas instâncias da classe Produto
$p1 = new Produto();
$p2 = new Produto();
// vamos obter o valor do contador de instâncias
echo "Até este momento já criamos " . Produto::$contador .
" instâncias da classe Produto";
?>
Este código possui alguns pontos interessantes e merece uma análise bem detalhada. Perceba que, dentro da classe, uma variável estática é acessada usando-se self e não $this, como fazemos com as variáveis de instâncias. Outra observação interessante é em relação ao acesso da variável estática fora da classe. Aqui nós usamos o nome da classe seguida por um par de dois pontos "::" e não por meio de referências às suas instâncias individuais. Finalmente observe o construtor da classe. A cada instância construída nós acessamos a variável estática e incrementamos seu valor em 1. É importante observar que variáveis estáticas não podem ser acessadas por meio de referências às instâncias da classe usando o operador "->". Assim, o trecho de código abaixo: // vamos tentar alterar o valor da variável estática por meio // de uma referência a uma das instâncias da classe Produto $p1->contador = 5; não provoca erros mas, também não traz o resultado esperado. |
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de dados em Java - Como criar uma lista singularmente ligada, inserindo e exibindo os valores contidos em cada nóQuantidade de visualizações: 12491 vezes |
|
Em dicas posteriores você aprendeu sobre listas singularmente e duplamente ligadas. Nesta dica você aprenderá a criar uma lista singularmente ligada (com referências apenas para o próximo nó), inserir alguns nós (sempre no final da lista) e usará um laço while para visitar todos os nós e exibir seus valores. A classe usada para representar cada nó é a seguinte (No.java):
// classe No
public class No{
public int valor;
public No proximo;
}
// fim da classe No
Note que cada nó contém apenas um valor inteiro e uma referência para o próximo nó. Ao analisar o código você perceberá que tanto a inserção quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Veja o código para a lista ligada (Lista.java):
public class Lista{
No inicio; // início da lista
// função que permite exibir os valores de
// todos os nós da lista
public void exibir(){
if(inicio != null){
do{
System.out.println(inicio.valor);
inicio = inicio.proximo;
}while(inicio != null);
}
else
System.out.println("A lista esta vazia\n\n");
}
// função que permite inserir nós na lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó
public void inserir(int v){
No temp;
// verifica se a lista está vazia
if(inicio == null){
// reserva memória para o novo nó
inicio = new No();
inicio.valor = v;
// é o primeiro nó...não deve apontar para
// lugar nenhum
inicio.proximo = null;
}
else{ // não está vazia....vamos inserir o nó no final
temp = inicio;
// vamos varrer a lista até encontrar o último nó
while(temp.proximo != null)
temp = temp.proximo;
// estamos no último nó...vamos criar um novo nó agora
temp.proximo = new No();
// atribui o valor do nó
temp.proximo.valor = v;
// define o campo proximo do nó como null
temp.proximo.proximo = null;
}
}
}
Compile as classes No.java e Lista.java e vamos fazer o teste (TesteJava.java):
public class TesteLista{
public static void main(String args[]){
// vamos criar uma nova lista
Lista lista = new Lista();
// vamos inserir quatro valores na lista
lista.inserir(45);
lista.inserir(3);
lista.inserir(98);
lista.inserir(17);
// exibe os valores na lista
lista.exibir();
System.exit(0);
}
}
|
LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como calcular a soma, o produto, a diferença e o quociente de dois números inteiros informados pelo usuárioQuantidade de visualizações: 1489 vezes |
|
Pergunta/Tarefa: Escreva um programa Common Lisp que pede para o usuário informar dois número inteiros. Em seguida mostre a soma, o produto, a diferença e o quociente dois dois números informados. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 3 A soma dos números é: 11 O produto dos números é: 24 A diferença dos números é: 5 O quociente dos números é: 2.66667 Veja a resolução comentada deste exercício usando Common Lisp:
; Este é o programa principal
(defun Exercicio()
; Variáveis usadas na resolução do problema
(let ((n1)(n2)(soma)(produto)
(diferenca)(quociente))
; Vamos ler os dois números
(princ "Informe o primeiro número: ")
; talvez o seu compilador não precise disso
(force-output)
; atribui o valor lido à variável n1
(setq n1 (read))
(princ "Informe o segundo número: ")
; talvez o seu compilador não precise disso
(force-output)
; atribui o valor lido à variável n2
(setq n2 (read))
; vamos somar os dois números
(setq soma (+ n1 n2))
; vamos calcular o produto
(setq produto (* n1 n2))
; vamos calcular a diferença
(setq diferenca (- n1 n2))
; vamos calcular o quociente
(setq quociente (/ n1 (* n2 1.0)))
; E mostramos o resultado
(format t "A soma dos números é ~D" soma)
(format t "~%O produto dos números é ~D" produto)
(format t "~%A diferença dos números é ~D" diferenca)
(format t "~%O quociente dos números é ~F" quociente)
)
)
; Auto-executa a função Exercicio()
(Exercicio)
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de LISP |
Veja mais Dicas e truques de LISP |
Dicas e truques de outras linguagens |
|
Python - Como obter o resto de uma divisão de inteiros em Python - O operador módulo % da linguagem Python VB.NET - Como usar o laço While em VB.NET |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




