Você está aqui: Cards de Engenharia Civil - Estruturas de Aço e Madeira |
||
|
||
|
|
||
Portugol ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em PortugolQuantidade de visualizações: 3070 vezes |
|
Como resolver uma equação do 2º grau usando Portugol Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando um algoritmo escrito na ferramenta Portugol Studio, uma das preferidas para o aprendizado de algoritmos e lógica de programação. Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita. Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0. Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente. Como resolver uma equação do 2º grau Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns: a) Fórmula de Bhaskara; b) Soma e produto. O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa. Como resolver uma equação do 2º grau usando Bhaskara Como nosso algoritmo Portugol vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja: \[\Delta =b^2-4ac\] Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades: a) Se determinante > 0, então a equação possui duas soluções reais. b) Se determinante = 0, então a equação possui uma única solução real. c) Se determinante < 0, então a equação não possui solução real. Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara: \[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\] Vamos agora ao código Portugol (escrevi e testei no Portugol Webstudio). Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:
// "Como resolver uma equação do 2º grau usando Portugol
programa {
// inclui a biblioteca Matematica
inclua biblioteca Matematica --> mat
// função principal do programa
funcao inicio() {
// variáveis usadas na resolução do problema
// os coeficientes
real a, b, c
// as duas raizes, a imaginaria e o discriminante
real raiz1, raiz2, imaginaria, discriminante
// vamos pedir para o usuário informar os valores dos coeficientes
escreva("Valor do coeficiente a: ")
leia(a)
escreva("Valor do coeficiente b: ")
leia(b)
escreva("Valor do coeficiente c: ")
leia(c)
// vamos calcular o discriminante
discriminante = (b * b) - (4 * a * c)
// a equação possui duas soluções reais?
se (discriminante > 0) {
raiz1 = ((b * -1) + mat.raiz(discriminante, 2.0)) / (2 * a)
raiz2 = ((b * -1) - mat.raiz(discriminante, 2.0)) / (2 * a)
escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2)
}
// a equação possui uma única solução real?
senao se (discriminante == 0){
raiz1 = (b * -1) / (2 * a)
raiz2 = (b * -1) / (2 * a)
escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2)
}
// a equação não possui solução real?
senao{
raiz1 = (b * -1) / (2 * a)
raiz2 = (b * -1) / (2 * a)
imaginaria = mat.raiz((discriminante * -1), 2.0) / (2 * a)
escreva("Existem duas raízes complexas: ")
escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria)
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: Valor do coeficiente a: 1 Valor do coeficiente b: 2 Valor do coeficiente c: -3 Existem duas raizes: x1 = 1.0 e x2 = -3.0 |
PHP ::: Dicas & Truques ::: Formulários |
Como obter o valor do item selecionado em um element HTML select (menu de lista) de seleção única usando PHPQuantidade de visualizações: 21865 vezes |
|
Os controles do tipo combobox ou select da linguagem HTML são úteis quando queremos fornecer uma lista de itens a partir da qual o usuário poderá selecionar apenas um ítem (ou vários itens, no caso de uma lista de seleção múltipla. Nesta dica mostrarei como usar PHP para obter o item que o usuário selecionou. Veja o código completo abaixo. Vamos começar com a página HTML que contém o elemento <select>:
<form name="cadastro" method="post" action="testes.php">
<b>Escolha sua linguagem favorita:</b><br>
<select name="linguagem">
<option value="Java" selected>Java</option>
<option value="C++">C++</option>
<option value="Python">Python</option>
<option value="Delphi">Delphi</option>
</select>
<input type="submit" value="Enviar!">
</form>
Agora, para obter o valor do item selecionado podemos usar o seguinte código PHP: <? // Obtém o valor selecionado $selecionada = $_POST["linguagem"]; // Exibe o resultado echo "Sua linguagem favorita é: " . $selecionada; ?> Quando você abrir a página HTML, selecionar um item e clicar o botão Enviar, você verá o seguinte resultado na página PHP: Sua linguagem favorita é: Delphi Esta dica foi revisada no PHP 8. |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Delphi usando a função Cos() - Calculadora de cosseno em DelphiQuantidade de visualizações: 1527 vezes |
|
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Delphi. Esta função, incorporada por padrão à linguagem, recebe um valor numérico (Extended) e retorna um valor Extended, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add('Cosseno de 0 = ' + FloatToStr(Cos(0)));
Memo1.Lines.Add('Cosseno de 1 = ' + FloatToStr(Cos(1)));
Memo1.Lines.Add('Cosseno de 2 = ' + FloatToStr(Cos(2)));
end;
Ao executar este código Delphi nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0,54030230586814 Cosseno de 2 = -0,416146836547142 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausenteQuantidade de visualizações: 794 vezes |
|
Pergunta/Tarefa: Dado o vetor:
int valores[] = {1, 8, 7, 2, 6, 5, 3};
Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos. Sua saída deverá ser parecida com: O número ausente é: 4 Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício. Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// vamos declarar um vetor de inteiros faltando
// um valor na sequência (não necessariamente ordenada)
// Note a ausência do número 4
int valores[] = {1, 8, 7, 2, 6, 5, 3};
int i, soma_n, ausente, soma_elementos;
int quant = 8; // tamanho do vetor + 1
setlocale(LC_ALL,""); // para acentos do português
// o primeiro passo é obter a soma de 1..n elementos
// natuais usando a fórmula n*(n+1)/2
soma_n = (quant * (quant + 1)) / 2;
// agora vamos somar os elementos do vetor
soma_elementos = 0;
for(i = 0; i < 7; i++){
soma_elementos = soma_elementos + valores[i];
}
// agora calculamos o valor ausente
ausente = soma_n - soma_elementos;
// vamos mostrar o resultado
printf("O número ausente é: %d", ausente);
printf("\n\n");
system("PAUSE");
return 0;
}
|
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: 3710 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 <stdio.h>
#include <stdlib.h>
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
printf("Coordenada x do primeiro ponto: ");
scanf("%f", &x1);
printf("Coordenada y do primeiro ponto: ");
scanf("%f", &y1);
// x e y do segundo ponto
printf("Coordenada x do segundo ponto: ");
scanf("%f", &x2);
printf("Coordenada y do segundo ponto: ");
scanf("%f", &y2);
// vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1);
// mostramos o resultado
printf("O coeficiente angular é: %f", m);
printf("\n\n");
system("PAUSE");
return 0;
}
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 <stdio.h>
#include <stdlib.h>
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
printf("Coordenada x do primeiro ponto: ");
scanf("%f", &x1);
printf("Coordenada y do primeiro ponto: ");
scanf("%f", &y1);
// x e y do segundo ponto
printf("Coordenada x do segundo ponto: ");
scanf("%f", &x2);
printf("Coordenada y do segundo ponto: ");
scanf("%f", &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
printf("O coeficiente angular é: %f", tangente);
printf("\n\n");
system("PAUSE");
return 0;
}
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. |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







