Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Você está aqui: Cards de Engenharia Civil - Instalações Hidráulicas Prediais
Card 1 de 6
Introdução às instalações prediais de água fria

Os projetos hidráulicos são indispensáveis às edificações, uma vez que evitam inúmeros problemas nessas instalações e, consequentemente, a necessidade de reparos no sistema de tubulações, que apresentam custos elevados. O desenvolvimento desses projetos deve ser conduzido concomitantemente com os projetos de arquitetura, estrutura, entre outros projetos pertinentes ao edifício, de modo a garantir que haja compatibilização entre todos os requisitos técnicos e econômicos envolvidos.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

VisuAlg ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em VisuAlg dados dois pontos no plano cartesiano

Quantidade de visualizações: 768 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem VisuAlg que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

algoritmo "Calcular o coeficiente angular de uma reta em VisuAlg"

var
  // coordenadas dos dois pontos
  x1, y1, x2, y2: real
  // guarda o coeficiente angular
  m: real

inicio
  // x e y do primeiro ponto
  escreva("Coordenada x do primeiro ponto: ")
  leia(x1)
  escreva("Coordenada y do primeiro ponto: ")
  leia(y1)

  // x e y do segundo ponto
  escreva("Coordenada x do segundo ponto: ")
  leia(x2)
  escreva("Coordenada y do segundo ponto: ")
  leia(y2)

  // vamos calcular o coeficiente angular
  m <- (y2 - y1) / (x2 - x1)

  // mostramos o resultado
  escreva("O coeficiente angular é: ", m)

fimalgoritmo 

Ao executar este código VisuAlg nós teremos o seguinte resultado:

Coordenada x do primeiro ponto: 3
Coordenada y do primeiro ponto: 6
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 10
O coeficiente angular é: 0.6666666666666666

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

algoritmo "Calcular o coeficiente angular de uma reta em VisuAlg"

var
  // coordenadas dos dois pontos
  x1, y1, x2, y2: real
  // guarda os comprimentos dos catetos oposto e adjascente
  cateto_oposto, cateto_adjascente: real
  // guarda o ângulo tetha (em radianos) e a tangente
  tetha, tangente: real

inicio
  // x e y do primeiro ponto
  escreva("Coordenada x do primeiro ponto: ")
  leia(x1)
  escreva("Coordenada y do primeiro ponto: ")
  leia(y1)

  // x e y do segundo ponto
  escreva("Coordenada x do segundo ponto: ")
  leia(x2)
  escreva("Coordenada y do segundo ponto: ")
  leia(y2)

  // vamos obter o comprimento do cateto oposto
  cateto_oposto <- y2 - y1
  // e agora o cateto adjascente
  cateto_adjascente <- x2 - x1
  // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
  // (em radianos, não se esqueça)
  tetha <- ArcTan(cateto_oposto / cateto_adjascente)
  // e finalmente usamos a tangente desse ângulo para calcular
  // o coeficiente angular
  tangente <- Tan(tetha)

  // mostramos o resultado
  escreva("O coeficiente angular é: ", tangente)

fimalgoritmo 

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


JavaScript ::: W3C DOM - (Wide Web Consortium) Document Object Model ::: Navegação e Pesquisa de Nós (Nodes)

Como retornar uma coleção de nós filhos de um elemento HTML usando a propriedade childNodes do DOM do JavaScript

Quantidade de visualizações: 13341 vezes
Em algumas situações temos um elemento HTML (um elemento DIV, por exemplo) e gostaríamos de retornar uma coleção contendo seus elementos filhos. Para isso podemos usar a coleção childNodes, definida no World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1.

A coleção childNodes contém todos os descendentes diretos de um determinado elemento HTML, incluindo os nós textos (text nodes) e comentários (comment nodes). Além disso, a ordem dos elementos retornados é aquela definida no código-fonte do documento HTML.

Veja uma página HTML contendo um elemento DIV e, dentro deste, um parágrafo, um link e um elemento SPAN. Note como usamos a propriedade childNodes no elemento DIV para retornar seus três elementos filhos diretos (note que as quebras de linhas e o elemento BR também serão retornados):

<html>
<head>
<title>Estudos JavaScript</title>

