![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 11242 vezes |
|
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
}
// vamos criar um novo objeto desta classe
$b = new Boleto();
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato:
<?
// Uma classe Boleto não-abstrata
class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
}
?>
A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
public function imprimir($dados){
echo "Imprimindo o boleto: " . $dados;
}
}
// vamos criar um objeto da classe BoletoBradesco
$b = new BoletoBradesco();
// vamos imprimir o boleto
$b->imprimir("Dados do boleto");
?>
d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato que não deveria conter implementação
public abstract function imprimir($dados){
echo "Isso vai dar um erro daqueles!";
}
}
?>
Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
PHP ::: Dicas & Truques ::: Gráficos e Cores |
Gráficos em PHP - Como criar imagens dinamicamente usando a função imagecreate() do PHPQuantidade de visualizações: 13297 vezes |
|
O primeiro passo para a criação de imagens dinâmicas em PHP é entender o funcionamento da função imagecreate(). Esta função retorna uma referência para uma imagem criada na memória com a largura e altura especificadas e na cor branca. Assim, tudo que temos a fazer é escrever ou desenhar nesta área branca e finalmente salvar ou enviar para o browser. Veja um exemplo de código no qual criamos uma imagem PNG com a largura de 200 pixels e altura de 150 pixels. Note que a cor de fundo é azul e a cor do texto é branca:
<?
// informamos ao browser que o conteúdo é uma imagem PNG
header("Content-type: image/png");
// criamos uma imagem com largura de 200 e altura de 150 pixels
$imagem = imagecreate(200, 150);
// cor de fundo será azul
$cor_fundo = imagecolorallocate($imagem, 0, 0, 255);
// cor do texto será branca
$cor_texto = imagecolorallocate($imagem, 255, 255, 255);
// escrevemos na imagem
imagestring($imagem, 3, 10, 10, "Arquivo de Códigos", $cor_texto);
// mandamos para o browser
imagepng($imagem);
// liberamos a memória
imagedestroy($imagem);
?>
Para visualizar este resultado, salve este código como imagem.php e use o nome deste arquivo na propriedade src de uma imagem em uma outra página. Veja: <img src="imagem.php"> |
Java ::: Pacote java.lang ::: String |
Apostila de Java Básico - Como usar o método replace() da classe String para efetuar a substituição de substrings em uma stringQuantidade de visualizações: 8280 vezes |
A substituição de substrings, ou seja, pedaços de texto, é uma das tarefas mais comuns em programação. Em Java isso pode ser feito por meio do método replace() da classe String. Veja sua assinatura:public String replace(CharSequence target, CharSequence replacement) Veja um trecho de código no qual usamos o método replace() para substituir todas as ocorrências de "C++" por "Java":
public class Estudos {
public static void main(String[] args) {
String frase = "Programar em C++ é muito bom! Gosto muito de C++";
System.out.println("Frase original: " + frase);
// vamos substituir todas as ocorrências de "C++" por "Java"
frase = frase.replace("C++", "Java");
System.out.println("Depois da substituição: " + frase);
}
}
Ao executarmos este código teremos o seguinte resultado: Frase original: Programar em C++ é muito bom! Gosto muito de C++ Depois da substituição: Programar em Java é muito bom! Gosto muito de Java Note que o método replace() pode atirar uma exceção do tipo NullPointerException se o parâmetro target ou replacement for null. |
Java ::: Dicas & Truques ::: Sistema |
Java Avançado - Como obter a largura e altura da tela do seu computador em pixels usando o método getScreenSize() da classe Toolkit do JavaQuantidade de visualizações: 16454 vezes |
|
A classe Toolkit da linguagem Java nos fornece o método getScreenSize(), que retorna um objeto da classe Dimension contendo a largura e a altura da tela do nosso computador, em pixels. Veja o código Java completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
public class Estudos{
public static void main(String[] args){
// obtém o tamanho da tela
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
System.out.println("O tamanho da tela é: " +
dim.width + " pixels de largura por " + dim.height +
" pixels de altura.");
}
}
Ao executar este código nós teremos o seguinte resultado: O tamanho da tela é: 1366 pixels de largura por 768 pixels de altura. |
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Ruby - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 1133 vezes |
|
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Ruby que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando Ruby:
# vamos ler o primeiro lado do triângulo
print "Informe o primeiro lado do triângulo: "
lado_a = Integer(gets)
# vamos ler o segundo lado do triângulo
print "Informe o segundo lado do triângulo: "
lado_b = Integer(gets)
# vamos ler o terceiro lado do triângulo
print "Informe o terceiro lado do triângulo: "
lado_c = Integer(gets)
# os lados informados formam um triângulo?
if((lado_a < (lado_b + lado_c)) && (lado_b < (lado_a + lado_c)) \
&& (lado_c < (lado_a + lado_b)))
# é um triângulo equilátero (todos os lados iguais)?
if((lado_a == lado_b) && (lado_b == lado_c))
print "O triângulo é equilátero"
else
# é isósceles (dois lados iguais e um diferente)?
if((lado_a == lado_b) || (lado_a == lado_c) || \
(lado_c == lado_b))
print "O triângulo é isósceles"
else
# é escaleno
print "O triângulo é escaleno"
end
end
else
print "Os lados informados não formam um triângulo."
end
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
|
Python - Como contar quantas vezes um elemento aparece em uma lista do Python usando a função count() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



