![]() |
|
|
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 ::: Arquivos e Diretórios |
Como excluir um arquivo ou imagem em PHP usando a função unlink()Quantidade de visualizações: 21236 vezes |
|
Esta dica mostra como podemos excluir um arquivo ou uma imagem usando PHP. Para isso vamos usar a função unlink(). Esta função recebe o caminho e nome do arquivo a ser excluído e retorna TRUE se a exclusão foi feita com sucesso e FALSE caso contrário. Veja o código:
<?php
// caminho e nome do arquivo (o diretório no qual o arquivo
// a ser excluído está deve ter permissão de escrita
$arquivo = "/home/xxxx/arquivos/dados.txt";
// vamos excluir
if(unlink($arquivo)){
echo "Arquivo excluído com sucesso.";
}
else{
echo "Não foi possível excluir o arquivo.";
}
?>
Se você pretende excluir um diretório e não um arquivo, use a função rmdir(). |
QGIS ::: PyQGIS API ::: Shapefiles, Camadas Vetoriais, Dados Vetoriais |
Como carregar um shapefile no QGIS usando o objeto QgsVectorLayer da PyQGIS APIQuantidade de visualizações: 991 vezes |
|
Nesta dica mostrarei como podemos usar o objeto QgsVectorLayer da PyQGIS API para carregar um arquivo shapefile no QGIS e adicioná-lo como uma nova camada. O primeiro passo é fornecer a localização do arquivo shapefile (.shp), o nome para a nova camada e um data provider, que nesse caso é ogr. Depois de obtido o objeto QgsVector nós efetuamos uma chamada à função isValid() para verificar se a camada é válida. Esse procedimento deve ser sempre usado, pois assegura que os dados são válidos antes de continuar com a execução do código. Para finalizar nós usamos a função addMapLayer() do objeto QgsProject para adicionar a nova camada à coleção de camadas e a exibimos no mapa. Veja o código PyQGIS completo para o exemplo:
# vamos criar um novo objeto QgsVectorLayer com o local
# do nosso shapefile
camada = QgsVectorLayer("C:\\dados\\GO_Municipios_2022.shp",
"Municípios Estado de Goiás", "ogr")
# vamos testar se a camada é válida
if not camada.isValid():
print("Não foi possível carregar a camada %s" % camada.name())
else:
# vamos adicionar a camada à relação de camadas
QgsProject.instance().addMapLayer(camada)
Ao executarmos esse código PyQGIS no QGIS nós temos como resultado um mapa do Estado de Goiás com os seus 246 municípios. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Exercícios Resolvidos de Java - Como converter de decimal para números romanos em JavaQuantidade de visualizações: 1039 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente. Sua saída deverá ser parecida com: Informe um número decimal: 2023 O número romano correspondente é: MMXXIII Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos criar um array com os valores decimais possíveis de
// cada número romano
int valoresNumerosRomanos[] = new int[]{1000, 900, 500, 400,
100, 90, 50, 40, 10, 9, 5, 4, 1};
// representação dos números romanos
String numerosRomanos[] = new String[]{"M", "CM", "D", "CD",
"C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
// vamos pedir para o usuário informar um número decimal
System.out.print("Informe um número decimal: ");
int numero = Integer.parseInt(entrada.nextLine());
// para guardar o resultado
String resultado = "";
// o número é maior que zero?
if (numero > 0) {
// percorremos o array de valores decimais dos números romanos
for(int i = 0;i < valoresNumerosRomanos.length; i++){
// enquanto o número informado for maior que o valor do
// do número romano atual
while(numero >= valoresNumerosRomanos[i]){
// reduz o número informado
numero = numero - valoresNumerosRomanos[i];
// concatena o número romano e continua o cálculo
resultado = resultado + numerosRomanos[i];
}
}
}
// mostramos o resultado
if(resultado.isEmpty()){
System.out.println("O número informado não possui número romano");
}
else{
System.out.println("O número romano correspondente é: " + resultado);
}
}
}
|
HTML5 ::: HTML5 + JavaScript ::: Canvas |
Como usar o método arc() do objeto Canvas do HTML5 para desenhar arcos, curvas e círculosQuantidade de visualizações: 4699 vezes |
O método arc() do objeto Canvas do HTML5 nos permite criar figuras tais como arcos, curvas e círculos. Para isso é importante entender os seus parâmetros:arc(x, y, radius, ang1, ang2, direction); Os parâmetros x e y indicam as coordenadas do centro do círculo. O parâmetro radius indica o raio do círculo. Os parâmetros ang1 e ang2 indicam o ângulo inicial e o ângulo final. O parâmetro direction indica a direção do desenho. Se o valor true for informado, a direção será anti-horário. Se for false, o desenho será no sentido horário. É importante observar que os ângulos são medidos em radianos, não em graus. Assim, o ângulo 0 representa a posição 3 horas no relógio. A posição de 9 horas é (1 * PI), 12 horas é (1.5 * PI) e 6 horas é (0.5 * PI). Portanto, se você quiser desenhar um círculo completo, deverá sair do ângulo 0 e ir até (2 * PI). Veja um trecho de código que desenha um arco equivalente a um quarto de uma pizza, ou seja, 25%, saindo do ângulo 90º (em graus) e indo até 180º (graus):
<html>
<head>
<meta charset="utf-8">
<title>Estudos HTML5</title>
</head>
<body>
<Canvas id="canvas1" width="500" height="350"></Canvas>
<script type="text/javascript">
// obtemos uma referência ao elemento Canvas
var canvas = document.getElementById("canvas1");
// obtemos o contexto de desenho
var contexto = canvas.getContext("2d");
// vamos desenhar um arco sem preenchimento com raio de 80
contexto.beginPath(); // início um novo caminho
// o arco começa no x = 100, y = 100, começa no ângulo 90 (em graus)
// e vai até o ânculo 180 (graus)
// as medidas na função arc() são em radianos, não em graus
contexto.arc(100, 100, 80, Math.PI, 1.5 * Math.PI, false);
contexto.lineWidth = 2; // largura da linha
contexto.strokeStyle = '#990000'; // cor da linha
contexto.stroke(); // realiza o desenho
</script>
</body>
</html>
Execute este código e veja que o arco realmente foi desenhado. Seu resultado deverá ser parecido com: ![]() No entanto, para parecer um pedação de pizza, ou seja, o ponto de partida para um gráfico de pizza, é preciso que tenhamos duas linhas ligado esse arco ao centro do círculo. Veja a modificação que fiz:
<html>
<head>
<meta charset="utf-8">
<title>Estudos HTML5</title>
</head>
<body>
<Canvas id="canvas1" width="500" height="350"></Canvas>
<script type="text/javascript">
// obtemos uma referência ao elemento Canvas
var canvas = document.getElementById("canvas1");
// obtemos o contexto de desenho
var contexto = canvas.getContext("2d");
// vamos desenhar um arco sem preenchimento com raio de 80
contexto.beginPath(); // início um novo caminho
// primeiro movemos a caneta de desenho para o centro do círculo
contexto.moveTo(100, 100);
// o arco começa no x = 100, y = 100, começa no ângulo 90 (em graus)
// e vai até o ânculo 180 (graus)
// as medidas na função arc() são em radianos, não em graus
contexto.arc(100, 100, 80, Math.PI, 1.5 * Math.PI, false);
contexto.lineWidth = 2; // largura da linha
contexto.strokeStyle = '#990000'; // cor da linha
// agora desenhamos uma linha de volta para o arco
contexto.lineTo(100, 100);
contexto.stroke(); // realiza o desenho
</script>
</body>
</html>
Execute novamente e veja que agora o efeito ficou bem melhor. Seu resultado deverá ser parecido com: ![]() Para finalizar, vamos colorir o pedação de pizza. Veja a nova versão (com o código completo):
<!doctype html>
<html>
<head>
<title>O objeto Canvas do HTML5</title>
</head>
<body>
<Canvas id="canvas1" width="500" height="350"></Canvas>
<script type="text/javascript">
// obtemos uma referência ao elemento Canvas
var canvas = document.getElementById("canvas1");
// obtemos o contexto de desenho
var contexto = canvas.getContext("2d");
// vamos desenhar um arco sem preenchimento com raio de 80
contexto.beginPath(); // início um novo caminho
// primeiro movemos a caneta de desenho para o centro do círculo
contexto.moveTo(100, 100);
// o arco começa no x = 100, y = 100, começa no ângulo 90 (em graus)
// e vai até o ânculo 180 (graus)
// as medidas na função arc() são em radianos, não em graus
contexto.arc(100, 100, 80, Math.PI, 1.5 * Math.PI, false);
contexto.lineWidth = 2; // largura da linha
contexto.strokeStyle = '#990000'; // cor da linha
// agora desenhamos uma linha de volta para o arco
contexto.lineTo(100, 100);
// vamos preencher o gráfico
contexto.fillStyle = "#CCCCCC"; // cor do preenchimento
contexto.fill(); // preenche de fato
contexto.stroke(); // realiza o desenho
</script>
</body>
</html>
Agora o resultado será: ![]() |
PHP ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário PHP - Como calcular o Dígito Verificador do Nosso Número (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 3244 vezes |
|
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Nosso Número para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). O Nosso Número é o número de identificação do título no Banco. Este número deve ser único nos seus sistemas, pois, sua combinação com o código do cedente o torno único também no sistema bancário. Além disso, é o Nosso Número que permite ao Banco e a empresa identificar os dados da cobrança que deram origem ao bloqueto. Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o Nosso Número é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente. Seu formato é XYNNNNNNNNNNNNNNN-D, onde: a) X = Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro); b) Y = Emissão do bloqueto (4-Cedente); c) NNNNNNNNNNNNNNN = Nosso Número (15 posições livres do Cedente); d) D = Dígito Verificador do Nosso Número calculado através do Modulo 11, conforme código que mostrarei a seguir. Nos boletos e arquivos de remessa da Caixa, o Dígito Verificador do Nosso Número admite 0 (zero), diferentemente do DV Geral do Código de Barras (que também mostro como calcular em dicas dessa seção). O cálculo que mostrarei a seguir é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado. Dito isso, veja o código PHP completo para uma função que recebe o Nosso Número e retorna seu dígito verificador:
<?php
// função que recebe o nosso número
// e retorna o seu dígito verificador
function dvNossoNumero($nossoNumero){
// o nosso número possui mais que 17 dígitos?
if(strlen($nossoNumero) > 17){
die("O Nosso Número não pode ter mais que 17 dígitos.");
}
// agora vamos definir os índices de multiplicação
$indices = "29876543298765432";
// e aqui a soma da multiplicação coluna por coluna
$soma = 0;
// fazemos a multiplicação coluna por coluna agora
for($i = 0; $i < strlen($nossoNumero); $i++){
$soma = $soma + ((int)($nossoNumero[$i])) *
((int)($indices[$i]));
}
// obtemos o resto da divisão da soma por onze
$resto = $soma % 11;
// subtraímos onze pelo resto da divisão
$digito = 11 - $resto;
// atenção: Se o resultado da subtração for
// maior que 9 (nove), o dígito será 0 (zero)
if($digito > 9){
$digito = 0;
}
return $digito;
}
// vamos calcular o Dígito Verificador do
// Nosso Número
$carteira = "1"; //
$emissao = "4"; // cedente
$nossoNumero = "19";
// preenche com zeros até completar 15 posições
$nossoNumero = sprintf("%015d", $nossoNumero);
$nossoNumeroCompleto = $carteira . $emissao . $nossoNumero;
$digito = dvNossoNumero($nossoNumeroCompleto);
echo "O dígito verificador para o nosso número " .
$nossoNumeroCompleto . " é: " . $digito;
?>
Ao executar este código PHP nós teremos o seguinte resultado: O dígito verificador para o nosso número 14000000000028288 é: 5 |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






