JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar o ano com quatro dígitos em JavaScript usando a função getFullYear() do objeto Date - Datas e horas em JavaScriptQuantidade de visualizações: 9293 vezes |
Em algumas situações nós precisamos obter o ano de uma determinada data como um inteiro de quatro dígitos. Para isso nós podemos usar a função getFullYear() do objeto Date da linguagem JavaScript. Veja o código a seguir: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var data = new Date(); var ano = data.getFullYear(); document.write("Estamos no ano: " + ano); </script> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: Estamos no ano: 2021 |
Portugol ::: Dicas & Truques ::: Cadeias e Caracteres |
Como acessar os caracteres individuais de uma palavra ou frase em Portugol usando a função obter_caracter() da biblioteca TextoQuantidade de visualizações: 573 vezes |
Em algumas situações nós precisamos acessar os caracteres individuais de uma palavra ou frase no Portugol Studio ou Portugol Web Studio. Para isso nós podemos usar a função obter_caracter() da biblioteca Texto. Esta função pede, como primeiro argumento, a palavra ou frase a partir da qual o caractere será extraído e, como segundo argumento, o índice do caractere (sempre começando em 0 para o primeiro caractere). Veja um programa Portugol completo no qual obtemos o primeiro caractere de uma palavra: programa { // vamos importar a biblioteca Texto inclua biblioteca Texto --> tx funcao inicio() { cadeia palavra = "PORTUGOL" caracter letra = tx.obter_caracter(palavra, 0) escreva("A letra retornada é: ", letra) } } Ao executar este código Portugol nós teremos o seguinte resultado: A letra retornada é: P Veja agora como podemos usar o laço PARA para percorrer e exibir todos os caracteres individuais da palavra ou frase: programa { // vamos importar a biblioteca Texto inclua biblioteca Texto --> tx funcao inicio() { cadeia palavra = "PORTUGOL" para (inteiro i = 0; i <= tx.numero_caracteres(palavra) - 1; i++) { caracter letra = tx.obter_caracter(palavra, i) escreva("A letra é: ", letra, "\n") } } } Ao executar o código novamente nós teremos o seguinte resultado: A letra é: P A letra é: O A letra é: R A letra é: T A letra é: U A letra é: G A letra é: O A letra é: L |
Java ::: Pacote java.lang ::: String |
Como verificar se uma string Java contém uma determinada sequencia de caracteres (ou substring) usando o método contains()Quantidade de visualizações: 11788 vezes |
Em algumas situações precisamos verificar se uma sequencia de caracteres ou substring está contida em uma string. Para isso podemos usar o método contains() da classe String. Veja sua assinatura:public boolean contains(CharSequence s) Note que o método recebe um argumento do tipo CharSequence, que é uma interface implementada pelas classes CharBuffer, Segment, String, StringBuffer e StringBuilder. O método retorna true se a sequencia de caracteres for encontrada e false em caso contrário. Veja um trecho de código no qual usamos este método para verificar se uma palavra está contida em uma frase: public class Main { public static void main(String[] args) { // vamos declarar uma string String frase = "Gosto muito de Java e PHP"; // vamos verificar se a string contém a palavra "Java" if(frase.contains("Java")){ System.out.println("A frase contém a substring informada"); } else{ System.out.println("A frase não contém a substring informada"); } } } Este método pode atirar uma exceção do tipo NullPointerException se o argumento fornecido for null. |
AutoCAD .NET API C# ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como selecionar uma linha no AutoCAD e mostrar a equação da reta correspondente usando AutoCAD .NET C# APIQuantidade de visualizações: 541 vezes |
Em algumas situações nós queremos posicionar pontos ou outros desenhos em cima de uma linha, ou seja, em cima de uma reta. Uma das melhores formas de fazer isso é obtendo a equação reduzida da reta e usar as coordenadas x e y correspondentes. Nesta dica eu mostro como isso pode ser feito usando a AutoCAD .NET C# API. O primeiro passo é pedir para o usuário selecionar a linha na área de desenho do AutoCAD usando doc.Editor.GetEntity(). Em seguida nós obtemos as coordenadas iniciais e finais da linha usando as propriedades StartPoint e EndPoint do objeto AcadLine. Para finalizar nós calculamos a equação reduzida da reta e exibimos o resultado. Fique atento ao código que calcula o coeficiente angular e linear da reta. Considere o caso em que o coeficiente angular ou linear é igual a 0. Veja o código AutoCAD .NET API C# 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; // opções da seleção PromptEntityOptions opcoes = new PromptEntityOptions("\nSelecione uma linha: "); // obtemos o resultado da seleção PromptEntityResult resultado = doc.Editor.GetEntity(opcoes); // a seleção foi feita com sucesso if (resultado.Status != PromptStatus.OK) { Application.ShowAlertDialog("Nenhum elemento selecionado."); return; } // obtemos o id do objeto selecionado ObjectId id_objeto = resultado.ObjectId; // iniciamos uma transação using (Transaction trans = db.TransactionManager.StartTransaction()) { BlockTable tabela_blocos; BlockTableRecord reg_tabela_blocos; // obtemos a entidade selecionada Entity ent = trans.GetObject(id_objeto, OpenMode.ForWrite) as Entity; // a entidade selecionada é uma linha if (ent is Line) { Line linha = ent as Line; // vamos obter o ponto inicial da linha Point3d ponto_inicial = linha.StartPoint; // vamos obter o ponto final da linha Point3d ponto_final = linha.EndPoint; string sinal = "+"; // vamos calcular o coeficiente angular da reta Double m = (ponto_final.Y - ponto_inicial.Y) / (ponto_final.X - ponto_inicial.X); // vamos calcular o coeficiente linear double n = ponto_inicial.Y - (m * ponto_inicial.X); // coeficiente linear menor que zero? O sinal será negativo if (n < 0) { sinal = "-"; n = n * -1; } // abre o model space para escrita tabela_blocos = trans.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable; reg_tabela_blocos = trans.GetObject(tabela_blocos[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord; // vamos calcular as coordenadas x e y do ponto médio que // será usado para posicionar o texto double x = (ponto_inicial.X + ponto_final.X) / 2; double y = (ponto_inicial.Y + ponto_final.Y) / 2; // criamos um novo texto DBText texto = new DBText(); texto.TextString = "y = " + m.ToString("0.00") + "x" + " " + sinal + " " + n.ToString("0.00"); texto.SetDatabaseDefaults(); texto.Height = 5; texto.Position = new Point3d(x, y - texto.Height, 0); // adicionamos o texto no desenho reg_tabela_blocos.AppendEntity(texto); trans.AddNewlyCreatedDBObject(texto, true); } else { Application.ShowAlertDialog("Você não selecionou uma linha."); } // salvamos a transação trans.Commit(); } } } } Ao executar este código AutoCAD .NET C# API e selecionar uma linha nós teremos um resultado parecido com: Selecione uma linha [Usuário seleciona a linha] [Mostra a equação reduzida da reta como um texto posicionado no ponto médio da linha] Como forma de testar ainda mais o código, defina um valor para o x e experimente plotar um ponto na área de desenho do AutoCAD. Você verá que o ponto cai exatamente em cima da linha, ou seja, da reta que a representa. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Como calcular o Número de Reynolds em Python - Leite integral a 293 K, massa específica de 1030 kg/m3 e viscosidade de 2,12.10-3 N.s/m2 está escoando a uma razãoQuantidade de visualizações: 129 vezes |
Pergunta/Tarefa: O Número de Reynolds é uma quantidade adimensional usada na mecânica dos fluidos para prever padrões de fluxo em diferentes situações de escoamento de fluidos. É definido como a razão entre forças inerciais e forças viscosas dentro de um fluido. 1) Leite integral a 293 K, massa específica de 1030 kg/m3 e viscosidade de 2,12.10-3 N.s/m2 está escoando a uma razão de 0,605 kg/s em uma tubulação de 63,5 mm de diâmetro. a) Calcule o número de Reynolds. O escoamento é laminar ou turbulento? b) Calcule a vazão em m3/s para um número de Reynolds de 2100 e a velocidade em m/s. Sua saída deverá ser parecida com: Informe a Massa Específica do fluido (kg/m3): 1030 Informe a Viscosidade Dinâmica do fluido (N.s/m2): 2.12e-3 Informe a Vazão Mássica (kg/s): 0.605 Informe o Diâmetro da Tubulação (mm): 63.5 A área da tubulação é: 0.003166921744359361 m2 A vazão volumétrica do fluido é: 0.000587378640776699 m3/s A velocidade de escoamento do fluido é: 0.18547305181218499 m/s O Número de Reynolds é: 5722.106110271679 Informe o novo Número de Reynolds: 2100 A nova velocidade de escoamento do fluido é: 0.06806819050531304 m/s A nova vazão volumétrica do fluido é: 0.0002155666326104713 m3/s O primeiro passo para a resolução deste exercício é nos lembrarmos da Fórmula do Número de Reynolds: \[R_e = \frac{\rho \cdot v \cdot D}{\mu} \] Onde: [[rho]] é a massa específica do fluido medida em kg/m3; v = velocidade média do fluido em m/s; D = diâmetro para o fluxo do tubo em metros (m); [[mu]] é a viscosidade dinâmica do fluido em N.s/m2. Obs.: No código eu mostro como fazer as conversões de unidades necessárias. Veja a resolução completa para o exercício em Python, comentada linha a linha: # vamos importar a biblioteca Math import math # método principal def main(): # vamos ler a massa específica da água massa_especifica = float(input("Informe a Massa Específica (kg/m3): ")) # vamos ler a viscosidade dinâmica do fluido viscosidade_dinamica = float(input("Informe a Viscosidade (N.s/m2): ")) # vamos ler a vazão mássica vazao_massica = float(input("Informe a Vazão Mássica (kg/s): ")) # vamos ler o diâmetro da tubulação diametro = float(input("Informe o Diâmetro da Tubulação (mm): ")) # o primeiro passo é calcular a área da seção transversal da tubulação # a) convertemos milímetros para metros diametro = diametro / 1000.0 # b) calculamos a área em metros quadrados area = (math.pi * math.pow(diametro, 2) / 4) # vamos converter a vazão mássica em vazão volumétrica vazao = vazao_massica / massa_especifica # vamos obter a velocidade de escoamento do fluido velocidade = vazao / area # e finalmente calculamos o Número de Reynolds numero_reynolds = (massa_especifica * velocidade * diametro) / viscosidade_dinamica # mostramos os resultados print("\nA área da tubulação é: {0} m2".format(area)) print("A vazão volumétrica do fluido é: {0} m3/s".format(vazao)) print("A velocidade de escoamento do fluido é: {0} m/s".format(velocidade)) print("O Número de Reynolds é: {0}".format(numero_reynolds)) # vamos ler o novo Número de Reynolds novo_numero_reynolds = float(input("\nInforme o novo Número de Reynolds: ")) # vamos calcular a velocidade para o novo Reynolds nova_velocidade = ((viscosidade_dinamica * novo_numero_reynolds) / (massa_especifica * diametro)) print("A nova velocidade de escoamento do fluido é: {0} m/s".format(nova_velocidade)) # vamos calcular a nova vazão volumétrica nova_vazao = area * nova_velocidade print("A nova vazão volumétrica do fluido é: {0} m3/s".format(nova_vazao)) if __name__== "__main__": main() O primeiro Número de Reynolds, ou seja, 5722.1061, caracteriza o escoamento como turbulento, pois é maior que 2400. Já o Número de Reynolds 2100 caracteriza o escoamento como escoamento de transição (saindo do escoamento laminar e indo para o escoamento turbulento), já que é maior que 2000 e menor que 2400. |
jQuery ::: Dicas & Truques ::: AJAX |
Quais os parâmetros que podem ser usados com o método ajax() da biblioteca jQueryQuantidade de visualizações: 13327 vezes |
O método ajax() do jQuery aceita um mapa de opções para a requisição HTTP a ser realizada. Boa parte destas opções possuem valores padrões e, portanto, não precisam ser especificadas. A lista a seguir mostra os parâmetros disponíveis para o método ajax() na versão 1.2.3: url: Uma string contendo a URL para a qual a requisição HTTP será feita. type (opcional): Uma string definindo o método HTTP a ser usado na requisição (GET ou POST). O valor padrão é GET. dataType (opcional): Uma string definindo o tipo de dados aguardados como resposta do servidor (xml, html, json ou script). ifModified (opcional): Um valor Boolean indicando se o servidor deverá verificar se a página foi modificada antes de responder à requisição. timeout (opcional): O número de milisegundos após o qual a requisição sofrerá timeout e apresentará uma falha. global (opcional): Um valor Boolean indicando se gerenciadores de eventos AJAX globais serão disparados por esta requisição. O valor padrão é true. beforeSend (opcional): Uma função de callback que será executada antes da requisição HTTP ser feita. error (opcional): Uma função de callback que é executada se a requisição falhar. success (opcional): Uma função de callback que será executada se a requisição for feita com sucesso. complete (opcional): Uma função de callback que é executada quando a requisição finalizar. data (opcional): Um mapa ou string que será enviado ao servidor junto com a requisição. processData (opcional): Um valor boolean indicando se a conversão dos dados enviados em um formato objeto para o formato query-string deverá ser feita. O valor padrão é true. contentType (opcional): Uma string contendo o tipo de conteúdo MIME a ser definindo para a requisição. O valor padrão é application/x-www-form-urlencoded. async (opcional): Um valor Boolean indicando se a requisição deverá ser feita de forma assíncrona. O valor padrão é true. Nesta seção você encontra vários exemplos de uso da função ajax() do jQuery. |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o maior entre dois valores usando a função Max() do DelphiQuantidade de visualizações: 16089 vezes |
A função Max(), presente na unit Math é útil quando precisamos retornar o maior entre dois valores fornecidos. Veja um exemplo:procedure TForm2.Button1Click(Sender: TObject); var a, b, maior: Integer; begin // uses Math a := 34; b := 17; maior := Max(a, b); // exibe o resultado ShowMessage('O maior valor é: ' + IntToStr(maior)); end; Note que a função Max() é uma função sobrecarregada, ou seja, os valores fornecidos e o retorno da função podem ser do tipo Integer, Int64, Single, Double ou Extended. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Ler um número inteiro na faixa 0-999 e mostrar a soma de seus dígitos - C BásicoQuantidade de visualizações: 3052 vezes |
Pergunta/Tarefa: Escreva um programa C que leia um inteiro na faixa 0-999 e mostre a soma de seus dígitos. Por exemplo, se o valor for 523, a soma de seus dígitos será 5 + 2 + 3 = 10. Lembre-se que você deverá usar apenas os operadores matemáticos e o operador de módulo (%). Seu programa deverá exibir a seguinte saída: Informe um valor inteiro (0-999): 523 A soma dos dígitos é: 10 Veja a resolução comentada deste exercício usando C console: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // vamos solicitar ao usuário que informe um valor inteiro // na faixa 0 a 999 (incluindo) printf("Informe um valor inteiro (0-999): "); // vamos ler o valor informado int valor; scanf("%d", &valor); // vamos verificar se o valor está na faixa permitida if(valor < 0 || valor > 999){ puts("Valor fora da faixa permitida"); } else{ // vamos obter o terceiro dígito int terceiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o segundo dígito int segundo = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o primeiro dígito int primeiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter a soma dos dígitos int soma = terceiro + segundo + primeiro; // vamos mostrar o resultado printf("A soma dos dígitos é: %d", soma); } printf("\n\n"); system("PAUSE"); return 0; } |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em Java usando a função sqrt() da classe MathQuantidade de visualizações: 8328 vezes |
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função sqrt() da classe Math da linguagem Java. Veja o código completo: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ Scanner entrada = new Scanner(System.in); // vamos ler o valor System.out.print("Informe o valor desejado: "); double valor = Double.parseDouble(entrada.nextLine()); // vamos calcular a raiz quadrada double raiz = Math.sqrt(valor); // e agora mostramos o resultado System.out.println("A raiz quadrada do valor informado é: " + raiz); } } Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
PHP ::: Dicas & Truques ::: Gráficos e Cores |
Como obter o tipo de uma imagem usando a função getimagesize() do PHPQuantidade de visualizações: 10270 vezes |
Muitas vezes precisamos saber o tipo de uma imagem antes de processá-la. Nestes casos podemos usar a função getimagesize() da linguagem PHP e obter o tipo da imagem no terceiro valor retornado. Este valor é um número inteiro correspondente a algumas das constantes IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, etc. Veja um exemplo: <?php // nome e local da imagem $imagem = "/home/xxxx/xxxx/public_html/imagem.jpg"; // vamos obter o tipo da imagem...ele estará no terceiro // elemento da lista list($largura, $altura, $tipo) = getimagesize($imagem); // testamos o tipo de imagem if($tipo == IMAGETYPE_JPEG) echo "O tipo da imagem é JPG ou JPEG"; else if($tipo == IMAGETYPE_GIF) echo "O tipo da imagem é GIF"; else if($tipo == IMAGETYPE_PNG) echo "O tipo da imagem é PNG"; else echo "O tipo da imagem não está entre os tipos testados"; ?> Ao executar este código você terá um resultado parecido com: O tipo da imagem é JPG ou JPEG |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Java Swing para iniciantes - Como criar seu primeiro aplicativo de interface gráfica em Java Swing JavaScript - Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou impar C# - Como detectar a mudança de estado da CheckBox do C# Windows Forms usando o evento CheckedChanged |
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 |