![]() |
|
|
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. |
||
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: 11376 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á. |
Python ::: Dicas & Truques ::: Arquivos e Diretórios |
Como usar a função exists() do módulo os.path para testar a existência de um arquivo ou diretório em PythonQuantidade de visualizações: 3833 vezes |
|
Antes de efetuarmos qualquer ação em um arquivo ou diretório, é sempre uma boa idéia testar primeiro se tal arquivo ou diretório existe no sistema. Isso pode ser feito por meio do método exists() do módulo os.path. Este método retorna True se o arquivo ou diretório existir, e False em caso contrário. Veja um exemplo no qual checamos a existência de um arquivo chamado "teste.txt":
from os import path
def main():
# vamos verificar se este arquivo existe, neste local
if path.exists("C:\\estudos_python\\teste.txt"):
print("Arquivo foi encontrado")
else:
print("Arquivo não foi encontrado")
if __name__== "__main__":
main()
Se o arquivo existir no caminho informado, o texto "Arquivo foi encontrado" será impresso na tela. Se o arquivo não puder ser encontrado, o texto "Arquivo não foi encontrado" será exibido. Veja agora como podemos verificar se um diretório existe ou não no sistema operacional:
from os import path
def main():
# vamos verificar se este diretório existe
if path.exists("C:\\estudos_python"):
print("Diretório existe.")
else:
print("Diretório não existe.")
if __name__== "__main__":
main()
Execute este código e veja o resultado. Se o diretório pesquisado existir, o texto "Diretório existe." será exibido. |
PHP ::: PHP + MySQL ::: MySQL (mysql) |
Como criar uma tabela MySQL usando o comando CREATE TABLE e as funções mysql_query() e mysqli_query() do PHPQuantidade de visualizações: 22963 vezes |
|
Nesta dica mostrarei como podemos usar a função mysqli_query() do PHP para disparar uma instrução SQL CREATE TABLE para criar uma nova tabela na base de dados MySQL. Esta dica foi atualizada. Removi a função mysql_query(), já que esta não funciona mais nas versões atuais do PHP. Em seu lugar eu coloquei mysqli_query() e ajustei o código. Note que inclui neste exemplo o código para efetuar a conexão PHP + MySQL usando a função mysqli_connect(). Novamente vale lembrar que removi a função mysql_connect() e deixei apenas a versão mais atual. Se você pretende escrever seu primeiro CRUD PHP + MySQL, este é o exemplo ideal para você começar. Veja o código completo:
<?php
// vamos efetuar a conexao com o banco
$servidor = "localhost";
$usuario = "root";
$senha = "osmar1234";
$base_dados = "estudos";
$conexao = mysqli_connect($servidor, $usuario,
$senha, $base_dados);
// Comando SQL para criar a tabela
$sql = "CREATE TABLE my2_usuarios(
id int(11) NOT NULL auto_increment,
usuario varchar(50),
senha varchar(10),
data_cadastro datetime,
PRIMARY KEY(id)
)";
// Executa o comando SQL
$result = mysqli_query($conexao, $sql);
// Verifica se o comando foi executado com sucesso
if(!$result){
die("Falha ao executar o comando: " . mysqli_error($conexao));
}
else{
echo "Comando executado com sucesso.";
}
// fecha a conexão
mysqli_close($conexao);
?>
|
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercício Resolvido de VisuAlg - Escreva um programa VisuAlg que leia um número inteiro e informe se ele é par ou ímparQuantidade de visualizações: 1565 vezes |
|
Pergunta/Tarefa: Escreva um algorítmo em VisuAlg que pede para o usuário informar um número inteiro. Depois da leitura do número digitado, informe se ele é par ou ímpar. Sua saída deverá ser parecida com: Informe um número: 14 O número é par Veja a resolução comentada deste exercício usando VisuAlg:
Algoritmo "Um algorítmo para tstar se um número é par ou ímpar"
Var
// variáveis usadas na resolução do problema
numero: inteiro
Inicio
// vamos pedir para o usuário informar o número
escreva("Informe um número: ")
leia(numero)
// vamos testar se o número é par ou ímpar
se numero mod 2 = 0 entao
escreval("O número é par")
senao
escreval("O número é ímpar")
fimse
Fimalgoritmo
Na versão 3.0.7.0 do VisuAlg nós podemos usar "mod" ou "%" para representar o operador de módulo. Por favor, verifique qual o operador suportado pela sua versão. |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como inverter a ordem dos elementos de um array em JavaScript - Vetores e matrizes em JavaScript Python - Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) JavaScript - JavaScript Avançado - Como escrever uma função JavaScript que aceita um número variável de argumentos |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Python - Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando Python Java - Como retornar a representação numérica de um caractere em Java fazendo um cast de char para int Java - Como usar a classe Character da linguagem Java para tratar caracteres individuais em seus programas |
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 |