<script type="text/javascript">
  function obterNosFilhos(){
    // vamos obter uma referência ao elemento div com o id "container"
    var pai = document.getElementById("container");

    // vamos obter a coleção de elementos filhos
    var filhos = pai.childNodes;

    // vamos obter a quantidade de elementos filhos deste elemento
    window.alert("O elemento div contém " + filhos.length +
      " elementos filhos.");

    // vamos percorrer todos os elementos
    for(var i = 0; i < filhos.length; i++){
      var filho = filhos[i];

      // este filho é um nó texto?
      if(filho.nodeType == 3){
        window.alert("O " + (i + 1) + "º filho é um nó texto. " +
          "Seu conteúdo é: " + filho.data);
      }
      // este filho é um nó elemento?
      else if(filho.nodeType == 1){
        window.alert("O " + (i + 1) + "º filho é um nó elemento. " +
          "Seu conteúdo é: " + filho.innerHTML);
      }
    }
  }  
</script>

</head>
<body>

<div id="container">
<p>Sou um parágrafo</p>
<a href="http://www.google.com">Sou um link</a><br>
<span>E eu sou um elemento span</span>
</div>

<br>
<button onclick="obterNosFilhos()">Obter nós filhos do elemento div</button>

</body>
</html>

Ao executarmos este código JavaScript nós teremos o seguinte resultado:

O elemento div contém 8 elementos filhos.
O 1º filho é um nó texto. Seu conteúdo é:
O 2º filho é um nó elemento. Seu conteúdo é: Sou um parágrafo
O 3º filho é um nó texto. Seu conteúdo é:
O 4º filho é um nó elemento. Seu conteúdo é: Sou um link
O 5º filho é um nó elemento. Seu conteúdo é:
O 6º filho é um nó texto. Seu conteúdo é:
O 7º filho é um nó elemento. Seu conteúdo é: E eu sou um elemento span
O 8º filho é um nó texto. Seu conteúdo é:

Ao executar este exemplo você perceberá que a quantidade de elementos filhos no IE é diferente daquela relatada pelo Firefox. Isso acontece devido à forma que os dois browsers tratam quebras de linhas e espaços. Tenha a certeza de usar a propriedade nodeType para identificar o tipo de elemento filho sendo retornado.

A coleção childNodes pode ser chamada a partir dos seguintes elementos: a, abbr, acronym, address, applet, b, bdo, big, blink, blockquote, body, button, caption, center, cite, code, col, colgroup, dd, del, dfn, dir, div, dl, dt, em, fieldset, font, form, frameset, h1, h2, h3, h4, h5, h6, head, html, i, img, ins, kbd, keygen, label, legend, li, listing, map, marquee, menu, nobr, noframes, noscript, object, ol, optgroup, option, p, plaintext, pre, q, rt, ruby, s, samp, select, small, span, strike, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead, tr, tt, u, ul, var, xml e xmp.

Esta dica foi escrita e testada no Google Chrome 127.0.6533.122 (Versão oficial) 64 bits.


Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o ponto de interseção de duas retas em Dart - Geometria Analítica e Álgebra Linear em Dart

Quantidade de visualizações: 2214 vezes
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes.

Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Dart. Mas, antes de vermos o código, dê uma olhada na seguinte imagem:



Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta.

Veja o código Dart completo que nos auxilia na resolução deste problema:

// Vamos importar a biblioteca dart:io
import "dart:io";

// Classe usada para representar um ponto no
// plano 2d (Plano Cartesiano)
class Ponto{
  double x, y;
  
  // construtor da classe
  Ponto(double x, double y){
    this.x = x;
    this.y = y;
  }
}

void main(){
  // vamos construir os quatro pontos
  Ponto A = new Ponto(5, 7);
  Ponto B = new Ponto(9, -4);
  Ponto C = new Ponto(-8, 2);
  Ponto D = new Ponto(11, 6);
    
  // vamos obter a representação do segmento AB    
  double a1 = B.y - A.y;
  double b1 = A.x - B.x;
  double c1 = (a1 * A.x) + (b1 * A.y);
       
  // vamos obter a representação do segmento CD
  double a2 = D.y - C.y;
  double b2 = C.x - D.x;
  double c2 = (a2 * C.x) + (b2 * C.y);
    
  // obtém o determinante
  double determinante = (a1 * b2) - (a2 * b1);
    
  // as duas retas são paralelas?
  if(determinante == 0){
    print("\nAs duas retas são paralelas.\n");
  }
  else{
    // e construímos o ponto de intersecção
    double x = ((b2 * c1) - (b1 * c2)) / determinante;
    double y = ((a1 * c2) - (a2 * c1)) / determinante;
    Ponto inters = new Ponto(x, y);
    
    print("O ponto de interseção é: " + 
      "x = ${x.toStringAsFixed(2)}; y = ${y.toStringAsFixed(2)}");
  }
}


