Ruby ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como retornar a versão do Ruby instalada na sua máquina usando ruby -v ou a constante RUBY_DESCRIPTIONQuantidade de visualizações: 9396 vezes |
Se você quiser saber a versão do Ruby instalada em seu computador, ou a versão do interpretador sendo usado no momento, basta abrir uma janela de comando e disparar o comando:ruby -v Você terá um resultado parecido com o seguinte: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32] Se você estiver na tela do Interactive Ruby, você pode simplesmente digitar RUBY_DESCRIPTION e pressionar Enter. O resultado será o mesmo exibido em uma janela de comando usando ruby -v. Podemos também usar a constante RUBY_DESCRIPTION dentro de um script Ruby. Veja: # Este exemplo mostra como obter a versão do Ruby # usando a constante RUBY_DESCRIPTION # guarda a versão em uma variável versao = RUBY_DESCRIPTION # mostra na tela puts "A versão do Ruby é: #{versao}" Ao executar este código Ruby nós teremos o seguinte resultado: A versão do Ruby é: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32] |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica |
Exercícios Resolvidos de Python - Qual seria a vazão (m3/h) de saída para uma bacia hidrográfica "completamente impermeável", com área de 60 km2, sob uma chuva constanteQuantidade de visualizações: 517 vezes |
Pergunta/Tarefa: 1) Qual seria a vazão (m3/h) de saída para uma bacia hidrográfica "completamente impermeável", com área de 60 km2, sob uma chuva constante à taxa de 10 mm/h? A) 180.000 m3/h B) 6.000 m3/h C) 600.000 m3/h D) 60.000 m3/h E) 600.000.000 m3/h Sua saída deve ser parecida com: Área da bacia em km2: 60 Precipitação em mm/h: 10 A vazão é: 600000.0 m3/h O primeiro passo para resolver esta questão é relembrar a fórmula da vazão: \[\text{Q} = \text{A} \cdot \text{v}\] Onde: Q = vazão em m3/s, m3/h, etc; A = área da bacia m2, km2, etc. v = a taxa da chuva, ou seja, a precipitação em mm/s, mm/h, etc. A maior dificuldade aqui é a conversão das unidades, pois o exercício nos pede a vazão em m3/h. Por essa razão temos que converter a área para metros quadrados e a precipitação em milímetros para precipitação em metros. Então, hora de vermos a resolução comentada deste exercício usando Python: # função principal do programa def main(): # vamos ler a área da bacia em km2 area = float(input("Área da bacia em km2: ")) # vamos ler a precipitação em milímetros por hora precipitacao = float(input("Precipitação em mm/h: ")) # vamos calcular a vazão em metros cúbicos por hora # primeiro convertemos a área para metros quadrados area = area * 1000000.0 # agora convertemos milímetros para metros precipitacao = precipitacao / 1000.0 # e calculamos a vazão vazao = area * precipitacao # e mostramos o resultado print("A vazão é: {0} m3/h".format(vazao)) if __name__== "__main__": main() |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução switch do C#Quantidade de visualizações: 26518 vezes |
A instrução switch da linguagem C# é útil quando queremos testar condições nas quais o uso de if..else if..else poderia ser considerado excessivo ou não aplicável. Esta instrução recebe uma variável como argumento e testa seu valor por meio de cláusulas case. Veja o exemplo: static void Main(string[] args){ Console.Write("Digite um número inteiro: "); int valor = int.Parse(Console.ReadLine()); switch(valor){ case 1: Console.WriteLine("Você digitou o valor 1"); break; case 2: Console.WriteLine("Você digitou o valor 2"); break; case 3: Console.WriteLine("Você digitou o valor 3"); break; default: Console.WriteLine("Valor incorreto."); break; } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Note que a instrução switch possui uma cláusula default para os casos nos quais o valor da variável não estiver presente em nenhuma das cláusulas case. Observe também o uso da instrução break para evitar a avaliação das cláusulas seguintes àquela na qual o valor desejado foi encontrado. Qualquer objeto, valor ou tipo referência que puder ser convertido em um valor inteiro, caractere, enumeração (enum) ou string pode ser usado como argumento para uma instrução switch. Veja: static void Main(string[] args){ Console.Write("Digite uma letra: "); char letra = Char.Parse(Console.ReadLine().ToLower()); switch(letra){ case "a": Console.WriteLine("Você digitou a letra a"); break; case "b": Console.WriteLine("Você digitou a letra b"); break; case "c": Console.WriteLine("Você digitou a letra c"); break; default: Console.WriteLine("Letra inválida."); break; } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } É possível haver cláusulas case vazias. Neste caso, o bloco de instruções é executado caso o valor da variável seja encontrado em qualquer uma das cláusulas. Veja: static void Main(string[] args){ Console.Write("Digite uma letra: "); char letra = Char.Parse(Console.ReadLine().ToLower()); switch(letra){ case "a": case "b": Console.WriteLine("Você digitou a ou b"); break; case "c": case "d": Console.WriteLine("Você digitou c ou d"); break; case "e": Console.WriteLine("Você digitou a letra e"); break; default: Console.WriteLine("Letra inválida."); break; } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } |
JavaScript ::: Web APIs (APIs Web) ::: MediaDevices Interface (Interface MediaDevices) |
Como acessar as mídias do usuário em JavaScript usando a função getUserMedia() da interface MediaDevicesQuantidade de visualizações: 2769 vezes |
O método getUserMedia() da interface MediaDevices nos permite acessar as entradas de mídias do usuários, tais como áudio e vídeo. Isso facilita o desenvolvimento de aplicações muito interessantes, a saber, tirar foto usando a webcam, gravar áudio a partir do microfone, gravar vídeo a partir da webcam, etc. No entanto, antes de usar o MediaStream retornado pelo método getUserMedia(), é importante saber que o usuário deverá dar a sua permissão. Assim, sempre que o método getUserMedia() é chamado, uma janela de informação é mostrada para que o usuário concorde ou não em permitir o acesso às suas mídias. Veja, por exemplo, como solicitar acesso à webcam/câmera do usuário: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>A interface MediaDevices</title> </head> <body> <script type="text/javascript"> async function obterMediaUsuario(){ // vamos obter o stream var stream = null; try{ stream = await navigator.mediaDevices.getUserMedia({video: true}); window.alert("A mídia para vídeo foi obtida com sucesso."); // agora podemos fazer algo com o stream aqui } catch(erro){ window.alert("Houve um erro: " + erro); } } // o browser suporta o MediaDevices? if(navigator.mediaDevices){ obterMediaUsuario() } else{ window.alert("O navegador não suporta o MediaDevices"); } </script> </body> </html> Veja que usamos uma função assíncrona para getUserMedia(). Isso é necessário porque esta função retorna uma Promise que, em caso de sucesso, será convertida em um objeto MediaStream. Se o usuário não permitir o acesso, um erro do tipo NotAllowedError ou NotFoundError será retornado. Alguns navegadores só permitem o uso do método getUserMedia() em ambiente seguro HTTPS ou localhost. Em mais dicas dessa seção você verá como tirar proveito do MediaStream retornado pela função getUserMedia() e também como tratar melhor os erros retornados. |
MySQL ::: Dicas & Truques ::: Data e Hora |
Como adicionar horas, dias, semanas, meses, anos, etc, ao valor de um campo DATE ou DATETIME usando a função DATE_ADD() do MySQLQuantidade de visualizações: 11392 vezes |
A função DATE_ADD() é muito útil quando precisamos adicionar horas, dias, semanas, meses, etc, ao valor de um campo do tipo DATE ou DATETIME. Esta função é composta de três partes:DATE_ADD(date, INTERVAL expr unit) O argumento date deve ser do tipo DATE ou DATETIME. O argumento expr indica um número inteiro que indica a quantidade de horas, dias, meses, etc, que será usada como intervalo. O argumento unit indica a unidade a ser usada. Valores possíveis são: HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc. Veja um exemplo no qual adicionamos 15 dias à data atual: SELECT DATE_ADD(NOW(), INTERVAL 15 DAY) Suponha que você tenha um campo chamado data_hora_compra do tipo DATETIME e que este campo tenha o valor 2008-03-30 02:30:15. A query: SELECT DATE_ADD(data_hora_compra, INTERVAL 2 MONTH) FROM tabela_estudos retornará 2008-05-30 02:30:15. |
VB.NET ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros simples e montante em VB.NETQuantidade de visualizações: 8669 vezes |
O regime de juros será simples quando o percentual de juros incidir apenas sobre o valor principal. Sobre os juros gerados a cada período não incidirão novos juros. Valor Principal ou simplesmente principal é o valor inicial emprestado ou aplicado, antes de somarmos os juros. Transformando em fórmula temos: J = P . i . n Onde: J = juros P = principal (capital) i = taxa de juros n = número de períodos Imaginemos uma dívida de R$ 2.000,00 que deverá ser paga com juros de 5% a.m. pelo regime de juros simples e o prazo para o pagamento é de 2 meses. O cálculo em VB.NET pode ser feito assim: Module Module1 Sub Main() Dim principal As Double = 2000.0 Dim taxa As Double = 0.08 '8% Dim meses As Integer = 2 Dim juros As Double = principal * taxa * meses Console.WriteLine("O total de juros a ser pago é: " _ & juros) Console.WriteLine() Console.WriteLine("Pressione uma tecla para sair...") Console.ReadKey() End Sub End Module O montante da dívida pode ser obtido das seguintes formas: a) Montante = Principal + Juros b) Montante = Principal + (Principal x Taxa de juros x Número de períodos) M = P . (1 + (i . n)) Veja o código: Module Module1 Sub Main() Dim principal As Double = 2000.0 Dim taxa As Double = 0.08 '8% Dim meses As Integer = 2 Dim juros As Double = principal * taxa * meses Dim montante As Double = principal * (1 + (taxa * meses)) Console.WriteLine("O total de juros a ser pago é: " _ & juros) Console.WriteLine("O montante a ser pago é: " & montante) Console.WriteLine() Console.WriteLine("Pressione uma tecla para sair...") Console.ReadKey() End Sub End Module |
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em Java - Como inserir nós no final de uma lista singularmente ligada em JavaQuantidade de visualizações: 8166 vezes |
Esta dica mostra como inserir nós no final de uma lista singularmente ligada. A classe usada para representar cada nó é a seguinte (No.java):// classe No public class No{ public int valor; public No proximo; } // fim da classe No Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção no final quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código para a lista singularmente ligada (Lista.java): public class Lista { No inicio, fim; // início e fim da lista // método que permite exibir os valores de // todos os nós da lista public void exibir() { // vamos obter uma referência ao início da lista No no = inicio; if (no != null) { // a lista não está vazia while (no != null) { // enquanto a lista não estiver vazia System.out.println(no.valor); no = no.proximo; // pula para o nó seguinte } } else { System.out.println("A lista está vazia\n\n"); } } // método que permite inserir nós no // final da lista. // veja que o método recebe o valor a ser // armazenado em cada nó public void inserirFinal(int v) { No novo = new No(); // cria um novo nó novo.valor = v; // é o nó no final, portanto não deverá apontar para nenhum // outro nó novo.proximo = null; // verifica se a lista está vazia if (inicio == null) { // novo aponta para o novo nó inicio = novo; // final deve apontar para o novo nó também fim = novo; } else { // não está vazia....vamos inserir o nó no final da lista // o campo próximo do último nó aponta para o nó recém-criado fim.proximo = novo; // o campo fim aponta para o novo nó...o campo inicio permanece igual fim = novo; } } } Compile as classes No.java e Lista.java e vamos escrever um aplicativo de teste (Main.java): public class Main { public static void main(String[] args) { // vamos criar uma nova lista Lista lista = new Lista(); // vamos inserir quatro valores no // finalo da lista lista.inserirFinal(45); lista.inserirFinal(3); lista.inserirFinal(98); lista.inserirFinal(17); // exibe os valores na lista lista.exibir(); } } Ao executar o aplicativo teremos o seguinte resultado: 45 3 98 17 |
AutoCAD .NET API C# ::: Dicas & Truques ::: Polyline - Polilinha |
Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# APIQuantidade de visualizações: 475 vezes |
Em várias situações nós precisamos efetuar cálculos usando os vértices de uma polilinha. Nesta dica eu mostro como podemos pedir para o usuário selecionar uma polilinha na área de desenho do AutoCAD e mostrar as coordenadas x e y de cada um dos vértices. No código abaixo eu trato duas formas de polilinhas no AutoCAD: a polilinha 2D Polyline e a polilinha 3D, representada pelo objeto Polyline3d. Note que as formas de se extrair os vértices desses dois objetos são completamente diferentes. Se a polilinha for 2D, seus vértices são extraído usando-se a função GetPoint2dAt(), que retorna um objeto Point2d. Se a polilinha for 3D, ela será representada por um objeto da classe Polyline3d, e seus vértices são retornados como objetos PolylineVertex3d a partir de uma chamada à função GetObject() da classe Transaction. Veja o código AutoCAD .NET C# API completo para o exemplo: using System; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.EditorInput; [assembly: CommandClass(typeof(PluginEstudos.Class1))] namespace PluginEstudos { public class Class1 { [CommandMethod("estudos")] public void Estudos() { // vamos obter o documento atual Document doc = Application.DocumentManager.MdiActiveDocument; // vamos obter a base de dados Database db = doc.Database; // vamos pedir para o usuário selecionar uma polilinha PromptEntityResult resultado = doc.Editor.GetEntity( "Selecione uma polilinha: "); // a seleção foi feita com sucesso if (resultado.Status != PromptStatus.OK) { Application.ShowAlertDialog("Nenhum elemento selecionado."); return; } // iniciamos uma transação using (Transaction trans = db.TransactionManager.StartTransaction()) { // obtemos a polilinha selecionada DBObject objeto = trans.GetObject(resultado.ObjectId, OpenMode.ForRead); // vamos testar se a polilinha é do tipo leve ou otimizada Polyline polilinha2d = objeto as Polyline; if (polilinha2d != null) { // vamos percorrer todos os vértices, um de cada vez int numero_vertices = polilinha2d.NumberOfVertices; for (int i = 0; i < numero_vertices; i++) { // vamos obter um objeto Point2d ou Point3d Point2d ponto = polilinha2d.GetPoint2dAt(i); // e escrevemos na janela de comandos doc.Editor.WriteMessage("\nX = " + ponto.X.ToString("0.00") + "; Y = " + ponto.Y.ToString("0.00")); } } // é uma polilinha do tipo pesada, ou heavy else { Polyline3d polilinha3d = objeto as Polyline3d; if (polilinha3d != null) { // percorremos cada um dos vértices foreach (ObjectId id_vertice in polilinha3d) { PolylineVertex3d vertice3d = (PolylineVertex3d)trans.GetObject( id_vertice, OpenMode.ForRead); // e escrevemos na janela de comandos doc.Editor.WriteMessage("\nX = " + vertice3d.Position.X.ToString("0.00") + "; Y = " + vertice3d.Position.Y.ToString("0.00")); } } } // fechamos a transação trans.Commit(); } } } } Ao executar este código AutoCAD .NET C# API nós teremos o seguinte resultado: Command: Selecione uma polilinha: X = 168.91; Y = 159.91 X = 415.17; Y = 126.24 X = 317.08; Y = 24.18 X = 80.53; Y = 104.29 |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string para letras maiúsculas em JavaScript usando a função toUpperCase() do objeto String - JavaScript para iniciantesQuantidade de visualizações: 144 vezes |
A função toUpperCase() do objeto String da linguagem JavaScript nos permite transformar todos os caracteres de uma palavra, frase ou texto em letras maiúsculas. Veja o código completo para o exemplo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var frase = "Veja Esta Frase."; document.writeln(frase); frase = frase.toUpperCase(); document.writeln("<br>" + frase); </script> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: Veja Esta Frase. VEJA ESTA FRASE. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como usar o método startsWith() da classe String do Java para verificar se uma string começa com uma substring - Como testar o conteúdo no início de uma stringQuantidade de visualizações: 312 vezes |
Em algumas situações gostaríamos de verificar se uma palavra, frase ou texto começa com uma determinada substring. Para isso podemos usar o método startsWith() da classe String da linguagem Java. Veja um código completo no qual verificamos se um endereço de um site na internet começa com "https": package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String site = "https://www.arquivodecodigos.com.br"; if(site.startsWith("https")){ System.out.println("Este site parece ser seguro."); } else{ System.out.println("Este site não parece ser seguro."); } System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Este site parece ser seguro. |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array jQuery - Como remover uma classe (ou classes) de um elemento HTML usando a função removeClass() do jQuery |
Você também poderá gostar das dicas e truques de programação abaixo |
C++ - C++ Windows API GUI - Como criar sua primeira aplicação de interface gráfica usando C++ e WinAPI JavaScript - Como exibir apenas dois dígitos após o ponto decimal em JavaScript usando a função toFixed() do objeto Number |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |