C++ ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em C++ dados dois pontos no plano cartesianoQuantidade de visualizações: 1540 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 C++ 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:
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[]){
// coordenadas dos dois pontos
float x1, y1, x2, y2;
// guarda o coeficiente angular
float m;
// x e y do primeiro ponto
cout << "Coordenada x do primeiro ponto: ";
cin >> x1;
cout << "Coordenada y do primeiro ponto: ";
cin >> y1;
// x e y do segundo ponto
cout << "Coordenada x do segundo ponto: ";
cin >> x2;
cout << "Coordenada y do segundo ponto: ";
cin >> y2;
// vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1);
// mostramos o resultado
cout << "O coeficiente angular é: " << m << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.666667 Pressione qualquer tecla para continuar... 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__$):
#include <iostream>
#include <cstdlib>
#include <math.h>
using namespace std;
int main(int argc, char *argv[]){
// coordenadas dos dois pontos
float x1, y1, x2, y2;
// guarda os comprimentos dos catetos oposto e adjascente
float cateto_oposto, cateto_adjascente;
// guarda o ângulo tetha (em radianos) e a tangente
float tetha, tangente;
// x e y do primeiro ponto
cout << "Coordenada x do primeiro ponto: ";
cin >> x1;
cout << "Coordenada y do primeiro ponto: ";
cin >> y1;
// x e y do segundo ponto
cout << "Coordenada x do segundo ponto: ";
cin >> x2;
cout << "Coordenada y do segundo ponto: ";
cin >> y2;
// vamos obter o comprimento do cateto oposto
cateto_oposto = y2 - y1;
// e agora o cateto adjascente
cateto_adjascente = x2 - x1;
// vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
// (em radianos, não se esqueça)
tetha = atan2(cateto_oposto, cateto_adjascente);
// e finalmente usamos a tangente desse ângulo para calcular
// o coeficiente angular
tangente = tan(tetha);
// mostramos o resultado
cout << "O coeficiente angular é: " << tangente << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
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. |
C# ::: Coleções (Collections) ::: ArrayList |
Como criar um ArrayList de inteiros no C# e percorrer os elementos usando o laço foreachQuantidade de visualizações: 13218 vezes |
|
Nesta dica mostrarei um código C# direcionado aos programadores que querem aprender a usar a classe ArrayList em seus programas. Trata-se da criação de uma ArrayList de números inteiros. Depois de criada a lista nós vamos adicionar alguns elementos e depois vamos usar o laço foreach para exibir os valores adicionados. Veja o código completo:
using System;
using System.Collections;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// Cria o ArrayList
ArrayList lista = new ArrayList();
// Adiciona 5 inteiros
lista.Add(30);
lista.Add(2);
lista.Add(98);
lista.Add(1);
lista.Add(7);
// Percorre os elementos da ArrayList
Console.WriteLine("Os elementos no ArrayList são:\n");
foreach (int valor in lista) {
Console.Write("{0} ", valor);
}
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Os elementos no ArrayList são: 30 2 98 1 7 |
Java ::: Java para Engenharia ::: Física - Mecânica |
Como calcular a velocidade de um corpo dado sua massa e sua energia cinética usando a linguagem JavaQuantidade de visualizações: 1401 vezes |
|
A Energia cinética é uma das formas da energia mecânica e definida como a energia de movimento, pois está relacionada com o estado de movimento de um corpo. Variando de acordo com o movimento e a massa do corpo, esse tipo de energia tem sua existência condicionada à velocidade, uma vez que nos corpos em repouso ela não existe, pois a velocidade é nula. Essa vertente de energia depende da relação entre corpo e o ponto referencial do observador. Se houver velocidade, haverá energia cinética. Portanto, não trata-se de uma energia invariável, mas sim de um tipo de energia mecânica que é determinada em função da massa do corpo em movimento, medida em quilogramas (kg), e da velocidade desenvolvida por ele, medida em metros por segundo (m/s). A fórmula para obtenção da velocidade de um corpo, quando temos a sua energia cinética e a sua massa é: \[\text{v} = \sqrt{\frac{E_c}{\frac{1}{2}\text{m}}}\] Onde: m ? massa do corpo (em kg). Ec ? energia cinética (em joule, J). v ? velocidade do corpo (em m/s). Vamos ver um exemplo agora? Observe o seguinte enunciado: 1) Determine qual é a velocidade em que se move um corpo de 20kg cuja energia cinética é igual a 400J. Note que o exercício já nos dá os valores em suas unidades de medidas no SI (Sistema Internacional de Medidas). Tudo que temos a fazer é converter a fórmula para código Java. Veja:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// energia cinética
double energia_cinetica = 400; // em joule
// massa do corpo
double massa = 20; // em kg
// e então calculamos a velocidade do corpo
double velocidade = Math.sqrt(energia_cinetica / (0.5 * massa));
// mostramos o resultado
System.out.println("A velocidade do corpo é: " + velocidade + "m/s");
}
}
Ao executar este código Java nós teremos o seguinte resultado: A velocidade do corpo é: 6.324555320336759m/s Não se esqueça de que a velocidade retornada estará em metros por segundo. |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico |
Exercício Resolvido de C++ - Ler três números inteiros e indicar se eles estão em ordem crescente ou decrescenteQuantidade de visualizações: 951 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ que pede para o usuário informar três números inteiros e informa se eles estão em ordem crescente ou decrescente. Se os números estiverem em ordem crescente, escreva "Ordem Crescente". Se estiverem em ordem decrescente, escreva "Ordem Decrescente". Do contrário escreva "Sem ordem definida". Sua saída deverá ser parecida com: Primeiro número: 4 Segundo número: 8 Terceiro número: 11 Ordem Crescente Veja a resolução comentada deste exercício em C++:
#include <string>
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do exercício
int a, b, c;
// vamos pedir para o usuário informar três números
cout << "Primeiro número: ";
cin >> a;
cout << "Segundo número: ";
cin >> b;
cout << "Terceiro número: ";
cin >> c;
// os números estão em ordem crescente?
if (a < b && b < c){
cout << "Ordem Crescente" << endl;
}
// os números estão em ordem decrescente?
else if (a > b && b > c){
cout << "Ordem Decrescente" << endl;
}
// sem ordem definida
else{
cout << "Sem ordem definida" << endl;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Nossas 20 dicas & truques de programação mais populares |
|
TypeScript - Como calcular o coeficiente angular de uma reta em TypeScript dados dois pontos no plano cartesiano C# - Como excluir todos os itens selecionados em uma ListBox de múltipla seleção do C# Windows Forms C# - Como adicionar ou subtrair dias de uma data em C# usando o método AddDays() da estrutura DateTime |
Você também poderá gostar das dicas e truques de programação abaixo |
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 |






