![]() |
|
|
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 AutoCAD Civil 3D |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Python Insertion Sort - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)Quantidade de visualizações: 4444 vezes |
|
Nesta dica veremos como implementar a ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção na linguagem Python. A ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados. A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com a forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação. A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim por diante, até não receber mais cartas. Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição. Vamos ver a implementação na linguagem Python agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}:
# método que permite ordenar o vetor de inteiros
# usando a ordenação Insertion Sort
def insertionSort(vetor):
# percorre todos os elementos do vetor começando
# pelo segundo elemento
for i in range(len(vetor)):
atual = vetor[i] # o valor atual a ser inserido
# começa a comparar com a célula à esquerda de i
j = i - 1
# enquanto vetor[j] estiver fora de ordem em relação
# a atual
while((j >= 0) and (vetor[j] > atual)):
# movemos vetor[j] para a direita e decrementamos j
vetor[j + 1] = vetor[j]
j = j - 1
# colocamos atual em seu devido lugar
vetor[j + 1] = atual
# função principal do programa
def main():
# cria uma lista de inteiros
valores = [4, 6, 2, 8, 1, 9, 3, 0, 11]
# exibimos o vetor na ordem original
print("Ordem original:\n")
for i in range(len(valores)):
print(valores[i], end = " ")
# vamos ordenar o vetor agora
insertionSort(valores)
# exibimos o vetor ordenado
print("\n\nOrdenado:\n")
for i in range(len(valores)):
print(valores[i], end = " ")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Sem ordenação: 4 6 2 8 1 9 3 0 11 Ordenada usando Insertion Sort: 0 1 2 3 4 6 8 9 11 |
Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Dart - Escreva um programa Dart para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 980 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor (List) de 8 inteiros List<int> valores = [0, 3, 0, 5, 7, 4, 0, 9]; Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Dart:
// Vamos importar a biblioteca dart:io
import "dart:io";
void main(){
// vamos declarar e construir um vetor (List) de 8 inteiros
List<int> valores = [0, 3, 0, 5, 7, 4, 0, 9];
// vamos mostrar o vetor na ordem original
print("Vetor na ordem original:\n");
for(int i = 0; i < valores.length; i++){
stdout.write("${valores[i]} ");
}
// vamos inicializar j como 0 para que ele aponte para
// o primeiro elemento do vetor
int j = 0;
// agora o laço for percorre todos os elementos do vetor,
// incrementanto a variável i e deixando o j em 0
for(int i = 0; i < valores.length; i++){
// encontramos um valor que não é 0
if(valores[i] != 0){
// fazemos a troca entre os elementos nos índices
// i e j
int temp = valores[i];
valores[i] = valores[j];
valores[j] = temp;
// e avançamos o j para o elemento seguinte
j++;
}
}
// agora mostramos o resultado
print("\n\nVetor com os zeros deslocados para o final:\n");
for(int i = 0; i < valores.length; i++){
stdout.write("${valores[i]} ");
}
}
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
PHP ::: Desafios e Lista de Exercícios Resolvidos ::: PHP Básico |
Exercícios Resolvidos de PHP - Como calcular salário líquido em PHP - Calculando o salário líquido de um professorQuantidade de visualizações: 2318 vezes |
|
Pergunta/Tarefa: Escreva um programa PHP que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real). Sua saída deverá ser parecida com: Informe o valor da hora aula: 28 Informe o número de horas trabalhadas no mês: 12 Informe o percentual de desconto do INSS: 8 Salário Bruto: R$ 336,00 Total de Descontos: R$ 26,88 Salário Líquido: R$ 309,12 Veja a resolução comentada deste exercício usando PHP console:
<?php
// para executar abra uma janela de comando
// cmd e dispare o comando abaixo:
// C:\xampp\php>php c:\estudos_php\estudos.php
// para ler a entrada do usuário
$entrada = fopen("php://stdin","r");
// vamos ler o valor do hora aula
echo "Informe o valor da hora aula: ";
$valor_hora_aula = trim(fgets($entrada));
// vamos ler o número de horas trabalhadas no mês
echo "Informe o número de horas trabalhadas no mês: ";
$horas_trabalhadas = trim(fgets($entrada));
// vamos ler o percentual de desconto do INSS
echo "Informe o percentual de desconto do INSS: ";
$percentual_desconto_INSS = trim(fgets($entrada));
// vamos calcular o salário bruto
$salario_bruto = $valor_hora_aula * $horas_trabalhadas;
// agora calculamos o total do desconto
$total_desconto = ($percentual_desconto_INSS / 100) *
$salario_bruto;
// finalmente calculamos o salário líquido
$salario_liquido = $salario_bruto - $total_desconto;
// mostramos o resultado
echo "Salário Bruto: R$ " .
number_format($salario_bruto, 2, ',', '.');
echo "\nTotal de Descontos: R$ " .
number_format($total_desconto, 2, ',', '.');
echo "\nSalário Líquido: R$ " .
number_format($salario_liquido, 2, ',', '.');
?>
|
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como remover parte de uma string em C++ usando a função erase()Quantidade de visualizações: 17838 vezes |
|
Em algumas situações nós precisamos remover parte de uma palavra, frase ou texto em C++. Para isso nós podemos usar a função erase(). Esta função é usada para remover parte de uma string, consequentemente diminuindo seu tamanho. Veja a sua assinatura: string& erase(size_t pos = 0, size_t n = npos); Veja o código C++ completo para o exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// vamos criar uma string
string frase("Gosto de MySQL");
// Antes da remoção
cout << "Antes da remocao: " << frase << endl;
// vamos remover "My"
string nova_frase = frase.erase(9, 2);
// e mostramos o resultado
cout << "Depois da remocao: " << nova_frase << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Antes da remoção: Gosto de MySQL Depois da remoção: Gosto de SQL |
Java ::: Dicas & Truques ::: Expressões Regulares |
Como remover espaços em excesso de uma string usando expressões regulares em JavaQuantidade de visualizações: 13054 vezes |
|
Nesta dica mostrarei como é possível usar expressões regulares em Java para remover espaços em excesso de uma string, tanto no início, meio e fim. Note que vamos deixar apenas um espaço entre as palavras da frase. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.util.regex.*;
public class Estudos{
public static void main(String args[]){
String padrao = "\\s{2,}";
Pattern regPat = Pattern.compile(padrao);
String frase = " Esta frase contém espaços ";
Matcher matcher = regPat.matcher(frase);
String res = matcher.replaceAll(" ").trim();
System.out.println("Com espaços: " + frase);
System.out.println("Sem espçaos: " + res);
}
}
Ao executar este código nós teremos o seguinte resultado: Com espaços: Esta frase contém espaços Sem espaços: Esta frase contém espaços |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
Java - Como carregar uma imagem em um BufferedImage do Java usando o método read() da classe ImageIO Java - Como retornar a quantidade de palavras em uma string Java usando um objeto da classe StringTokenizer |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




