fbpx

Respuestas del foro creadas

Page 1 of 42
  • Angel Sánchez

    Miembro
    26 noviembre, 2024 en 5:10 pm en respuesta a: Texto parte 1

    Puedes validar si ya todo está solucionado, por favor 😀

  • Angel Sánchez

    Miembro
    26 noviembre, 2024 en 4:38 pm en respuesta a: Texto parte 1

    Estoy resolviendo eso, Carlos. En un momento te confirmaré cuando todo esté listo.

  • Angel Sánchez

    Miembro
    29 octubre, 2024 en 6:21 pm en respuesta a: Error al definir una funcion en VSC

    Hola Horacio, me alegra leer que te está gustando el curso.

    Sobre tu pregunta; en Visual Studio Code, las líneas onduladas azules generalmente indican problemas de formato o estilo del código, no necesariamente errores que impidan que el código funcione. Específicamente, en este caso probablemente indican:

    1. Problemas de espaciado.
    2. Problemas de indentación.

    Estas líneas azules son típicamente generadas por herramientas de formateo de código como “PEP 8” en Python, que es una guía de estilo que ayuda a mantener el código más legible y consistente. El código funcionará, pero no sigue las mejores prácticas de formato de Python.

    Copia este código y dime si marcan lo mismo:

    def suma(num1=5, num2=10):

    resultado = num1 + num2

    print(resultado)

    def resta(num1=5, num2=10):

    resultado = num1 - num2

    print(resultado)

    def multiplicar(num1=5, num2=10):

    resultado = num1 * num2

    print(resultado)

    def dividir(num1=5, num2=10):

    resultado = num1 / num2

    print(resultado)

    En Visual Studio Code, puedes formatear automáticamente tu código:

    • Windows: Presiona Shift + Alt + F
    • Mac: Presiona Shift + Option + F
    • Linux: Presiona Ctrl + Shift + I

    Me avisas si se solucionó tu problema 😀

  • Angel Sánchez

    Miembro
    17 octubre, 2024 en 4:04 pm en respuesta a: ¿Cómo crear un certificado usando OpenSSL?

    Hola Gabo, para poder ayudarte nos ayudas con esta información:

    1. ¿Qué tipo de certificado necesitas?

    • Un certificado autofirmado (self-signed) para pruebas internas.
    • Un certificado firmado por una Autoridad de Certificación (CA) externa.

    2. ¿Qué tipo de información te solicitaron para el certificado?

    • Nombre común (Common Name o CN), que suele ser el dominio o el nombre del servidor.
    • Organización, departamento, país, etc.

    3. ¿Cuántos bits debe tener la clave?

    • Normalmente se usan claves de 2048 bits, pero algunas aplicaciones requieren más.

    4. ¿El certificado debe tener alguna característica específica?

    • Por ejemplo, certificado wildcard (comodín) para varios subdominios o con soporte para múltiples dominios (SAN – Subject Alternative Name).

    5. ¿Para qué sistema o servidor lo necesitas?

    • Esto puede influir en el formato del certificado (PEM, DER, etc.).

    Con estos detalles tendremos mucho mas contexto y podremos ofrecerte una mejor ayuda. 😀

  • Angel Sánchez

    Miembro
    16 octubre, 2024 en 11:01 am en respuesta a: Configurar VS Code para ejecutar C++ automáticamente

    Hola José, para evitar configurar manualmente el archivo launch.json cada vez que ejecutas un programa en Visual Studio Code con C++, puedes hacer una configuración predeterminada siguiendo estos pasos:

    1.- Instala los componentes necesarios:

    • Extensión de C/C++: Asegúrate de que tienes instalada la extensión de C++ de Microsoft. Ve al Marketplace en Visual Studio Code y busca “C/C++” para instalarla.
    • Compilador de C++: Instala un compilador como MinGW (si usas Windows) o asegúrate de que tienes g++ en Linux o macOS.

    2. Configura tu entorno de compilación:

      a) Configurar el compilador

      1.- Si estás en Windows, instala MinGW y agrega su ruta a las variables de entorno. Puedes verificarlo ejecutando g++ –version en la terminal de Visual Studio Code.

      • Ejemplo de ruta de MinGW: C:\MinGW\bin

      2.- Si estás en Linux/macOS, asegúrate de que tienes instalado g++ (GNU Compiler Collection). Puedes instalarlo con los siguientes comandos:

      • En Ubuntu/Debian: sudo apt-get install g++
      • En macOS (con Homebrew): brew install gcc

      b) Configura tasks.json para la compilación

      1. Abre tu carpeta de proyecto en VS Code.
      2. Dirígete a Terminal > Run Task > Configure Tasks.
      3. Selecciona Create tasks.json file from template > Others.
      4. Esto abrirá el archivo tasks.json. Configúralo para que compile automáticamente tus archivos C++:

      {

      "version": "2.0.0",

      "tasks": [

      {

      "label": "build",

      "type": "shell",

      "command": "g++",

      "args": [

      "-g",

      "${file}",

      "-o",

      "${fileDirname}/${fileBasenameNoExtension}.exe"

      ],

      "group": {

      "kind": "build",

      "isDefault": true

      },

      "problemMatcher": ["$gcc"],

      "detail": "Tarea de compilación para C++"

      }

      ]

      }

      Este archivo configurará la compilación del archivo C++ activo. La opción “-o” indica que se generará un ejecutable con el mismo nombre que el archivo .cpp.

      c) Configura launch.json para la ejecución

      1. Ve a Run > Add Configuration.
      2. Selecciona C++ (GDB/LLDB) o C++ (Windows) según tu sistema.
      3. En el archivo launch.json que se abre, configura la ruta del programa de la siguiente manera para que se ejecute automáticamente tras la compilación:

      {

      "version": "0.2.0",

      "configurations": [

      {

      "name": "(gdb) Launch",

      "type": "cppdbg",

      "request": "launch",

      "program": "${fileDirname}/${fileBasenameNoExtension}.exe",

      "args": [],

      "stopAtEntry": false,

      "cwd": "${fileDirname}",

      "environment": [],

      "externalConsole": true,

      "MIMode": "gdb",

      "setupCommands": [

      {

      "description": "Enable pretty-printing for gdb",

      "text": "-enable-pretty-printing",

      "ignoreFailures": true

      }

      ],

      "preLaunchTask": "build",

      "miDebuggerPath": "/usr/bin/gdb",

      "setupCommands": [

      {

      "description": "Enable pretty-printing for gdb",

      "text": "-enable-pretty-printing",

      "ignoreFailures": true

      }

      ],

      "miDebuggerPath": "gdb",

      "externalConsole": true,

      "stopAtEntry": false

      }

      ]

      }

      Esta configuración hace que, al ejecutar el programa, no necesites cambiar manualmente la ruta del .exe en el launch.json. Usará el archivo ejecutable generado en la compilación.

      3. Ejecuta tu programa

      • Ahora, al hacer clic en Run o usar el atajo de teclado para ejecutar el programa, debería compilarse y ejecutarse sin que tengas que modificar manualmente el launch.json cada vez.

      Con estos pasos, tendrás una configuración predeterminada para compilar y ejecutar programas en C++ automáticamente.

      Si tienes más dudas o algo no funciona como esperabas, no dudes en decirme. ¡Estamos aquí para ayudarte! 😀

    1. Angel Sánchez

      Miembro
      21 septiembre, 2024 en 11:05 am en respuesta a: Instalación de git en MacOs (Actualizada Septiembre 2024)

      Muchas gracias por tu aporte Marco, ya lo deje aquí anclado en el foro. 😀

    2. Angel Sánchez

      Miembro
      19 septiembre, 2024 en 10:54 pm en respuesta a: Error al acceder a datos de estructuras con punteros en C++

      ¡Hola Vladimir! Parece que tienes un problema al intentar imprimir la información de los ingenieros a través de punteros. En tu función imprimirInges, no has inicializado el puntero pInge, y además, no lo estás utilizando correctamente. Aquí hay algunas correcciones que podrías hacer:

      1. Inicializa el puntero pInge: Debes apuntar pInge al primer elemento del array Ingeniero antes de usarlo.
      2. Acceso a los datos: Cuando usas punteros para acceder a los datos, no es necesario desreferenciar cada campo como lo estás haciendo. Puedes hacerlo directamente.

      Aquí tienes el código corregido de la función imprimirInges:

      void imprimirInges() {

      pInge = Ingeniero; // Inicializa el puntero al primer ingeniero

      cout << "------INGENIEROS DISPONIBLES------" << endl;

      for (int i = 0; i < 5; i++) {

      cout << "Nombre: " << pInge[i].nombreIngeniero << endl;

      cout << "Especialidad: " << pInge[i].especialidad << endl;

      cout << "Edad: " << pInge[i].edad << endl; // Agregado para imprimir la edad

      cout << endl; // Para separar los ingenieros

      }

      }

      Prueba estos cambios y deberías ver la información de los ingenieros correctamente. Si tienes más dudas o necesitas ayuda con otra parte, ¡avísame!

    3. Angel Sánchez

      Miembro
      12 septiembre, 2024 en 8:36 am en respuesta a: Problema con cin y getline en C++ (salta entrada)

      El problema que estás experimentando en tu código tiene que ver con la manera en que cin y getline manejan el buffer de entrada. Cuando usas cin para leer un número (cin >> numeroEmpleado[i];), deja un carácter de nueva línea (‘\n’) en el buffer que no es consumido. Cuando luego llamas a getline, esta función intenta leer desde ese buffer y encuentra el carácter ‘\n’, lo que provoca que se salte la entrada de la cadena.

      Para evitar este comportamiento, puedes limpiar el buffer de entrada antes de llamar a getline. Esto se hace utilizando cin.ignore(), que descarta cualquier carácter sobrante en el buffer.

      Ejemplo:

      for(int i=0; i<3; i++){

      cout << "Digita el numero del empleado que deseas registrar: ";

      cin >> numeroEmpleado[i];

      // Limpiar el buffer antes de usar getline

      cin.ignore();

      cout << "Ingresa el primer nombre del empleado No. " << numeroEmpleado[i] << ": ";

      cin.getline(nombre, 15, '\n');

      nombreEmpleado[i] = nombre;

      cout << endl;

      }

      Explicación:

      cin.ignore();: Esto descarta el carácter ‘\n’ que queda en el buffer después de la entrada con cin. De este modo, getline funcionará correctamente y permitirá al usuario ingresar el nombre del empleado.

      Intenta hacer estos ajustes y el problema debería resolverse, permitiéndote ingresar tanto el número como el nombre sin que se salte ninguna entrada.

    4. Viendo que el objetivo es la Jerarquía de operaciones, no veo mucho sentido tratar de simplificar esa expresión. Te recomiendo mejor darle un valor al “x” el que tú quieras y aplicar lo aprendido en clases. Me avisas si ya con un valor puedes resolverlo. 😀

    5. Angel Sánchez

      Miembro
      20 noviembre, 2024 en 6:55 pm en respuesta a: Error al definir una funcion en VSC

      ¿Al final lograste resolver tu problema?

    6. Angel Sánchez

      Miembro
      31 octubre, 2024 en 9:29 pm en respuesta a: Error al definir una funcion en VSC

      Intenta desinstalar la extensión llamada “Pylint” que tienes instalada. Una vez desinstalada, reinicia Visual Studio Code. 😀

    7. Angel Sánchez

      Miembro
      31 octubre, 2024 en 9:20 pm en respuesta a: Error al definir una funcion en VSC

      ¿Qué extensiones tienes instaladas?

    8. Angel Sánchez

      Miembro
      31 octubre, 2024 en 4:05 pm en respuesta a: Error al definir una funcion en VSC

      En esta imagen no estas corriendo bien tu programa. En la termina solo pones:

      funciones.py

      cuando debería de ser:

      python funciones.py

      o

      python3 funciones.py

      Puedes validarlo de nuevo, por favor 😀

    9. Angel Sánchez

      Miembro
      18 octubre, 2024 en 1:00 pm en respuesta a: ¿Cómo crear un certificado usando OpenSSL?

      Mandalo a nuestro Whats de soporte: https://wa.me/528126678826

    10. Te dejo un video explicando el ejercicio 😀 : https://vimeo.com/1004708569

      Y aquí la explicación en texto:

      1. Primero, tenemos la expresión original con los valores dados:
        m = 3
        x = 5
        x^(-m) * (x^(3m-2))
      2. Sustituimos estos valores en la expresión:
        5^(-3) * (5^(3*3-2))
      3. Simplificamos el exponente en el segundo paréntesis:
        5^(-3) * (5^(9-2))
        = 5^(-3) * (5^7)
      4. Ahora tenemos dos términos para calcular: 5^(-3) y 5^7
      5. Calculamos 5^(-3):
        5^(-3) = 1/5^3 = 1/125 = 0.008
      6. Calculamos 5^7:
        5^7 = 5 * 5 * 5 * 5 * 5 * 5 * 5 = 78,125
      7. Ahora multiplicamos estos dos resultados:
        0.008 * 78,125 = 625
        Podemos verificar esto de la siguiente manera:
        (1/125) * 78,125 = 78,125/125 = 625
      8. Por lo tanto, el resultado final es 625.

      La clave aquí es que x^(-m) * x^(3m-2) se simplifica a x^(3m-2-m) = x^(2m-2). Con m = 3, esto se convierte en x^(2*3-2) = x^4 = 625.

    Page 1 of 42