R ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em R dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1085 vezes |
Nesta dica mostrarei como é possível usar a linguagem R para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código R (um script do R). Veja: a <- 20 # medida do cateto oposto b <- 30 # medida do cateto adjascente # agora vamos calcular o comprimento da hipotenusa c <- sqrt(a ^ 2 + b ^ 2) # e mostramos o resultado paste("O comprimento da hipotenusa é:", c) Ao executar este código R (script do R) nós teremos o seguinte resultado: [1] "O comprimento da hipotenusa é: 36.0555127546399" Como podemos ver, o resultado retornado com o código R confere com os valores da imagem apresentada. |
PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados) |
Como excluir uma tabela no PostgreSQL usando o comando DDL DROP TABLEQuantidade de visualizações: 7973 vezes |
Em algumas situações precisamos excluir uma tabela em uma base de dados PostgreSQL. Isso pode ser feito por meio do comando DDL DROP TABLE. Este comando remove a tabela da base de dados completamente, incluindo índices, regras (rules), triggers e restrições (constraints). Para disparar um comando DROP TABLE, você precisa ser um super usuário ou possuir privilégios sobre a tabela e o schema na qual ela reside. Em geral excluímos tabelas usando a ferramenta pgAdmin. No entanto, é importante conhecer e dominar este comando de forma a conseguirmos excluir tabelas a partir da janela de Query do pgAdmin, do SQL Shell (psql) ou usando uma linguagem de programação. Veja um comando DDL DROP TABLE usado para excluir uma tabela chamada produtos: DROP TABLE produtos; Se o comando for executado com sucesso, o PostgreSQL nos exibirá a seguinte mensagem: Query returned successfully with no result in 31 ms. ERRO: tabela "produtos" não existe ********** Error ********** ERRO: tabela "produtos" não existe SQL state: 42P01 DROP TABLE IF EXISTS produtos; Agora o PostgreSQL trocará a mensagem de erro por uma mensagem de advertência: NOTA: tabela "produtos" não existe, ignorando Query returned successfully with no result in 14 ms. |
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: 3696 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(). |
LISP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter radianos em graus em LISP - Trigonometria em LISPQuantidade de visualizações: 724 vezes |
Todas as funções trigonométricas em Common Lisp (ou AutoLISP, para programadores AutoCAD) recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin(). Esta função recebe o ângulo em radianos e retorna o seu seno. No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo: \[Graus = Radianos \times \frac{180}{\pi}\] Agora veja como esta fórmula pode ser escrita em código LISP: ; programa LISP que converte radianos em graus (let((radianos)(graus)) ; valor em radianos (setq radianos 1.5) ; obtém o valor em graus (setq graus (* radianos (/ 180 pi))) ; mostra o resultado (format t "~F radianos em graus é ~F" radianos graus) ) Ao executarmos este código LISP nós teremos o seguinte resultado: 1.5 radianos convertidos para graus é 85.94366926962348 Para fins de memorização, 1 radiano equivale a 57,2957795 graus. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Usando o laço do...while para pedir ao usuário para informar números inteiros e calcular a quantidade de números positivos, negativos, a soma e a médiaQuantidade de visualizações: 9627 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço do...while para ler números inteiros até que o valor lido seja igual a 0. Em seguida mostre a quantidade de valores positivos e negativos, a soma dos valores e a média aritmética (sem incluir o valor 0 na contagem e no cálculo da média). A média deverá ser exibida como um valor de ponto flutuante. Sua saída deverá ser parecida com a mostrada abaixo: Informe um número inteiro (0 para sair): 5 Informe um número inteiro (0 para sair): -4 Informe um número inteiro (0 para sair): 3 Informe um número inteiro (0 para sair): 8 Informe um número inteiro (0 para sair): -2 Informe um número inteiro (0 para sair): 0 Quantidade de números positivos: 3 Quantidade de números negativos: 2 A soma dos números lidos é: 10 A média aritmética é: 2.0 Veja a resolução comentada deste exercício usando Java console: package exercicios; import java.util.Scanner; public class Exercicios { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // declaração das variáveis int numero, quantLidos = 0, soma = 0; int quantPositivos = 0, quantNegativos = 0; // laço do...while que repetirá até que o usuário informe o valor 0 do { // lê o primeiro ou próximo número System.out.print("Informe um número inteiro (0 para sair): "); numero = Integer.parseInt(entrada.nextLine()); if(numero > 0){ // o número é positivo? quantPositivos++; } else if(numero < 0){ // o número é negativo? quantNegativos++; } // soma este número à soma já existente soma += numero; // aumenta a contagem dos números lidos if(numero != 0){ // não incluir o 0 para sair do programa na contagem quantLidos++; } } while(numero != 0); // condição de parada do laço if(quantLidos == 0){ System.out.println("Você não informou nenhum número."); } else{ System.out.println("Quantidade de números positivos: " + quantPositivos); System.out.println("Quantidade de números negativos: " + quantNegativos); System.out.println("A soma dos números lidos é: " + soma); System.out.println("A média aritmética é: " + ((soma * 1.0) / quantLidos)); // note a multiplicação de soma por 1.0 para gerar um valor de ponto flutuante // antes da divisão } } } |
Python ::: Dicas & Truques ::: Data e Hora |
Como exibir a data atual em Python de acordo com as configurações regionais usando as funções strftime() e setlocale()Quantidade de visualizações: 7751 vezes |
Nesta dica mostrarei como podemos combinar os objeto datetime e locale e as funções today(), strftime() e setlocale() para retornar e exibir a data atual em Python usando as configurações regionais do computador do usuário. Veja o código completo para o exemplo: from datetime import datetime import locale # função principal do programa def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, "") # Obtém um datetime da data e hora atual hoje = datetime.today() # Exibe a data atual print("Hoje é {0}".format(hoje.strftime("%x"))) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Hoje é 04/02/2023 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Usando o laço for para exibir a tabela de caracteres ASCII de 1 até 127Quantidade de visualizações: 4236 vezes |
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para exibir a tabela de caracteres que são equivalentes aos códigos ASCII de 1 até 127. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ // um laço que começa em 1 e termina em 127 for(int i = 1; i <= 127; i++){ // vamos obter o caractere correspondente char c = (char)(i); // vamos exibí-lo System.out.print(c + " "); // é hora de quebrar a linha? if(i % 10 == 0){ System.out.println(); } } System.out.println(); } } |
Java ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI |
Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender)Quantidade de visualizações: 13970 vezes |
Nesta dica apresento uma aplicação completa para um MIDI Player em Java. Trata-se de uma aplicação console que você pode estudar e implementar a mesma idéia em Java Swing ou JavaFX. Para executar o código abaixo, você só precisa definir o caminho e nome de um arquivo MIDI (extensão .mid). Veja o código completo e divirta-se: package arquivodecodigos; import javax.sound.midi.*; import java.io.*; public class Estudos{ public static void main(String args[]) { // nome do arquivo MIDI String arquivo = "amazing_grace.mid"; if(!arquivo.endsWith(".mid")) { System.out.println("Este não parece ser um arquivo MIDI válido."); System.exit(1); } File midiFile = new File(arquivo); if(!midiFile.exists() || midiFile.isDirectory() || !midiFile.canRead()) { System.out.println("Não foi possível acessar o arquivo indicado."); System.exit(1); } try{ Sequencer seq = MidiSystem.getSequencer(); seq.setSequence(MidiSystem.getSequence(midiFile)); seq.open(); seq.start(); while(true){ if(seq.isRunning()){ try{ Thread.sleep(1000); } catch(InterruptedException ignore){ break; } } else{ break; } } seq.stop(); seq.close(); } catch(MidiUnavailableException mue){ System.out.println("Dispositivo de MIDI indisponível"); } catch(InvalidMidiDataException imde){ System.out.println("Dados MIDI Inválidos"); } catch(IOException ioe){ System.out.println("Erro de I/O"); } } } |
Java ::: Dicas & Truques ::: Fuso Horários |
Como representar fuso horário em Java usando a classe TimeZoneQuantidade de visualizações: 13080 vezes |
A classe abstrata TimeZone (do pacote java.util) representa um determinado fuso horário e também identifica o horário de verão (daylight savings) de um determinado país ou região. Veja sua posição na hierarquia de classes Java:java.lang.Object java.util.TimeZone A melhor forma de entender o fuso horário, é consultando suas configurações regionais no Painel de Controle de seu sistema. É comum, em máquinas brasileiras encontrarmos o fuso horário "GMT -03:00 - Brasilia". Isso quer dizer que a hora oficial do Brasil é -3 horas em relação ao horário de Greenwich, Londres. Não podemos nos esquecer do horário de verão, que reduz esta diferença para -2 horas na maior parte do país. Por padrão, A JVM detecta e trabalha com o fuso horário da máquina na qual está sendo executada. Veja um trecho de código que obtém este TimeZone padrão: import java.util.*; public class Estudos{ public static void main(String args[]){ TimeZone timeZone = TimeZone.getDefault(); System.out.println(timeZone.getDisplayName()); System.out.println(timeZone.getID()); } } Ao executar este código você terá um resultado semelhante à: Brasilia Time America/Sao_Paulo Aqui nós usamos o método estático getDefault() para retornar o TimeZone padrão e os métodos de instância getDisplayName() e getID() para obter as informações sobre o fuso horário. |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando CQuantidade de visualizações: 12054 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código C para a resolução: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float montante = principal * pow((1 + taxa), meses); float juros = montante - principal; printf("O total de juros a ser pago é: %f\n", juros); printf("O montante a ser pago é: %f", montante); printf("\n\n"); system("pause"); return 0; } Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { float principal = 2000.00; float taxa = 0.03; // 3% int meses = 3; float anterior = 0.0; float montante; float juros; for(int i = 1; i <= meses; i++){ montante = principal * pow((1 + taxa), i); juros = montante - principal - anterior; anterior += juros; printf("Mês: %d - Montante: %f - Juros %f\n", i, montante, juros); } printf("\n\n"); system("pause"); return 0; } |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elas AutoCAD .NET API C# - Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# API JavaScript - Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto String |
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 |