Você está aqui: TypeScript ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
|
Como calcular o coeficiente angular de uma reta em TypeScript dados dois pontos no plano cartesianoQuantidade de visualizações: 916 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem TypeScript que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: // x e y do primeiro ponto var x1:number = 3; var y1:number = 6; // x e y do segundo ponto var x2:number = 9; var y2:number = 10; ...... Ao executar este código TypeScript nós teremos o seguinte resultado: O coeficiente angular é: 0.6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): // x e y do primeiro ponto var x1:number = 3; var y1:number = 6; // x e y do segundo ponto var x2:number = 9; var y2:number = 10; // vamos obter o comprimento do cateto oposto var cateto_oposto:number = y2 - y1; // e agora o cateto adjascente var cateto_adjascente:number = x2 - x1; // vamos obter o ângulo tetha, ou seja, a inclinação da hipotenusa ...... Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
|
Link para compartilhar na Internet ou com seus amigos: | |
Android Java ::: Gerenciadores de Layout ::: LinearLayout |
Como usar o gerenciador de layout LinearLayout em suas aplicações AndroidQuantidade de visualizações: 7727 vezes |
O gerenciador de layout LinearLayout (no pacote android.widget) do Android SDK nos permite exibir seus componentes filhos em uma única coluna ou linha. Esta classe está disponível desde a API Level 1. Veja sua posição na hierarquia de classes do Android:java.lang.Object android.view.View android.view.ViewGroup ...... As classes diretas mais conhecidas são: NumberPicker, RadioGroup, SearchView, TabWidget, TableLayout, TableRow e ZoomControls. Veja um exemplo de como podemos usar o gerenciador LinearLayout em um arquivo de layout em XML: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" ...... Veja agora como este mesmo gerenciador pode ser criado em tempo de execução a partir do método onCreate() de uma activity: package arquivo.estudos; import android.app.Activity; import android.os.Bundle; import android.view.ViewGroup.LayoutParams; import android.widget.LinearLayout; public class EstudosActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...... Em ambos os exemplos, os componentes filhos serão dispostos em uma única coluna, ou seja, serão empilhados na vertical, uma vez que o valor da orientação do layout é vertical. Note que a orientação do layout LinearLayout é definida em um arquivo XML usando o atributo android:orientation. Via código, a orientação é definida por meio de uma chamada ao método setOrientation(). A orientação padrão de um LinearLayout é horizontal (os componentes são dispostos em uma linha horizontal e a quebra de linha só ocorrerá quando forçada por questões de espaço). |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de C++ - Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números paresQuantidade de visualizações: 394 vezes |
Pergunta/Tarefa: Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números pares existentes no intervalo [M, N] e imprimir a multiplicação desses números (os pares). Observe que os valores M e N devem ser fornecidos pelo usuário. Nota: por se tratar de intervalo fechado [M, N], os números M e N devem ser incluídos na amostra. Além disso, seu código deve assegurar que M seja menor que N. Sua saída deverá ser parecida com: Informe o valor de M: 3 Informe o valor de N: 9 Números pares no intervalo [M, N]: 4, 6, 8, Multiplicação dos números pares no intervalo [M, N]: 192 Veja a resolução comentada deste exercício em C++: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int m, n, i, multiplicacao = 1; // vamos pedir para o usuário informar os valores de M e N cout << "Informe o valor de M: "; cin >> m; cout << "Informe o valor de N: "; cin >> n; // M é menor que N? if(m >= n){ cout << "M deve ser menor que N"; } else{ // mostra os números pares no intervalo cout << "Números pares no intervalo [M, N]: "; ...... |
Python ::: Dicas & Truques ::: Data e Hora |
Como obter o nome do mês da data atual no formato curto usando os métodos today() e strftime() da classe datetime do PythonQuantidade de visualizações: 9880 vezes |
Nesta dica mostrarei como podemos combinar os métodos today() e strftime() da classe datetime do Python para retornar o nome do mês da data atual no formato curto, ou seja, se o mês for setembro, o valor retornado será "set". Veja o código completo para o exemplo: from datetime import datetime import locale def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, '') # Obtém um datatime da data e hora atual ...... Ao executarmos este código nós teremos o seguinte resultado: O mês é: mar |
JavaScript ::: Dicas & Truques ::: Cookies |
Cookies em JavaScript - Como obter o valor de um cookie usando JavaScriptQuantidade de visualizações: 8709 vezes |
Nesta dica eu mostro como podemos escrever uma função JavaScript chamada obterCookie() que recebe o nome de um cookie e retorna o seu valor. Veja que, se o cookie com o nome informado não existir, o valor null é retornado. Veja o código JavaScript completo, incluindo o código HTML: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> // função que permite obter um cookie function obterCookie(nome){ if(document.cookie.length > 0){ c_start = document.cookie.indexOf(nome + "="); if(c_start != -1){ c_start = c_start + nome.length + 1; c_end = document.cookie.indexOf(";", c_start); if(c_end == -1){ c_end = document.cookie.length; } return unescape(document.cookie.substring( c_start, c_end)); ...... Ao executar este código JavaScript nós teremos o seguinte resultado: O cookie nome_visitante existe. Seu valor é: Osmar |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Java - Como contar de 0 até 10 usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 4554 vezes |
Pergunta/Tarefa: Escreva um método Java recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura: public static void contarRecursivamente(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando Java: package exercicio; public class Exercicio { public static void main(String[] args) { // efetua uma chamada ao método recursivo // fornecendo o primeiro valor contarRecursivamente(0); } // método recursivo que conta de 0 até 10; public static void contarRecursivamente(int n){ ...... |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |