Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
VisuAlg ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em VisuAlg - Como calcular Bhaskara em VisuAlgQuantidade de visualizações: 2048 vezes |
|
Como resolver uma equação do 2º grau usando VisuAlg 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 VisuAlg, 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 VisuAlg 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 VisuAlg. 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:
Algoritmo "Como resolver uma equação do 2º grau usando VisuAlg"
Var
// variáveis usadas na resolução do problema
// os coeficientes
a, b, c: real
// as duas raizes, a imaginaria e o discriminante
raiz1, raiz2, imaginaria, discriminante: real
Inicio
// 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 então
raiz1 <- (-b + raizq(discriminante)) / (2 * a)
raiz2 <- (-b - raizq(discriminante)) / (2 * a)
escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2)
senão
// a equação possui uma única solução real?
se discriminante = 0 então
raiz1 <- -b / (2 * a)
raiz2 <- -b / (2 * a)
escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2)
// a equação não possui solução real?
senão
raiz1 <- -b / (2 * a)
raiz2 <- -b / (2 * a)
imaginaria <- raizq(-discriminante) / (2 * a)
escreva("Existem duas raízes complexas: ")
escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria)
fimse
fimse
Fimalgoritmo
Ao executar este código VisuAlg 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 |
Python ::: Dicas & Truques ::: Sistema |
Como obter o diretório do seu programa Python usando sys.path[0]Quantidade de visualizações: 10089 vezes |
|
Nesta dica eu mostrarei como é possível usar a primeira posição da lista de strings contida na propriedade path do módulo sys da linguagem Python. Lembre-se de que sys.path contém uma lista de strings especificando os caminhos de busca para os módulos Python. Veja o código completo para o exemplo:
import sys
# função principal do programa
def main():
print("O diretório do programa é: ", sys.path[0])
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado: O diretório do programa é: c:\estudos_python |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array de strings em ordem alfabética em C# usando a classe StringComparerQuantidade de visualizações: 17880 vezes |
|
Nesta dica mostrarei como classificar um vetor de strings C# em ordem alfabética. Para isso nós vamos usar um objeto da classe StringComparer. Veja o código completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
// cria e inicializa um array de strings
string[] cidades = {"Goiânia", "São Paulo",
"Rio de Janeiro", "Curitiba"};
Console.WriteLine("Ordem original:");
for (int i = 0; i < cidades.Length; i++) {
Console.WriteLine(cidades[i]);
}
// vamos criar um objeto da classe StringComparer
StringComparer ordenar = StringComparer.CurrentCultureIgnoreCase;
// agora classificamos o vetor em ordem alfabética
Array.Sort(cidades, ordenar);
Console.WriteLine();
Console.WriteLine("Ordem alfabética:");
for (int i = 0; i < cidades.Length; i++) {
Console.WriteLine(cidades[i]);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Goiânia São Paulo Rio de Janeiro Curitiba Ordem alfabética: Curitiba Goiânia Rio de Janeiro São Paulo |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de VisuAlg - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em VisuAlgQuantidade de visualizações: 474 vezes |
|
Pergunta/Tarefa: Escreva um programa VisuAlg que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado: // declara um vetor de 10 inteiros valores: vetor[1..10] de inteiro Informe um valor: 4 O valor foi encontrado: 3 vezes Informe um valor: 8 O valor foi encontrado: 1 vezes Informe um valor: 3 O valor foi encontrado: 0 vezes Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Contar quantas vezes um elemento repete em um vetor"
var
// variáveis usadas na resolução do problema
valores: vetor[1..10] de inteiro
pesquisa, repeticoes, i: inteiro
inicio
// inicializa um vetor de 10 inteiros
valores[1] <- 4
valores[2] <- 21
valores[3] <- 9
valores[4] <- 8
valores[5] <- 12
valores[6] <- 21
valores[7] <- 4
valores[8] <- 4
valores[9] <- 1
valores[10] <- 10
// vamos ler um valor inteiro
escreva("Informe um valor: ")
leia(pesquisa)
// vamos verificar quantas vezes o valor informado está
// contido no vetor
repeticoes <- 0
para i de 1 ate 10 faca
se valores[i] = pesquisa entao
// encontrou? vamos contar esta ocorrência
repeticoes <- repeticoes + 1
fimse
fimpara
// vamos mostrar o resultado
escreva("O valor foi encontrado: ", repeticoes, " vezes")
fimalgoritmo
|
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como gerar vetores e matrizes com números inteiros aleatórios usando a função random.randint() da biblioteca NumPy para - Machine Learning com PythonQuantidade de visualizações: 1226 vezes |
|
Veremos nessa dica como podemos usar o método random.randint() da biblioteca NumPy para gerar vetores e matrizes já preenchidos com números inteiros aleatórios. Note que a criação de vetores e matrizes preenchidos com números randômicos é uma parte importante para o desenvolvimento de modelos de teste (test models) em Inteligência Artificial (IA), Machine Learning e outras áreas de estudo que envolvem Data Science. Vamos começar com a forma mais simples do uso da função random.randint() para gerar um vetor de 10 elementos contendo números aleatórios de 0 até 10 (não incluído):
# importamos o módulo random da bibliteca NumPy
from numpy import random
def main():
# vamos gerar um vetor de números inteiros aleatórios
# de 0 (incluído) à 10 (não incluído)
valores = random.randint(10, size=10)
print("O vetor gerado foi: ", valores)
if __name__== "__main__":
main()
Ao executar este código teremos um resultado parecido com: O vetor gerado foi: [0 3 2 3 8 9 3 9 6 4] Aqui nós informamos o limite alto do valor aleatório a ser gerado (mas ele não é incluído). Se quisermos limitar a faixa inferior, podemos tirar proveito dos parâmetros low e high da função randint(). Veja:
# importamos o módulo random da bibliteca NumPy
from numpy import random
def main():
# vamos gerar um vetor de números inteiros aleatórios
# de 50 (incluído) à 101 (não incluído)
valores = random.randint(50, 101, 10)
print("O vetor gerado foi: ", valores)
if __name__== "__main__":
main()
Agora o resultado será parecido com: O vetor gerado foi: [92 89 66 52 61 77 55 58 72 55] Para gerarmos uma matriz, por exemplo, de 2 linhas e 4 colunas, só precisamos gerar o vetor de números aleatórios e em seguida usar o método reshape(), também da biblioteca NumPy para converter a matriz de uma dimensão (vetor) em uma matriz de duas dimensões. Veja:
from numpy import random
def main():
# vamos gerar um vetor de números inteiros aleatórios
# de 1 (incluído) à 21 (não incluído)
valores = random.randint(1, 21, 8)
# agora vamos converter o vetor para uma matriz
# de 2 linhas e 4 colunas
valores = valores.reshape(2, 4)
print("A matriz gerada foi: ", valores)
if __name__== "__main__":
main()
Quando executamos este código nós temos um resultado parecido com: A matriz gerada foi: [[17 5 2 9] [14 10 10 19]] A partir da versão 1.19 da NumPy, os desenvolvedores da biblioteca recomendam o uso do método integers() do módulo default_rng(). |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
Java - Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em Java C# - C# Windows Forms para iniciantes - Como limpar todo o conteúdo de um controle TextBox via código |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





