Macro en Word para numerar y resaltar preguntas automáticamente

Imagen
 ¿Tienes un cuestionario lleno de preguntas y quieres darles un formato profesional sin hacerlo a mano? En esta publicación te comparto una macro en Word que detecta automáticamente las preguntas , las numera y además las resalta en negrita . Esta herramienta es especialmente útil si trabajas en educación o si necesitas generar evaluaciones, encuestas o formularios con frecuencia. 💡 ¿Qué hace esta macro? Detecta cualquier párrafo que contenga un signo de pregunta ( ¿ o ? ). Añade un número al inicio del párrafo. Aplica negrita a toda la pregunta. Evita numerar dos veces si ya habías corrido la macro antes. Sub NumerarYFormatearPreguntas()     Dim parrafo As Paragraph     Dim texto As String     Dim contador As Integer     contador = 1     For Each parrafo In ActiveDocument.Paragraphs         texto = Trim(parrafo.Range.Text)         ' Verifica si contiene "¿" o "?" y que aún no...

cómo resolver ecuaciones lineales con Python

Quizás se han preguntado cómo puedo resolver una ecuación utilizando Python. Primero es convertir nuestro sistema de ecuaciones a matrices y vectores es decir utilizar Álgebra lineal.

Entonces primer paso nuestra ecuación de ejemplo es:

3x + 2y -5z =8
2x-5y+3z =5
8y+9z =6

Esto convertido a Algebra Lineal se ve así:

[3,2,-5
 2,-5,3
0,8,9]

Vector de resultados de la ecuación
[8,5,6]

En el álgebra lineal tenemos varios métodos que podemos utilizar para resolver este tipo de ecuaciones ,estos métodos son :

  • Regla de Cramer
  • Gauss Jordan
  • Eliminación Gaussiana

En este post vamos hablar de la regla de Cramer la cual consiste en ir remplazando una columna por el vector de resultados y obtener la determinante de la matriz inicial y la matriz con el ventor . 

Ahora vamos a transformar estas reglas a un programa

Primero vamos a hacerlo de manera manual en el programa simulando los pasos
import numpy as np

#Cramer rules
matrix_l = np.array([[3,2,-5],
                   [2,-5,3],
                   [0,8,9]])

vector_b = np.array([8,5,6])
d0 = np.linalg.det(matrix_l)
print(d0)

matrix_2 =np.array([[8,2,-5],
                   [5,-5,3],
                   [6,8,9]])
d1 = np.linalg.det(matrix_2)
print(d1)

matrix_3 =np.array([[3,8,-5],
                   [2,5,3],
                   [0,6,9]])
d2 = np.linalg.det(matrix_3)
print(d2)

matrix_4 =np.array([[3,2,8],
                   [2,-5,5],
                   [0,8,6]])
d3 = np.linalg.det(matrix_4)
print(d3)

x1=d1/d0
x2=d2/d0
x3=d3/d0
print("result x1",x1)
print("result x2",x2)
print("result x3",x3)

Ahora validemos el resultado


Cómo podemos ver la solución del programa ,resuelve nuestro sistema de ecuaciones.

Ahora vamos hacer nuestro programa un poco más automático

def crammer(mat,vect):
    d = np.linalg.det(mat)
    
    mat1= np.array([vect,mat[:,1],mat[:,2]])
    mat2= np.array([mat[:,0],vect,mat[:,2]])
    mat3= np.array([mat[:,0],mat[:,1],vect])
    
    d1 = np.linalg.det(mat1)
    d2 = np.linalg.det(mat2)
    d3 = np.linalg.det(mat3)
    
    x1 =d1/d
    x2 =d2/d
    x3= d3/d
    
    print(x1,x2,x3)

(matrix_l,vector_b)

Les comparto la liga al video en nuestro canal de YouTube para ver la ejecución del programa


Espero les sea de utilidad y nos compartan. 
#programacionparatodos
#programarcobpython

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

📊 Automatiza tu trabajo: Convierte tablas de Word a Excel con una macro

Macro de Excel para abrir archivo csv