![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
JavaScript ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada usando o método sqrt() do objeto Math do JavaScriptQuantidade de visualizações: 15363 vezes |
Em várias situações, principalmente quando estamos desenvolvendo códigos para aplicações financeiras, nós precisamos calcular a raiz quadrada de um determinado valor numérico. Para isso nós podemos usar a função sqrt() do objeto Math da linguagem JavaScript. Esta função recebe um valor numérico (inteiro ou real) e desenvolve também um valor numérico. Veja um exemplo de seu uso: <!doctype html> <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var numero = 9; var raiz = Math.sqrt(numero); document.write("A raiz quadrada de " + numero + " é " + raiz); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: A raiz quadrada de 9 é 3 |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como somar os valores dos elementos de um vetor de inteiros em JavaQuantidade de visualizações: 27244 vezes |
Nesta dica eu mostro como podemos usar um laço for para obter a soma dos valores dos elementos de um vetor (ou matriz) de inteiros em Java. Veja que aqui eu criei um método que recebe o vetor e retorna um valor int contendo a soma de todos os elementos. Veja o código completo para o exemplo: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ int[] valores = new int[5]; // inicializa os elementos do array valores[0] = 23; valores[1] = 65; valores[2] = 2; valores[3] = 87; valores[4] = 34; // obtém a soma int soma = soma(valores); System.out.println("A soma dos valores é: " + soma); System.exit(0); } public static int soma(int[] a){ int total = 0; for(int i = 0; i < a.length; i++){ total += a[i]; } return total; } } Ao executarmos este código nós teremos o seguinte resultado: A soma dos valores é: 211 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Usando laços for aninhados para desenhar uma pirâmide de números em Java (com o usuário informando a quantidade de linhas)Quantidade de visualizações: 8956 vezes |
Pergunta/Tarefa: Escreva um programa Java que solicita ao usuário um número inteiro. Este número inteiro deverá estar entre 1 e 12 e será usado como a quantidade de linhas em uma pirâmide de números. Você deverá usar laços for aninhados para controlar as linhas e montar a estrutura desejada. Sua saída deverá ser parecida com: Informe a quantidade de linhas: 5 1 2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5 Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar a quantidade de linhas System.out.print("Informe a quantidade de linhas: "); int numLinhas = Integer.parseInt(entrada.nextLine()); // não queremos aceitar quantidades de linhas menores que 1 // ou maiores que 12 if((numLinhas < 1) || (numLinhas > 12)){ System.out.println("O número de linhas deve estar entre 1 e 12"); System.exit(0); } // este laço externo controla as linhas System.out.println(); for(int linha = 1; linha <= numLinhas; linha++){ // este laço gera os espaços antes de cada número nas // linhas da pirâmide for (int coluna = 1; coluna <= (numLinhas - linha); coluna++){ System.out.print(" "); // três espaços aqui } // aqui nós exibimos os números de cada linha do lado // esquerdo da pirâmide, até o centro for(int i = linha; i >= 1; i--){ // o número da linha é maior ou igual a 10? se for // colocamos um espaço antes do número if(i >= 10){ System.out.print(" " + i); } else{ // o número da linha é menor que 10? vamos //colocar dois espaços antes do número System.out.print(" " + i); } } // e finalmente exibimos os números de cada linha no // lado direito da pirâmide for (int i = 2; i <= linha; i++){ // o número da linha é maior ou igual a 10? se for // colocamos um espaço antes do número if(i >= 10){ System.out.print(" " + i); } else{ // o número da linha é menor que 10? vamos // colocar dois espaços antes do número System.out.print(" " + i); } } // gera uma nova linha System.out.println(); } System.out.println(); } } |
C++ ::: STL (Standard Template Library) ::: unordered_map |
Como contar as frequências de palavras em uma frase ou texto em C++ usando um unordered_mapQuantidade de visualizações: 834 vezes |
Nesta dica mostrarei como podemos usar o mapa não ordenado (unordered_map) da linguagem C++ para contar as frequências das palavras individuais de uma palavra ou texto. O exemplo mostrado aqui serve como base para a criação de aplicações muito interessantes. Veja o código C++ completo: #include <string> #include <iostream> #include <unordered_map> #include <bits/stdc++.h> using namespace std; // protótipo da função que exibe a frequência de palavras em uma // frase ou texto void exibir_frequencias(const string &frase); int main(int argc, char *argv[]){ // vamos declarar uma frase // retirei acentos e pontuações de propósito string frase = "Gosto de Java e Python pois quero aprender Java"; // mostramos a frase cout << "A frase é: " << frase << endl; // chamamos a função que exibe as frequencias cout << "\nA frequência das palavras é:\n" << endl; exibir_frequencias(frase); cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } // função que exibe a frequência de palavras em uma // frase ou texto void exibir_frequencias(const string &frase){ // vamos declarar um mapa que terá como chave uma string // e como valor um int unordered_map<string, int> frequencias; // agora convertemos a frase recebido como argumento // em um objeto stringstream stringstream ss(frase); // e percorremos as palavras individualmente string palavra; while (ss >> palavra){ // essa palavra já existe no mapa? if (frequencias.find(palavra) == frequencias.end()){ // adiciona esta palavra ao mapa frequencias[palavra] = 1; } else{ // já existe. Vamos incrementar esta frequência frequencias[palavra] = frequencias[palavra] + 1; } } // agora percorremos o mapa não ordenado, acessando // cada chave e mostrando a frequencia de cada palavra unordered_map<string, int>:: iterator p; for (p = frequencias.begin(); p != frequencias.end(); p++){ cout << "(" << p->first << ", " << p->second << ")\n"; } } Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java e Python pois quero aprender Java A frequência das palavras é: (aprender, 1) (quero, 1) (pois, 1) (Gosto, 1) (Java, 2) (e, 1) (de, 1) (Python, 1) |
C# ::: Windows Forms ::: ComboBox |
Como retornar a quantidade de itens em um ComboBox do C# Windows FormsQuantidade de visualizações: 9499 vezes |
A quantidade de elementos (ou itens) em um ComboBox do C# Windows Forms pode ser obtida por meio da propriedade Count da classe ComboBox.ObjectCollection. Podemos ter acesso a esta classe a partir da propriedade Items da classe ComboBox. Veja um trecho de código no qual obtemos a quantidade de itens em um ComboBox chamado cidades: private void button1_Click(object sender, EventArgs e){ int quant = cidades.Items.Count; MessageBox.Show("O ComboBox contém " + quant + " itens"); } |
JavaScript ::: Dicas & Truques ::: Formulários |
Como enviar um formulário via código - Enviar um formulário usando JavaScript - Como disparar o método submit() do form a partir de um link - RevisadoQuantidade de visualizações: 19909 vezes |
Na maioria das páginas web, o formulário é enviado quando clicamos em um botão (o botão Enviar, por exemplo). Nesta dica mostrarei como é possível enviar um formulário clicando em um link, ou seja, disparando o método submit() do formulário HTML via programação mesmo. Veja o código completo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <form name="cadastro" action="http://www.google.com" method="get"> <input type="text" name="nome"> </form> <a href="javascript:{document.cadastro.submit();}">Enviar o Formulário</a> </body> </html> Abra esta página no seu servidor web, clique no link e veja o resultado. |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular os esforços solicitantes majorados em pilares usando Python - Python para Engenharia CivilQuantidade de visualizações: 540 vezes |
![]() Quando estamos dimensionando pilares em concreto armado em geral, a primeira coisa que devemos fazer é calcular os esforços solicitantes, ou seja, as cargas que estão chegando ao pilar. No caso dos pilares intermediários, ou seja, pilares que residem fora dos cantos e extremidades da estrutura e que, por isso, recebem a carga em seu centro geométrico, considera-se a compressão centrada. Dessa forma, chamamos de Nk o somatório de todas as cargas verticais atuantes na estrutura e podemos desprezar as excentricidades de 1ª ordem. De acordo com a NBR 6118 (ABNT, 2014), para a situação de projeto, essa força normal Nk deve ser majorada pelos coeficientes γn e γf, resultando em uma força normal de projeto chamada Nd. O coeficiente γn deve majorar os esforços solicitantes finais de cálculo de acordo com a menor dimensão do pilar. A norma diz que a menor dimensão que um pilar pode ter é 19cm, mas, em alguns casos, podemos ter a menor dimensão de até 14cm, precisando, para isso, majorar os esforços solicitantes. Nos comentários do código Python eu mostro como esse cálculo é feito, de acordo com a NBR 6118 (ABNT, 2014), é claro. O coeficiente γf, na maioria dos casos, possui o valor 1,4 e entra no cálculo para converter a força normal Nk em força normal de projeto Nd. A fórmula para o cálculo dos esforços solicitantes majorados em pilares intermediários é: \[ Nd = \gamma n \cdot \gamma f \cdot Nk \] Onde: γn majora os esforços de acordo com a menor dimensão do pilar de acordo com a NBR 6118 (ABNT, 2014). γf em geral possui o valor 1.4 para majorar os esforços em estruturas de concreto armado. Nk é a força normal característica aplicada ao pilar, em kN. Nd é a força normal de projeto, em kN. Vamos então ao código Python, que solicitará ao usuário os valores de suas dimensões hx e hy (em centímetros) e a carga, ou seja, a força normal característica chegando no pilar em kN e vamos mostrar a força normal de projeto Nd: # método principal def main(): # vamos pedir as dimensões do pilar hx = float(input("Informe a dimensão do pilar na direção x (em cm): ")) hy = float(input("Informe a dimensão do pilar na direção y (em cm): ")) # vamos pedir a carga total no pilar em kN Nk = float(input("Informe a carga total no pilar (em kN): ")) # vamos obter o menor lado do pilar (menor dimensão da seção transversal) if (hx < hy): b = hx else: b = hy # agora vamos calcular a área do pilar em centímetros quadrados area = hx * hy # a área está de acordo com a norma NBR 6118 (ABNT, 2014) if (area < 360): print("A área do pilar não pode ser inferior a 360cm2") return # vamos calcular a força normal de projeto Nd yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1 yf = 1.4 # regra geral para concreto armado Nd = yn * yf * Nk # e mostramos os resultados print("\nA área do pilar é: {0} cm2".format(round(area, 2))) print("A menor dimensão do pilar é: {0} cm".format(round(b, 2))) print("O valor do coeficiente yn é: {0}".format(round(yn, 2))) print("A força normal de projeto Nd é: {0} kN".format(round(Nd, 2))) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe a dimensão do pilar na direção x (em cm): 40 Informe a dimensão do pilar na direção y (em cm): 19 Informe a carga total no pilar (em kN): 841.35 A área do pilar é: 760.0 cm2 A menor dimensão do pilar é: 19.0 cm O valor do coeficiente yn é: 1.0 A força normal de projeto Nd é: 1177.89 kN |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como remover quebras de linhas de uma string - Como usar o método replaceAll() da classe String para remover quebras de linha de um texto - RevisadoQuantidade de visualizações: 34 vezes |
Nesta dica eu mostro como podemos usar o método replaceAll() da classe String para remover quebras de linha de uma palavra, frase ou texto. Veja:package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String original = "Programar em Java\n é mais fácil do\n que você pensa."; // vamos exibir a String original System.out.println("Original: " + original); // agora vamos remover as quebras de linha String nova = original.replaceAll("[\\n]", ""); // vamos exibir a String sem as quebras de linha System.out.println("Sem quebras de linha: " + nova); System.exit(0); } } Este código exibirá o seguinte resultado: Original: Programar em Java é mais fácil do que você pensa. Sem quebras de linha: Programar em Java é mais fácil do que você pensa. Esta dica foi revisada e atualizada para o Java 8. |
Python ::: cmath Python Module (Módulo Python cmath para números complexos) ::: Números Complexos (Complex Numbers) |
Como converter um número complexo na forma retangular para a forma polar usando PythonQuantidade de visualizações: 2459 vezes |
Quando estamos efetuando cálculos envolvendo números complexos, é comum precisarmos converter da forma retangular para a forma polar, e vice-versa. Um número complexo na forma retangular apresenta o seguinte formato: 7 + j5 onde 7 é a parte real e 5 é a parte imaginária. Note que usei a notação "j" em vez de "i" para a parte imaginária, uma vez que a notação "j" é a mais comum na engenharia. O número complexo na forma polar, por sua vez, é composto pelo raio e pela fase (phase), que é o ângulo theta (ângulo da inclinação da hipotenusa em relação ao cateto adjascente). O raio, representado por r, é o módulo do vetor cujas coordenadas são formadas pela parte real e a parte imaginária do número complexo. A parte real se encontra no eixo das abcissas (x) e a parte imaginária fica no eixo das ordenadas (y). Veja agora o código Python completo que lê a parte real e a parte imaginária de um número complexo e o exibe na forma polar: # vamos importar o módulo de matemática de números complexos import cmath # método principal def main(): # vamos ler a parte real e a parte imaginária do # número complexo real = float(input("Parte real do número complexo: ")) imaginaria = float(input("Parte imaginária do número complexo: ")) # constrói o número complexo z = complex(real, imaginaria) # mostra o valor absoluto na forma polar print ("Valor absoluto (raio ou módulo): ", abs(z)) # mostra a fase do número complexto na forma polar print("Fase em radianos: ", cmath.phase(z)) print("Fase em graus: ", cmath.phase(z) * (180 / cmath.pi)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Parte real do número complexo: 3 Parte imaginária do número complexo: -4 Valor absoluto (raio ou módulo): 5.0 Fase em radianos: -0.9272952180016122 Fase em graus: -53.13010235415598 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Algorítmos Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static)Quantidade de visualizações: 15669 vezes |
Exercícios Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static) Pergunta/Tarefa: Escreva uma classe Retangulo para representar um retângulo. A classe deve conter: a) Dois campos de dados do tipo double chamados largura e altura que especificam a largura e a altura do retângulo. Os valores padrões são 1 tanto para a largura quanto para a altura. b) Um campo de dado do tipo String chamado cor que especifica a cor do retângulo. Para este exercício em particular, assuma que TODOS os retângulos possuirão a mesma cor. A cor padrão é branco. c) Um construtor sem argumentos que cria um retângulo padrão. d) Um construtor que cria um retângulo com a largura e altura especificadas. e) Métodos get() e set() para os três campos de dados da classe. f) Um método chamado getArea() que retorna a área do retângulo. g) Um método chamado getPerimetro() que retorna o perímetro do retângulo. Escreva um programa de teste que cria dois objetos da classe Retangulo. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Retangulo.java package estudos; public class Retangulo { private double largura; // largura do retângulo private double altura; // altura do retângulo // O exercício pede que TODOS os retângulos tenham a mesma cor // consulte a dica http://www.arquivodecodigos.net/dicas/1158 para mais // detalhes sobre o modificador static private static String cor = "branco"; // cor do retângulo // construtor sem argumentos public Retangulo(){ this.largura = 1; this.altura = 1; } // construtor que permite especificar a largura e a altura public Retangulo(double largura, double altura){ this.largura = largura; this.altura = altura; } // obtém a altura public double getAltura() { return altura; } // define a altura public void setAltura(double altura){ this.altura = altura; } // obtém a largura public double getLargura(){ return largura; } // define a largura public void setLargura(double largura){ this.largura = largura; } // obtém a cor de TODOS os retângulos public static String getCor(){ return cor; } // define a cor de TODOS os retângulos public static void setCor(String cor){ Retangulo.cor = cor; } // este método retorna a área do retângulo (em metros quadrados) public double getArea(){ return (this.largura * this.altura); } // este método retorna o perímetro do retângulo (em metros) public double getPerimetro(){ return ((2 * this.largura) + (2 * this.altura)); } } Agora o teste no método main(): package estudos; public class Estudos { public static void main(String[] args) { // vamos criar uma instância da classe Retangulo com // os valores padrões Retangulo a = new Retangulo(); // agora vamos informar a largura e a altura Retangulo b = new Retangulo(10, 5); // os dois retângulos terão a cor verde Retangulo.setCor("verde"); // vamos mostrar os resultados do primeiro retângulo System.out.println("Primeiro retângulo"); System.out.println("Largura: " + a.getLargura()); System.out.println("Altura: " + a.getAltura()); System.out.println("Cor: " + Retangulo.getCor()); System.out.println("Área: " + a.getArea() + " metros quadrados"); System.out.println("Perímetro: " + a.getPerimetro() + " metros"); // vamos mostrar os resultados do segundo retângulo System.out.println("\nSegundo retângulo"); System.out.println("Largura: " + b.getLargura()); System.out.println("Altura: " + b.getAltura()); System.out.println("Cor: " + Retangulo.getCor()); System.out.println("Área: " + b.getArea() + " metros quadrados"); System.out.println("Perímetro: " + b.getPerimetro() + " metros"); } } |
Nossas 20 dicas & truques de programação mais populares |
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 |