Ir o contido principal
  • Inicio
  • e-dixgal
    • sesion_01
    • sesion_02
    • sesion_03
    • sesion_04
  • AI
  • Drupal
  • GNU-Linux
    • Debian
    • Arch Linux
    • LibreOffice
    • Latex
    • RStudio
  • Moodle
  • Espazo Abalar
  • Procurar

Crear ficheiros pdf, odt, docx, pseudocódigo ou python con ChatGPT

Por webmaster, 14 Maio, 2024
AI

Na actualidade ChatGPT e nas versións 4 e 4o é capaz de crear ficheiros pdf, odt ou docx de forma directa. Desta maneira podemos crear material didáctico de maneira moi rápida. Vexamos uns exemplos:
 

Crea un boletín de sumas, restas, multiplicacións e divisións de fraccións con números naturais maís pequenos co número  20. A continuación crea un ficheiro pdf co mesmo

E este pode ser o resultado: 
https://centros.edu.xunta.gal/zonacee/sites/centros.edu.xunta.gal.zonacee/files/2024-05/boletin_operacions_matematicas.pdf


Creación de código Python coas instrucións en Latex para imprimir en PDF

Precisamos ter instalado Python 3 e pip. E ademais precisaremos o motor de latex, para compilar latex a pdf. Instálase do seguinte xeito:

sudo apt install texlive-full

Para isto empregaremos a tenda de gpt Wolfram

Crea un boletín para aprender integrais que se resolvan por cambio de variable. Cada boletín debe conter 20 integrais con formato diferente e con valores aleatorios. Asegúrate de que as integrais non se poidan resolver por partes nin sexan integrais racionais. Unha vez xerado o código para un boletín, transfórmao a formato LaTeX e crea o código Python para a creación de 10 boletíns nun único arquivo PDF. Cada boletín debe estar contido nunha única folla, polo que é posible que necesites utilizar un formato en dúas columnas.

 

E despois de mandarlle facer cambios a chatgpt obtemos o seguinte código:
 

import random
import subprocess

def generate_integral():
    """ Función para generar un tipo de integral con parámetros aleatorios y su solución. """
    types = [
        (r"\int e^{%dx} \, dx", r"\frac{1}{%d} e^{%dx} + C"),
        (r"\int \sin(%dx) \, dx", r"-\frac{1}{%d} \cos(%dx) + C"),
        (r"\int \cos(%dx) \, dx", r"\frac{1}{%d} \sin(%dx) + C"),
        (r"\int \frac{dx}{\sqrt{%d^2 - x^2}}", r"\sin^{-1}\left(\frac{x}{%d}\right) + C"),
        (r"\int \frac{dx}{%dx + b}", r"\frac{1}{%d} \ln |%dx + b| + C"),
        (r"\int \sqrt{%dx + b} \, dx", r"\frac{2}{3%d} (%dx+b)^{3/2} + C"),
        (r"\int x^2 e^{- %dx^2} \, dx", r"\frac{\sqrt{\pi}}{4%d^{3/2}} \operatorname{erf}(\sqrt{%d}x) + C"),
        (r"\int \ln(%dx) \, dx", r"x \ln(%dx) - x + C")
    ]
    a = random.randint(1, 5)  # Coeficiente a
    integral_template, solution_template = random.choice(types)
    integral = integral_template % a
    solution = solution_template % (a, a) if solution_template.count("%d") > 1 else solution_template % a
    return f"\\subsection*{{\( {integral} \)}}\n\\textbf{{Solución:}} \( {solution} \)"

latex_content = r"""
\documentclass{article}
\usepackage{amsmath}
\usepackage{multicol}
\begin{document}
"""

for i in range(1, 11):
    latex_content += r"\newpage" if i > 1 else ""
    latex_content += f"\\section{{Boletín {i}}}\n"
    latex_content += r"\begin{multicols}{2}"
    for _ in range(20):
        latex_content += generate_integral()
    latex_content += r"\end{multicols}"

latex_content += r"\end{document}"

with open('boletines_integrales.tex', 'w') as file:
    file.write(latex_content)

# Compilar el archivo LaTeX en PDF usando pdflatex
subprocess.run(['pdflatex', 'boletines_integrales.tex'])

Gardamos o código anterior como boletin.py, por exemplo e procedemos a axecutalo coa orde python boletin.py

O resultado pode ser o seguinte:

https://centros.edu.xunta.gal/zonacee/sites/centros.edu.xunta.gal.zonacee/files/2024-05/boletines_integrales.pdf

 

Creación de pseudocódigo e código Python

Un docente pode pedirlle ao chatgpt que cree o pseudocódigo dunha rutina para aprender a empregar o for de Python

xera pseucodigo dunha rutina interesante para aprender o uso do for en Python
E o chat devolve isto, que servirá como enunciado dunha tarefa para o alumnado:

Inicio da rutina "Suma de números pares"
Definir a función "calcular_suma_pares" con parámetros "inicio" e "fin"
   Inicializar a variable "suma" a 0
   
   Para cada número "i" no rango desde "inicio" ata "fin" (inclusivo)
       Se "i" é par (i % 2 == 0)
           Engadir "i" á variable "suma"
       Fin se
   Fin para
   Retornar a variable "suma"
Fin definir
Definir a función principal "main"
   Solicitar ao usuario que introduza o valor inicial "inicio"
   Solicitar ao usuario que introduza o valor final "fin"
   Chamar á función "calcular_suma_pares" con "inicio" e "fin"
   Imprimir o resultado da suma dos números pares
Fin definir
Chamar á función "main"
Fin da rutina

E seguidamente podemos pedirlle o código de Pyhton que se axuste ao pseudocodigo, que servirá para facilitarlle ao alumnado para que corrixa o entregado, ou que lle vala para estudar.

def calcular_suma_pares(inicio, fin):
   suma = 0
   for i in range(inicio, fin + 1):
       if i % 2 == 0:
           suma += i
   return suma
def main():
   inicio = int(input("Introduce o valor inicial: "))
   fin = int(input("Introduce o valor final: "))
   
   resultado = calcular_suma_pares(inicio, fin)
   print(f"A suma dos números pares entre {inicio} e {fin} é: {resultado}")
if __name__ == "__main__":
   main()

 

Ficheiro
boletines_integrales.pdf (159.8 KB)
boletin_operacions_matematicas.pdf (1.85 KB)
Canle RSS