![]() |
|
|
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# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C# para iniciantes - Como escrever um laço for infinito em C#Quantidade de visualizações: 10837 vezes |
A linguagem C# permite a criação de laços for infinitos. Para isso, só precisamos omitir as partes de inicialização, teste de condição de parada e incremento ou decremento da variável de controle. Veja um exemplo:
using System;
namespace Estudos{
class Program{
static void Main(string[] args) {
for (; ; ) {
Console.Write("Digite um número inteiro " +
"(-1 para sair): ");
int valor = int.Parse(Console.ReadLine());
// testa se o valor lido é -1. Se for pára
// o laço
if (valor == -1)
break;
// exibe o valor lido
Console.WriteLine("Valor lido: {0}", valor);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executarmos este código nós teremos o seguinte resultado: Digite um número inteiro (-1 para sair): 54 Valor lido: 54 Digite um número inteiro (-1 para sair): 23 Valor lido: 23 Digite um número inteiro (-1 para sair): 90 Valor lido: 90 Digite um número inteiro (-1 para sair): -1 Pressione uma tecla para sair... Veja como usamos a instrução break para sair do laço caso o valor lido seja -1. Observe ainda o uso do método Parse() da classe Int32 para converter a string digitada pelo usuário em um valor do tipo int. |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Portugol - Calculando e exibindo os números primos entre 2 e 100Quantidade de visualizações: 779 vezes |
|
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa (algorítmo) Portugol Web Studio que usa um laço PARA, ENQUANTO ou FACA...ENQUANTO para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). Sua saída deverá ser parecida com: Numeros primos entre 2 e 100: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Veja a resolução comentada deste exercício usando Portugol Web Studio:
programa {
funcao inicio() {
// limite dos números primos (incluindo)
inteiro limite = 100
logico primo
// Lembre-se! O número 1 não é primo
escreva("Numeros primos entre 2 e " + limite + ":\n")
// laço que percorre os valores de 2 até o limite desejado
para (inteiro i = 2; i <= limite; i++) {
primo = verdadeiro
// se o valor de i for 7, a variável j do laço contará
// de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o
// módulo de 7 por qualquer um dos valores neste intervalo
// for igual a 0, então o número não é primo
para (inteiro j = 2; j <= (i / 2); j++) {
se (i % j == 0) {
primo = falso // não é primo
pare
}
}
se (primo == verdadeiro) {
escreva(i, " ")
}
}
}
}
|
Node.js ::: Dicas & Truques ::: Arquivos e Diretórios |
Como obter o diretório de instalação do Node.js - O diretório de trabalho do Node.jsQuantidade de visualizações: 2526 vezes |
|
Em algumas situações nós gostaríamos de obter o diretório de instalação, ou diretório de trabalho do Node.js. Isso pode ser feito por meio da variável __dirname ou da função cwd() do objeto process. Tanto a variável quanto a função process.cwd() fazem parte do core do Node.js e não precisam ser importados. Veja abaixo um exemplo de um aplicação funcional que mostra o nome do diretório de trabalho:
// importamos o módulo HTTP
var http = require("http");
http.createServer(function(request, response){
// Aqui nós enviamos o cabeçalho HTTP, com a resposta
// 200 (OK) e o content type text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// Vamos obter e mostrar o diretório de trabalho do Node.js
var diretorio = __dirname;
// poderíamos também usar
// var diretorio = process.cwd();
response.write('O diretório de trabalho é: ' + diretorio + '\n');
// fechamos a resposta HTTP
response.end();
}).listen(8081); // o HTTP server vai ouvir na posta 8081
// Que tal uma mensagem no console?
console.log('O servidor está ouvindo em http://127.0.0.1:8081/');
Depois de executar o servidor, abra seu navegador no endereço http://127.0.0.1:8081 e você terá o seguinte resultado: O diretório de trabalho é: c:\estudos_nodejs |
C# ::: LINQ ::: LINQ to Objects |
Como retornar o maior elemento em um array de int em C# usando a função Max() do LINQQuantidade de visualizações: 4459 vezes |
|
Nesta dica mostrarei, em um exemplo bem simples, como podemos usar o método Max() do LINQ (Language-Integrated Query) do C# para retornar o maior elemento de um vetor de inteiros. Note que temos um vetor de int com os valores {5, 2, 8, 3, 0, 1} e o valor 8 deverá ser retornado como sendo o maior. Veja o código completo para o exemplo:
using System;
using System.Linq;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// vamos construir um vetor de inteiros
int[] valores = {5, 2, 8, 3, 0, 1};
// vamos obter o maior elemento do vetor
int maior = valores.Max();
// vamos mostrar o resultado
Console.WriteLine("O maior valor é: {0}", maior);
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: O maior valor é: 8 Fique atento ao fato de que o método Max() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas. Veja o resultado ao chamarmos este método em um vetor vazio: System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.ThrowHelper.ThrowNoElementsException() at System.Linq.Enumerable.Max(IEnumerable`1 source) at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11 |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador final em classes, variáveis e métodos Java - Programação Orientada a Objetos em JavaQuantidade de visualizações: 14191 vezes |
O modificador final pode ser usado com classes, variáveis e métodos. É claro que o significado varia dependendo do uso. Por exemplo, ao marcarmos uma variável com o modificador final, estamos na verdade criando uma constante, ou seja, uma variável cujo conteúdo não pode ser alterado durante a execução do programa. Veja:
public class Estudos{
static final int VALOR = 45;
public static void main(String args[]){
// vamos tentar alterar o valor da
// constante
VALOR = 10;
}
}
Ao tentarmos compilar este programa teremos a seguinte mensagem de erro:
Estudos.java:7: cannot assign a value to
final variable VALOR
VALOR = 10;
^
1 error
Tenha em mente, porém, que quando uma variável marcada como final é uma referência a um objeto, é a referência que não poderá ser alterada. As propriedades do objeto para a qual ela aponta poderão sofrer alterações, exceto se estes também estiverem marcados como final. Quando aplicado a classes, o modificador final garante que a classe não poderá ser extendida, ou seja, não é possível criar uma classe derivada a partir de uma classe marcada como final. Veja:
// superclasse
final class Pessoa{
public String nome;
}
// subclasse
class Aluno extends Pessoa{
public String matricula;
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:7: cannot inherit from
final Pessoa
class Aluno extends Pessoa{
^
1 error
Um método marcado como final não pode ser sobrescrito. Veja um exemplo:
// superclasse
class Pessoa{
protected String nome;
public final String getNome(){
return this.nome;
}
}
// subclasse
class Aluno extends Pessoa{
// estamos sobrescrevendo o método
// herdado da superclasse
public final String getNome(){
return "Aluno: " + this.nome;
}
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:14: getNome() in Aluno cannot
override getNome() in Pessoa; overriden method is final
public final String getNome(){
^
1 error
Resumindo: variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




