![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
C ::: Dicas & Truques ::: Recursão (Recursividade) |
Como escrever uma função recursiva para calcular a potência de um número usando a linguagem CQuantidade de visualizações: 48188 vezes |
Chamamos de potenciação a operação de se elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:![]() Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125. O código abaixo mostra como você pode escrever uma função recursiva em C que permite calcular a potência de um número inteiro: #include <stdio.h> #include <stdlib.h> // função recursiva que calcula a potência de // um inteiro int potencia(int base, int expoente) { if(expoente == 0){ return 1; } else{ return base * potencia(base, expoente - 1); } } int main(int argc, char *argv[]) { int base = 3; int expoente = 4; printf("%d elevado a %d = %d", base, expoente, potencia(base, expoente)); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: 3 elevado a 4 = 81 |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como adicionar conteúdo ao final de um arquivo em C# usando as classes FileStream e StreamWriterQuantidade de visualizações: 10322 vezes |
Nesta dica mostro como usar as classes FileStream e StreamWriter para adicionar conteúdo a um arquivo já existente. Note que usamos o construtor de FileStream que aceita o caminho e nome do arquivo e o modo que ele será aberto. Ao fornecer o valor FileMode.Append nós estamos informando que, se o arquivo existir, mais conteúdo será adicionando ao seu final. Do contrário o arquivo é criado. Já no construtor de StreamWriter nós estamos fornecendo a codificação dos caracteres, neste caso, UTF-8. Para finalizar, escrevemos no arquivo usando os métodos Write() e WriteLine() da classe StreamWriter. Veja o código: static void Main(string[] args){ // vamos criar uma instância de FileStream. Note que neste // construtor nós estamos informando o caminho e nome do // arquivo e o modo de abertura do arquivo. Se o arquivo já existir // o novo conteúdo é adicionado. Se não existir, o arquivo é criado FileStream fs = new FileStream("dados.txt", FileMode.Append); // já temos o FileStream? vamos fornecê-lo a um StreamWriter StreamWriter sw = new StreamWriter(fs, Encoding.UTF8); // vamos escrever ou adicioar conteúdo no arquivo sw.WriteLine("Esta é mais uma linha"); sw.Write("Hoje é: "); sw.WriteLine(DateTime.Now); sw.WriteLine("Esta é a última linha"); sw.Flush(); sw.Close(); fs.Close(); Console.WriteLine("Acabei de escrever no arquivo"); Console.WriteLine("Pressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } Ao executar este código C# nós teremos o seguinte resultado: Acabei de escrever no arquivo Pressione qualquer tecla para sair... |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm |
Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 AQuantidade de visualizações: 1180 vezes |
Pergunta/Tarefa: Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp). Sua saída deverá ser parecida com: Informe a corrente: 10 Informe a tensão: 200 A resistência elétrica é: 20.0 Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão: \[R = \frac{U}{I} \] Onde: R = Resistência elétrica (medida em ohms (Ω)). U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb). I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo). Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos usar a classe Scanner para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os dados System.out.print("Informe a corrente: "); double corrente = Double.parseDouble(entrada.nextLine()); System.out.print("Informe a tensão: "); double tensao = Double.parseDouble(entrada.nextLine()); // agora vamos calcular a resistência double resistencia = tensao / corrente; // e mostramos o resultado System.out.println("A resistência elétrica é: " + resistencia); } } |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em Delphi - Delphi para Matemática e EstatísticaQuantidade de visualizações: 2226 vezes |
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código Delphi completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores: // Algoritmo Delphi para calcular desvio padrão program estudos_delphi; {$APPTYPE CONSOLE} uses SysUtils, Math; var // conjunto de dados conjunto: array[1..4] of double = (10, 30, 90, 30); soma: double; // Soma dos elementos desvio_padrao: double; // Desvio padrão tam: integer; // Tamanho dos dados media: double; // média i: integer; begin soma := 0.0; desvio_padrao := 0.0; tam := 4; // vamos somar todos os elementos for i := 1 to tam do begin soma := soma + conjunto[i]; end; // agora obtemos a média do conjunto de dados media := soma / tam; // e finalmente obtemos o desvio padrão for i := 1 to tam do begin // não esqueça de adicionar a unit Math desvio_padrao := desvio_padrao + Power(conjunto[i] - media, 2); end; // mostramos o resultado WriteLn('Desvio Padrão Populacional: ' + FloatToStr(Sqrt(desvio_padrao / tam))); WriteLn('Desvio Padrão Amostral: ' + FloatToStr(Sqrt(desvio_padrao / (tam - 1)))); WriteLn; Write('Pressione Enter para sair...'); ReadLn; end. Ao executar este código Delphi nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
POO - Programação Orientada a Objetos - Exercícios Resolvidos de Java - Ex. 2 - A classe Circulo (construtores, métodos, getters e setters e encapsulamento)Quantidade de visualizações: 19831 vezes |
Pergunta/Tarefa: Escreva uma classe Circulo para representar círculos. Esta classe deverá conter os seguintes atributos e métodos: a) Uma variável privada do tipo double chamada raio que guardará o valor do raio atual do circulo. b) Métodos get() e set() públicos que permitem definir e acessar o valor da variável raio. c) Um construtor que recebe o valor do raio como argumento. d) Um método getArea() que calcula e retorna a área do círculo. e) Um método getCircunferencia() que calcula e retorna a circunferência do círculo. f) Um método aumentarRaio() que recebe um valor double e o usa como percentual para aumentar o raio do círculo. Crie uma classe contendo um método main() para testar a funcionalidade da classe Circulo. Eis um exemplo de entrada e saída: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Circulo.java: package estudos; public class Circulo{ private double raio; // guarda o raio atual do círculo // construtor que recebe o valor do raio como argumento public Circulo(double raio){ this.raio = raio; } // permite obter o raio do círculo public double getRaio(){ return raio; } // permite definir o raio do círculo public void setRaio(double raio){ this.raio = raio; } // obtém a área do círculo public double getArea(){ double area = Math.PI * Math.pow(this.raio, 2); return area; } // obtém a circunferência do círculo public double getCircunferencia(){ double circunferencia = (2 * Math.PI) * this.raio; return circunferencia; } // permite aumentar o raio de acordo com uma porcentagem fornecida public void aumentarRaio(double porcentagem){ this.raio = this.raio + (porcentagem / 100.0) * this.raio; } } Veja agora o método main() que nos permite testar a funcionalidade da classe Circulo: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos criar uma instância da classe Circulo Scanner entrada = new Scanner(System.in); System.out.print("Informe o raio do círculo: "); double raio = Double.parseDouble(entrada.nextLine()); Circulo c = new Circulo(raio); // vamos mostrar o valor do raio atual System.out.println("Raio: " + c.getRaio()); // vamos mostrar a área System.out.println("Área: " + c.getArea() + " metros quadrados"); // vamos mostrar a circunferência System.out.println("Circunferência: " + c.getCircunferencia() + " metros"); // vamos aumentar o raio do circulo em uma determinada porcentagem System.out.print("\nInforme o percentual de aumento do raio: "); double percentual = Double.parseDouble(entrada.nextLine()); c.aumentarRaio(percentual); // vamos mostrar o valor do raio atual System.out.println("Raio: " + c.getRaio()); // vamos mostrar a área System.out.println("Área: " + c.getArea() + " metros quadrados"); // vamos mostrar a circunferência System.out.println("Circunferência: " + c.getCircunferencia() + " metros"); } } |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar a hora em JavaScript usando a função getHours() do objeto DateQuantidade de visualizações: 7390 vezes |
Em várias situações nós precisamos obter as horas a partir de um objeto Date do JavaScript. Para isso nós podemos efetuar uma chamada à sua função getHours(), que retorna um valor que vai de 0 até 23. Veja o código completo para o exemplo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var data = new Date(); var hora = data.getHours(); document.write("O valor da hora é: " + hora); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: O valor da hora é: 14 |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing para iniciantes - Como criar seu primeiro aplicativo de interface gráfica em Java SwingQuantidade de visualizações: 80498 vezes |
Um aplicativo de interface gráfica em Java é criado usando-se a classe JFrame, do Java Swing. Objetos desta classe servem como containeres para outros componentes e são as janelas principais dos aplicativos, com título e botões para redimensionar, minimizar, maximizar e fechar. Veja um exemplo de um simples aplicativo de interface gráfica em Java Swing: package arquivodecodigos; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("Minha primeira aplicação GUI"); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Este código gera uma janela principal de um aplicativo com 350 pixels de largura e 250 pixels de altura. O título da janela é: "Minha primeira aplicação GUI". Veja o resultado na figura abaixo: ![]() |
JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle |
JavaScript para iniciantes - Como testar condições em JavaScript usando if e if..elseQuantidade de visualizações: 10397 vezes |
As estruturas if (se) e if..else (se..senão) da linguagem JavaScript são muito usadas quando queremos testar condições em nossos códigos e, dependendo do resultado do teste, efetuar desvios na execução das instruções. Veja a sintáxe do if:if(condição){ // instrução ou conjunto de instruções } A condição é qualquer teste que resulte em um valor boolean (true ou false). Veja, por exemplo, como podemos verificar se um valor é maior que 10: <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> var valor = 15; // vamos testar se o valor é maior que 10 if(valor > 10){ document.write("O valor é maior que 10."); } </script> </body> </html> Ao executarmos este código, o texto "O valor é maior que 10." será exibido na tela. Porém, também gostaríamos de exibir uma mensagem caso o valor não for maior que 10. Para isso podemos usar a cláusula else. Veja: <script type="text/javascript"> var valor = 5; // vamos testar se o valor é maior que 10 if(valor > 10){ document.write("O valor é maior que 10."); } else{ document.write("O valor NÃO é maior que 10."); } </script> Ao executarmos o exemplo novamente, o texto "O valor NÃO é maior que 10." será exibido. Isso aconteceu porque, ao não satisfazer a condição do if, o fluxo de código caiu na cláusula else. Há algumas situações nas quais precisamos testar muitas condições ao mesmo tempo. Assim, além do if e else podemos empregar também a cláusula else if (senão se). Veja um exemplo no qual expandimos o exemplo anterior para testar se o valor é maior, menor ou igual a 10: <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> var valor = 5; // vamos testar se o valor é maior, menor ou igual a 10 if(valor > 10){ document.write("O valor é maior que 10."); } else if(valor < 10){ document.write("O valor é menor que 10."); } else{ document.write("O valor é igual a 10."); } </script> </body> </html> Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
JavaScript ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular Fatorial em JavaScript usando recursão - Como calcular Fatorial usando recursividade - Aprenda a calcular Fatorial usando JavaScriptQuantidade de visualizações: 17361 vezes |
Embora existam várias formas de efetuar o cálculo de Fatorial, a forma mais comum é usando recursividade, ou seja, dividir a resolução do problema em partes menores e juntá-las no final. Neste dica eu mostro como calcular Fatorial em JavaScript usando recursividade. Veja o código completo: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> function fatorial(num){ if(num > 1) return num * arguments.callee(num - 1); else return 1; } </script> </head> <body> <script type="text/javascript"> document.write("O fatorial de 5 é: " + fatorial(5)); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: O fatorial de 5 é: 120 |
GNU Octave ::: GNU Octave para Engenharia ::: Cálculo Diferencial e Integral |
Como calcular a derivada de uma função usando a função diff() do GNU Octave - Regra do Tombo (ou Regra da Potência)Quantidade de visualizações: 3751 vezes |
No cálculo, a derivada em um ponto de uma função y = f(x) representa a taxa de variação instantânea de y em relação a x neste ponto. Um exemplo típico é a função velocidade que representa a taxa de variação (derivada) da função espaço. Do mesmo modo, a função aceleração é a derivada da função velocidade. Geometricamente, a derivada no ponto x = a de y = f(x) representa a inclinação da reta tangente ao gráfico desta função no ponto (a,~f(a)). A função que a cada ponto x associa a derivada neste ponto de f(x) é chamada de função derivada de f(x). [Citação da Wikipédia] Nesta dica mostrarei como podemos usar a função diff() do GNU Octave para calcular a derivada de uma função usando a Regra do Tombo ou, mais formalmente, a Regra da Potência. Dada uma função: ![]() A Regra do Tombo pede que o n desça e multiplique o x, que agora estará elevado a n - 1. Vamos ver um exemplo então? Observe como a derivada de f(x) = x5 é calculada na imagem a seguir: ![]() Veja agora como podemos fazer este cálculo em GNU Octave. Para isso, abra a janela de comandos e dispare as linhas a seguir: >> pkg load symbolic [ENTER] >> syms x [ENTER] >> f = x ** 5 [ENTER] f = (sym) 5 x >> diff(f, x) [ENTER] ans = (sym) 4 5*x >> É possível que, após o comando "syms x" você veja algumas mensagens de aviso relacionadas à sua versão instalada do Python. Não se preocupe, pois esses avisos não interferem na funcionalidade da função diff(). |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - Como usar objetos Set em seus códigos JavaScript Android Java - Como detectar um clique em um botão do Android usando o evento onClick no XML de layout |
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 |