Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica |
Como aplicar a Fórmula da Vazão pelo Método Racional em C# - De acordo com o método racional, a vazão máxima a ser considerada - Desafio de Programação Resolvido em C#Quantidade de visualizações: 127 vezes |
Pergunta/Tarefa: Neste exercício de C# nós veremos como aplicar a Fórmula da Vazão pelo Método Racional para resolver uma questão de Hidrologia que caiu no concurso para Analista na Área de Engenharia Sanitária do MPE-MS em 2013. 1) De acordo com o método racional, a vazão máxima a ser considerada no projeto de um bueiro para uma chuva de intensidade igual a 2 mm/h, com duração igual ou superior ao tempo de concentração da bacia de contribuição que possui área igual a 18 km2 e coeficiente de escoamento superficial igual a 0,7 será, em m3/s, igual a A) 5,4. B) 7,0. C) 11,5. D) 14,0. E) 25,2. Sua saída deve ser parecida com: Intensidade da chuva em mm/h: 2 Área da bacia em quilômetros quadrados: 18 Coeficiente de escoamento: 0,7 A vazão máxima é: 7,0 O primeiro passo para resolver esta questão é relembrando a fórmula da Vazão pelo Método Racional. Apresentado pela primeira vez em 1851 por Mulvaney e usado por Emil Kuichling em 1889, o Método Racional é um método indireto e estabelece uma relação entre a chuva e o escoamento superficial (deflúvio). Usamos esta fórmula para calcular a vazão de pico de uma determinada bacia, considerando uma seção de estudo. Eis a fórmula: \[Q = \frac{C \cdot I \cdot A}{360} \] Onde: Q = vazão de pico (m3/s); C = coeficiente de escoamento superficial que varia de 0 a 1. I = intensidade média da chuva (mm/h); A = área da bacia (ha), onde 1 ha = 10.000m2 Na questão do concurso nós já temos a intensidade da chuva em milímetros por hora, mas a área da bacia está em quilômetros quadrados, o que exigirá uma conversão para hectares. No código C# eu mostro essa parte comentada. Então, hora de vermos a resolução comentada deste exercício usando C#: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; namespace Estudos { class Principal { // função principal do programa C# static void Main(string[] args) { // variáveis usadas na resolução do problema double intensidade, area_bacia, coeficiente, vazao; // vamos ler a precipitação ou intensidade da chuva em mm/h Console.Write("Intensidade da chuva em mm/h: "); intensidade = Double.Parse(Console.ReadLine()); // vamos ler a área da bacia em quilômetros quadrados Console.Write("Área da bacia em quilômetros quadrados: "); area_bacia = Double.Parse(Console.ReadLine()); // vamos ler o coeficiente de escoamento Console.Write("Coeficiente de escoamento: "); coeficiente = Double.Parse(Console.ReadLine()); // agora vamos transformar quilômetros quadrados em // hectares area_bacia = area_bacia * 100; // e vamos calcular a vazão de pico em metros cúbicos vazao = ((coeficiente * intensidade * area_bacia) / 360.0); // e mostramos o resultado Console.WriteLine("A vazão máxima é: " + vazao); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
Link para compartilhar na Internet ou com seus amigos: |
C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando o operador new do C++Quantidade de visualizações: 12067 vezes |
Em algumas situações precisamos alocar memória dinamicamente. Em C++ isso é feito com o auxílio do operador new. Este operador permite alocar uma determinada quantidade de bytes, alinhados de forma a representar o objeto para o qual queremos reservar memória. Veja um exemplo de código no qual alocamos memória dinâmica para uma variável do tipo int: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; int main(int argc, char *argv[]){ // aloca memória para um objeto do tipo int int *ponteiro = new int; // vamos definir o valor para o objeto recém-alocado *ponteiro = 20; // vamos exibir seu valor cout << *ponteiro << endl; // vamos liberar a memória delete ponteiro; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Note que aqui a memória foi alocada e guardada em um ponteiro. Veja também o uso do operador delete para liberar a memória alocada. Isso evita os vazamentos de memória tão frequentes em aplicações que lidam com a memória dinâmica. É claro que este não é o exemplo mais prático. Qual a vantagem de se alocar memória para um int? Declarar uma variável teria sido mais eficiente. A alocação de memória dinâmica é mais útil quando estamos lidando com objetos mais complexos que os tipos básicos. Alguns exemplos envolvem a criação de objetos de classes, matrizes, estruturas de dados, etc. Veja um exemplo no qual temos uma declaração de uma classe chamada Cliente e em seguida alocamos memória para uma instância desta classe: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <string> using namespace std; // declaração da classe Cliente class Cliente{ public: Cliente(); string obterNome(); void definirNome(string); private: string nome; }; // implementação dos métodos da classe Cliente::Cliente(){} // construtor vazio // obtém o nome do cliente string Cliente::obterNome(){ return this->nome; } // define o nome do cliente void Cliente::definirNome(string nome){ this->nome = nome; } int main(int argc, char *argv[]){ // aloca memória para um objeto da classe Cliente Cliente *c = new Cliente(); // vamos definir o nome do cliente c->definirNome("Osmar J. Silva"); // vamos exibir o nome do cliente cout << c->obterNome() << endl; // vamos liberar a memória usada delete c; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Nome do cliente: Osmar J. Silva |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o caractere a partir de um determinado código ASCII em Delphi usando a função Chr()Quantidade de visualizações: 21408 vezes |
Em algumas situações precisamos obter um caractere a partir de sua representação ASCII. Em Delphi isso pode ser feito por meio da função Chr(). Esta função recebe um número inteiro e devolve o caractere correspondente. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var codigo: integer; letra: char; begin codigo := 65; // código ASCII // vamos obter o caractere letra := Chr(codigo); // vamos exibir o resultado ShowMessage('O caractere para o código informado é: ' + letra); end; É importante notar que esta função pode ser usada para imprimir caracteres de controle, tais como tab, enter, entre outros. Assim, Chr(9) retorna o caractere de tab. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
JavaScript ::: Dicas & Truques ::: Validação de Formulários |
Validação de formulários em JavaScript - Como validar um formulário contendo usuário e senha em JavaScriptQuantidade de visualizações: 33519 vezes |
A validação de formulários em JavaScript é uma das primeiras técnicas que devemos aprender, pois ela avita a perda de tempo que ocorre com a validação somente do lado do servidor (não se esqueça: as duas são necessárias). Ao validar no navegador, o usuário já vai as devidas correções sem ter que esperar o processamento de seus dados para, só então, ser comunicado de que alguma informação está incorreta. Assim, nesta dica, mostrarei como podemos validar um nome de usuário e senha em JavaScript. Deixei o exemplo bem mais, mas você pode melhorá-lo, adicionando até expressões regulares para ampliar as situações que podem ocorrer. O código abaixo vai gerar o seguinte formulário HTML: E agora o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudando JavaScript</title> <style type="text/css"> input {margin-bottom: 3px; margin-top: 3px} </style> <script language="JavaScript"> function validar(){ // só permitirá o envio se os dados forem fornecidos if(document.login.nome.value == ""){ alert("Forneça o nome do usuário"); document.login.nome.focus(); return false; } else if(document.login.senha.value == ""){ alert("Forneça a senha do usuário"); document.login.senha.focus(); return false; } else{ return true; } } </script> </head> <body> <form name="login" action="gravar.php" method="post" onsubmit="return validar()"> Usuário:<br> <input type="text" id="nome" name="nome"><br> Senha:<br> <input type="password" id="senha" name="senha"><br> <input type="submit" value="Entrar!"> </form> </body> </html> |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como calcular a quantidade de dias restantes para o fim do ano em JavaScriptQuantidade de visualizações: 8673 vezes |
Desde a época que criamos o site, muitos usuários nos perguntam como escrever um código JavaScript que calcula e mostra a quantidade de dias restantes para o fim do ano. Nesta dica eu mostro como isso pode ser feito. É claro que você pode alterá-lo para calcular a quantidade de dias restantes para qualquer data. Veja a página HTML completa para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Datas em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos obter a data de hoje var hoje = new Date(); // vamos construir a data do final do ano var fim_ano = new Date(hoje.getFullYear(), 11, 31); // quantidade de milisegundos em um dia var milisegundos_dia = 1000 * 60 * 60 * 24; // calculamos os dias restantes para o fim do ano var dias_restantes = Math.ceil((fim_ano.getTime() - hoje.getTime()) / (milisegundos_dia)); // e mostramos o resultado document.write("Hoje é: " + hoje.toString() + "<br>"); document.write("Faltam " + dias_restantes + " dias para o fim do ano."); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Hoje é: Sat Feb 04 2023 12:47:50 GMT-0300 (Horário Padrão de Brasília) Faltam 330 dias para o fim do ano. |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um diretório em Java usando o método renameTo() da classe File - Arquivos e diretórios em JavaQuantidade de visualizações: 8701 vezes |
Nesta dica mostrarei como podemos usar o método renameTo() da classe File da linguagem Java para renomear um diretório. Veja que este método retorna boolean, ou seja, o valor true caso o diretório for renomeado com sucesso e false em caso contrário. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.io.*; public class Estudos{ public static void main(String[] args){ // diretorio com o nome antigo File dir1 = new File("c:\\java"); // diretorio com o novo nome File dir2 = new File("c:\\java_novo"); boolean ok = dir1.renameTo(dir2); if(ok){ System.out.println("Diretorio renomeado com sucesso."); } else{ System.out.println("Nao foi possivel renomear o diretorio."); } } } Ao executar este código Java nós teremos o seguinte resultado: Diretorio renomeado com sucesso. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |