![]() |
|
|
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 Cards de Hidrologia |
||
|
||
|
|
||
JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle |
JavaScript para iniciantes - Como usar o laço do-while da linguagem JavaScriptQuantidade de visualizações: 8027 vezes |
O laço do..while (também chamado de loop ou laço repita enquanto) da linguagem JavaScript é usado quando queremos repetir uma instrução ou um grupo de instruções ENQUANTO uma condição for satisfeita. Veja sua sintáxe:
do{
// uma instrução ou grupo de instruções
}while(condição);
A condição pode ser qualquer expressão que resulte em um valor boolean (true ou false). Note também que, diferente do laço while (enquanto) o teste condicional do laço do-while é feito DEPOIS de cada iteração (repetição) do laço. Isso faz com que este laço seja executado no mínimo uma vez. Veja um trecho de código no qual usamos o laço do..while para contar de 0 até 10:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
var i = 0;
do{
document.write(i + "<br>");
i++;
}while(i <= 10);
</script>
</body>
</html>
Ao executarmos este código teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Veja que declaramos uma variável de controle i e a inicializamos com o valor 0. No corpo do laço nós exibimos o valor da variável de controle e a incrementamos em 1. Em seguida nós verificamos se seu valor é menor ou igual a 10. Como esta condição é satisfeita, o laço é executado pela segunda vez. Dessa forma o ciclo continua até que o valor da variável de controle seja maior que 10, o que faz com que o laço cesse sua repetição. Veja agora como modificar o laço do-while anterior para exibir os números de 10 até 0:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
var i = 10;
do{
document.write(i + "<br>");
i--;
}while(i >= 0);
</script>
</body>
</html>
Agora o resultado do código será: 10 9 8 7 6 5 4 3 2 1 0 Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
Python ::: Dicas & Truques ::: Lista (List) |
Como ordenar uma lista de inteiros em Python de acordo com a soma dos dígitos de seus elementos usando uma função lambdaQuantidade de visualizações: 1100 vezes |
|
Nesta dica mostrarei como podemos usar uma função lambda em Python para ordenar uma lista de inteiros de acordo com a soma dos seus dígitos. Este é um código muito interessante e que permitirá um melhor entendimento de funções lambda em Python. Veja o código completo para o exemplo:
# método usado para ordenar a lista de acordo com a soma
# de seus dígitos
def ordenar(vetor):
return sorted(vetor, key=lambda n: sum(int(c) for c in str(n) if c != "-"))
# função principal do programa
def main():
# vamos criar uma lista de inteiros
valores = [21, 10, 8, 32, 70, 41, 40, 11]
# vamos exibir a lista original
print("Lista na ordem original: {0}".format(valores))
# agora vamos ordenar de acordo com a soma dos dígitos
lista_ordenada = ordenar(valores)
print("Lista ordenada: {0}".format(lista_ordenada))
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Lista na ordem original: [21, 10, 8, 32, 70, 41, 40, 11] Lista ordenada: [10, 11, 21, 40, 32, 41, 70, 8] |
MySQL ::: Dicas & Truques ::: Tipos de Dados |
Como usar o tipo de dados TINYINT do MySQLQuantidade de visualizações: 21795 vezes |
|
O tipo de dados TINYINT do MySQL é usado quando precisamos armazenar valores inteiros que se encaixem na faixa de -128 a 127. Este tipo ocupa 1 byte de espaço (8 bits). Veja um trecho de código no qual criamos uma tabela MySQL chamada produtos contendo três campos: CREATE TABLE produtos( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, categoria TINYINT UNSIGNED NOT NULL, nome` VARCHAR(45) NOT NULL, PRIMARY KEY(id) ) ENGINE = InnoDB; Aqui nós usamos o tipo TINYINT para a categoria do produto. Isso quer dizer que poderemos ter no máximo 127 categorias diferentes no sistema. Mas, note o uso do modificador UNSIGNED após o nome do tipo de dados. Este modificador faz com que o valor seja somente positivo, o que altera a faixa de valores positivos para 0 até 255. Valores negativos não serão permitidos. Veja agora uma instrução SQL INSERT que insere um novo produto na tabela recém-criada: INSERT INTO produtos VALUES(null, 23, 'CAMISETA REGATA AX'); Se o valor fornecido para a categoria estiver fora da faixa permitida para um TINYINT você verá a seguinte mensagem de erro: Out of range value adjusted for column 'categoria' at row 1 (Erro: 1264) Vamos verificar o comportamento deste tipo de dados em uma função MySQL? Veja o código que cria uma função somar(): DELIMITER $$ DROP FUNCTION IF EXISTS somar $$ CREATE FUNCTION somar(a TINYINT, b TINYINT) RETURNS TINYINT BEGIN RETURN a + b; END $$ DELIMITER ; Veja que os parâmetros e o retorno da função são do tipo TINYINT. Eis uma demonstração de como chamá-la: SELECT somar(4, 3) AS soma; Experimente fornecer valores que, quando somados, excedam a capacidade de um TINYINT e observe o comportamento da função. Para finalizar, note que é comum informarmos o tipo TINYINT com um valor inteiro em parênteses, por exemplo, TINYINT(2). Este número nos parênteses não interfere em nada nos valores a serem armazenados. Ele é usado para controlar a largura do campo na exibição do valor nos resultados de uma query SELECT ou como um lembrete da quantidade de dígitos a serem usados no campo. |
C ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como usar ponteiros void na linguagem C - Curso de Linguagem C para iniciantesQuantidade de visualizações: 17312 vezes |
Em dicas desta seção você aprendeu que é possível criar ponteiros para os mais diferentes tipos. Veja:int *ponteiro_int; float *ponteiro_float; double *ponteiro_double; Existe, porém, um tipo de ponteiro que pode ser usado com todos os tipos de dados existentes ou ainda a serem criados. Este tipo é conhecido como void, ou seja, um ponteiro genérico e pode ser declarado da seguinte forma: void *ponteiro; // ponteiro genérico Veja um trecho de código no qual usamos um ponteiro genéríco para apontar para variáveis de diferentes tipos:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int valor = 20;
float valor2 = 5.23;
void *ponteiro; // ponteiro genérico
ponteiro = &valor; // aponta para um inteiro
printf("%d\n", *(int *)ponteiro);
ponteiro = &valor2; // aponta para um float
printf("%0.2f\n", *(float *)ponteiro);
system("PAUSE");
return 0;
}
Uma observação importante é a necessidade de uma conversão explícita (cast) no momento de desreferenciar um ponteiro genéríco. Neste caso ele precisa ser convertido para o tipo de ponteiro sendo usado no momento. Veja:
printf("%d\n", *(int *)ponteiro);
A parte (int *)ponteiro converte o ponteiro genérico em um ponteiro do tipo int e o símbolo * externo é usado para desreferenciar. Se essa conversão não for feita teremos um aviso e erro na maioria dos compiladores. Veja:
printf("%d\n", *ponteiro);
[Warning] dereferencing 'void *' pointer
invalid use of void expression
Embora essa conversão seja necessária quando estamos desreferenciando um ponteiro genérico, podemos abrir mão dela na atribuição de um ponteiro genérico a um ponteiro de um tipo específico:
ponteiro = &valor; // aponta para um inteiro
int *ponteiro_int = ponteiro;
printf("%d\n", *ponteiro_int);
Para finalizar, saiba que as funções malloc() e calloc() retornam ponteiros void, ou seja, ponteiros genéricos que podem ser atribuídos a ponteiros de qualquer tipos. Neste caso, o ponteiro retornado por estas funções aponta para a primeira posição do bloco de memória requisitada. |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
C# para iniciantes - Como criar e inicializar um vetor (array) de strings em C#Quantidade de visualizações: 34566 vezes |
|
Neste dica mostrarei como declarar e inicializar um array (um vetor) de strings na linguagem C#. Veja que se trata de um vetor de nomes de cidades. Depois de inicializar o array com quatro nomes de cidades nós usamos o índice 3 para exibir o nome da quarta cidade. Veja o código completo para o exemplo:
using System;
namespace Estudos{
class Program{
static void Main(string[] args) {
// cria e inicializa um array de strings
string[] cidades = {"Goiânia", "São Paulo",
"Rio de Janeiro", "Curitiba"};
// exibe o valor do quarto elemento
Console.WriteLine("A cidade escolhida foi: {0}", cidades[3]);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código nós teremos o seguinte resultado: A cidade escolhida foi: Curitiba |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
|
JavaScript - Como converter uma string em um valor de ponto-flutuante em JavaScript usando a função parseFloat() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