Ao executar este código Dart nós teremos o seguinte resultado:

O ponto de interseção é: x = 5,76; y = 4,90

De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas.


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como transformar uma string em letras minúsculas em PHP usando a função strtolower()

Quantidade de visualizações: 1 vezes
A função strtolower() do PHP pode ser usada quando queremos converter uma palavra, frase ou texto para letras minúsculas.

Veja um exemplo de seu uso:

<?php
  // vamos definir a codificação como iso-8859-1
  ini_set('default_charset', "iso-8859-1");
  
  // vamos criar uma string
  $frase = "PHP? Eu gosto de PHP";
  echo "A frase original é: " . $frase;
  
  // agora vamos converter a frase para letras
  // minúsculas
  $frase_minusculas = strtolower($frase);
  echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>

Ao executarmos este código PHP nós teremos o seguinte resultado:

A frase original é: PHP? Eu gosto de PHP
Em letras minúsculas: php? eu gosto de php

Ao executar este código no PHP 8, Windows 10 e codificação do arquivo em ANSI, o resultado da função strtolower() é o esperado, mas somente sem usar acentos e caracteres especiais. Veja:

<?php
  // vamos definir a codificação como iso-8859-1
  ini_set('default_charset', "iso-8859-1");
  
  // vamos criar uma string
  $frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
  echo "A frase original é: " . $frase;
  
  // agora vamos converter a frase para letras
  // minúsculas
  $frase_minusculas = strtolower($frase);
  echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>

Ao executarmos o código novamente nós teremos a seguinte saída:

A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO
Em letras minúsculas: java? nÃo! É de php que eu gosto

Note que as letras acentuadas não foram convertidas para letras minúsculas. Isso aconteceu porque os caracteres acentuados são tratados como caracteres de múltiplos bytes, ou seja, multi-byte chars. A saída, nesse caso, e no PHP 8 (e acredito mais recentes), é usar a função mb_strtolower(). Veja:

<?php
  // vamos definir a codificação como iso-8859-1
  ini_set('default_charset', "iso-8859-1");
  
  // vamos criar uma string
  $frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO";
  echo "A frase original é: " . $frase;
  
  // agora vamos converter a frase para letras
  // minúsculas
  $frase_minusculas = mb_strtolower($frase);
  echo "<br>Em letras minúsculas: " . $frase_minusculas;
?>

Execute o código novamente e verá que o resultado agora está correto:

A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO
Em letras minúsculas: java? não! é de php que eu gosto

Agora você já sabe o primeiro passo para resolver problemas de acentuação no PHP. Bons estudos.


VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de VisuAlg - Como testar se um ano é bissexto em VisuAlg - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não

Quantidade de visualizações: 1200 vezes
Pergunta/Tarefa:

Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016.

Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400.

Escreva um programa VisuAlg que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não.

Sua saída deverá ser parecida com:

Informe o ano: 2024
O ano informado é bissexto.
Resposta/Solução:

Veja a resolução comentada deste exercício usando VisuAlg:

algoritmo "Como testar se um ano é bissexto em VisuAlg"

var
  // variáveis usadas na resolução do problema
  ano: inteiro

inicio
  // vamos solicitar que o usuário informe um ano
  escreva("Informe o ano: ")
  leia(ano)

  // vamos verificar se o ano informado é bissexto
  se (((ano mod 4 = 0) e (ano mod 100 <> 0)) ou (ano mod 400 = 0)) entao
    escreva("O ano informado é bissexto.")
  senao
    escreva("O ano informado não é bissexto.")
  fimse

fimalgoritmo



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de VisuAlg

Veja mais Dicas e truques de VisuAlg

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 49 usuários muito felizes estudando em nosso site.