![]() |
|
|
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 |
||
|
||
|
|
||
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um diretório em C# usando o método MoveTo() da classe DirectoryInfoQuantidade de visualizações: 10334 vezes |
|
Nesta dica mostrarei como podemos usar a função MoveTo() da classe DirectoryInfo para renomear um diretório na linguagem C#. Note que, na verdade, o que o método MoveTo() faz é mover todo o conteúdo de um diretório (incluindo seu conteúdo) para um novo diretório, o que dá o mesmo resultado que simplesmente renomear o diretório antigo. Veja um exemplo completo de seu uso:
using System;
using System.IO;
namespace Estudos {
class Program {
static void Main(string[] args) {
// vamos criar uma instância da classe DirectoryInfo
DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\teste");
try {
// vamos chamar o método MoveTo() para renomear o diretório
dir.MoveTo(@"C:\estudos_csharp\teste_2");
Console.WriteLine("Diretório renomeado com sucesso.");
}
catch (Exception e) {
Console.WriteLine("Não foi possível renomear o diretório: {0}", e.ToString());
}
finally { }
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Diretório renomeado com sucesso. |
C ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em C - Como remover um nó no final de uma lista ligada simples em C - Listas encadeadas em CQuantidade de visualizações: 2521 vezes |
Nesta dica mostraremos como é possível excluir o nó no fim (o último nó) de uma lista encadeada simples (singly linked list) em C. Veja a função:
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
struct No *n; // nó que será removido
// nó que antecede o nó a ser removido. Isso
// faz sentido, já que ele será o último nó
// agora
struct No *anterior;
n = inicio; // aponta para o início da lista
// varremos os nós da lista e paramos um nó antes do
// nó a ser excluído
while(n->proximo != NULL){
anterior = n; // anterior assume o lugar de n
n = n->proximo; // e n assume o seu próximo
}
// anterior passa a ser o último nó agora
anterior->proximo = NULL;
// mostra o nó removido
printf("\nNo removido: %d\n", n->valor);
free(n); // libera o nó que antes era o último
return inicio;
}
Note que a função recebe um ponteiro para o início da lista e retorna também um ponteiro para o início da lista. Tenha o cuidado de verificar se a lista não está vazia antes de tentar fazer a exclusão. No exemplo eu fiz isso na função main(). Veja a listagem completa abaixo:
#include <stdio.h>
#include <stdlib.h>
// estrutura Nó
struct No{
int valor;
struct No *proximo;
};
// fim da estrutura Nó
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
if(n != NULL){
do{
printf("%d\n", n->valor);
n = n->proximo;
}while(n != NULL);
}
else
printf("A lista esta vazia\n\n");
}
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
struct No *n; // nó que será removido
// nó que antecede o nó a ser removido. Isso
// faz sentido, já que ele será o último nó
// agora
struct No *anterior;
n = inicio; // aponta para o início da lista
// varremos os nós da lista e paramos um nó antes do
// nó a ser excluído
while(n->proximo != NULL){
anterior = n; // anterior assume o lugar de n
n = n->proximo; // e n assume o seu próximo
}
// anterior passa a ser o último nó agora
anterior->proximo = NULL;
// mostra o nó removido
printf("\nNo removido: %d\n", n->valor);
free(n); // libera o nó que antes era o último
return inicio;
}
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
// reserva memória para o novo nó
struct No *novo = (struct No*)malloc(sizeof(struct No));
novo->valor = v;
// verifica se a lista está vazia
if(n == NULL){
// é o primeiro nó...não deve apontar para
// lugar nenhum
novo->proximo = NULL;
return novo; // vamos retornar o novo nó como sendo o início da lista
}
else{ // não está vazia....vamos inserir o nó no final
// o primeiro passo é chegarmos ao final da lista
struct No *temp = n; // vamos obter uma referência ao primeiro nó
// vamos varrer a lista até chegarmos ao último nó
while(temp->proximo != NULL){
temp = temp->proximo;
}
// na saída do laço temp aponta para o último nó da lista
// novo será o último nó da lista...o campo próximo dele deve
// apontar para NULL
novo->proximo = NULL;
// vamos fazer o último nó apontar para o nó recém-criado
temp->proximo = novo;
return n; // vamos retornar o início da lista intacto
}
}
int main(int argc, char *argv[])
{
// declara a lista
struct No *inicio = NULL;
// vamos inserir quatro valores no final
// da lista
inicio = inserir_final(inicio, 45);
inicio = inserir_final(inicio, 3);
inicio = inserir_final(inicio, 98);
inicio = inserir_final(inicio, 47);
// vamos exibir o resultado
printf("Valores presentes na lista ligada antes da remocao:\n");
exibir(inicio);
// vamos remover o nó no fim da lista
if(inicio != NULL){
inicio = remover_final(inicio);
}
// vamos exibir o resultado
printf("\nValores presentes na lista ligada apos a remocao:\n");
exibir(inicio);
system("pause");
return 0;
}
Ao executar esse código você terá o seguinte resultado: Valores presentes na lista ligada antes da remocao: 45 3 98 47 No removido: 47 Valores presentes na lista ligada apos a remocao: 45 3 98 Pressione qualquer tecla para continuar. . . |
PHP ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Apostila PHP para iniciantes - Como usar constantes na linguagem PHPQuantidade de visualizações: 12505 vezes |
|
Como acontece na maioria das linguagens de programação, o PHP também permite o uso de constantes. Como o próprio nome diz, constantes são inicializadas uma vez e não podem ter seus valores alterados durante a execução do programa. A definição de constantes em PHP segue as mesmas regras de nomeação de variáveis, com a exceção de que constantes não possuem o símbolo $ e são geralmente escritas em letras maiúsculas. Diferente de variáveis, constantes, uma vez definidas, são acessadas globalmente. Não há a necessidade de redeclará-las em cada nova função ou arquivo. A síntaxe de definição de uma constante é: define("CONSTANT_NAME", value [, case_sensitivity]) onde: a) CONSTANT_NAME é o nome da constante; b) value é o valor atribuído à constante. Não é possível atribuir arrays nem objetos à constantes; c) case_sensitivity permite definir se o nome da constante será tratado igualmente se referenciado usando letras maiúsculas ou minúsculas. O valor padrão é true, o que quer dizer que "VALOR" e "Valor" serão tratados como uma única constante. REVISÃO: Revisando este código no PHP 8 eu percebi que o terceiro argumento (case_sensitivity) não é mais suportado, e gera um aviso do tipo: Warning: define(): Argument #3 ($case_insensitive) is ignored since declaration of case-insensitive constants is no longer supported in... Veja um exemplo de declaração e uso de constantes em PHP:
<?
// declara uma constante com o nome MODO e valor 2
define("MODO", 2);
echo "O valor definido é: " . MODO;
?>
Veja agora o que acontece quando tentamos modificar o valor de uma variável do tipo constante:
<?
// declara uma constante com o nome MODO e valor 2
define("MODO", 2);
// vamos tentar alterar o valor da constante
MODO = 10;
?>
Este código gera a seguinte mensagem de erro: Parse error: syntax error, unexpected token "=" in... |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Exercícios Resolvidos de Python - Como usar a Ordenação da Bolha em Python para ordenar os valores de um vetor em ordem crescente ou decrescenteQuantidade de visualizações: 1200 vezes |
|
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa Python que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 Veja a resolução comentada deste exercício usando Python:
# função principal do programa
def main():
# vamos declarar e construir um vetor de 10 elementos
valores = [0 for x in range(10)]
# vamos pedir que o usuário informe os valores
for i in range(0, len(valores)):
valores[i] = int(input("Informe o valor para o índice {0}: ".format(i)))
# vamos mostrar o vetor informado
print("\nO array informado foi:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
# vamos ordenar os elementos do vetor usando a ordenação da bolha
# laço externo de trás para frente
for i in range(len(valores) - 1, 0, -1):
for j in range(0, i): # laço interno vai no fluxo normal
if valores[j] > valores[j + 1]: # temos que trocá-los de lugar
temp = valores[j]
valores[j] = valores[j + 1]
valores[j + 1] = temp
# vamos exibir o vetor já ordenado
print("\n\nO array ordenado é:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
print("\n")
if __name__== "__main__":
main()
|
Ruby ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como criar métodos que aceitam um número variável de argumentos em RubyQuantidade de visualizações: 8481 vezes |
|
Como criar uma função que aceita um número variável de argumentos em Ruby É muito fácil criar métodos que aceitam um número variável de argumentos na linguagem Ruby. Tudo que temos que fazer é fornecer um parâmetro antecedido por um asterisco. Se mais parâmetros forem fornecidos, aquele que contém o asterisco deverá vir no final da lista. Veja um exemplo:
# Um método que aceita um número variável de
# argumentos
def somar(*args)
total = 0
args.each do | arg |
total = total + arg
end
return total
end
# Usa o método com 3 argumentos
puts(somar(3, 4, 2))
# Usa o método com 2 argumentos
puts(somar(10, 20))
# Usa o método com 1 argumento
puts(somar(5))
Ao executar este código Ruby nós teremos o seguinte resultado: 9 30 5 Neste exemplo eu dei o nome args para o parâmetro com asterisco, mas podemos usar qualquer nome. |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
|
Python - Python para iniciantes - Como inserir uma determinada quantidade de espaços à direita de uma string |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




