PSeInt — fundamentos antes de Python
Volver a 03 Fundamentos.
Idea central: antes de aprender la sintaxis de Python, hay que aprender a pensar algoritmos. PSeInt permite escribir pseudocódigo en español, ejecutarlo, ver la traza y corregir la lógica sin distraerse con detalles del lenguaje.
PSeInt no es el objetivo
Es el laboratorio para aprender lógica, secuencia, decisiones, repetición y modularidad. Python viene después, para traducir esa lógica a un lenguaje real.
Orden de aprendizaje
1. Problema, algoritmo y programa
- Qué es un problema computable.
- Diferencia entre algoritmo, pseudocódigo y programa.
- Entrada → proceso → salida.
- Precisión, finitud y determinismo.
2. Datos y variables
- Variables y constantes.
- Tipos básicos: entero, real, lógico, carácter y cadena.
- Asignación y actualización de variables.
- Nombres descriptivos y legibilidad.
3. Operadores y expresiones
- Aritméticos: suma, resta, multiplicación, división, módulo.
- Relacionales: igual, distinto, mayor, menor, mayor o igual, menor o igual.
- Lógicos: Y, O, NO.
- Precedencia y paréntesis.
- Conversión entre tipos.
4. Control de flujo
Si / Entonces / SiNo.- Condicionales anidados.
Segúnpara múltiples casos.- Validación de entradas.
5. Bucles
Mientraspara repetición condicionada.Repetir / Hasta Quepara ejecutar al menos una vez.Parapara rangos conocidos.- Cuándo usar cada uno y cómo evitar bucles infinitos.
6. Patrones básicos
- Contadores.
- Acumuladores.
- Banderas o centinelas.
- Máximo y mínimo.
- Búsqueda lineal.
- Validación con reintento.
7. Arreglos
- Vectores: recorrido, carga, suma, promedio, búsqueda.
- Matrices: recorrido por filas y columnas, suma, transpuesta.
- Índices y límites.
- Ordenamiento básico (burbuja) y su costo.
8. Subprocesos y funciones
- Modularidad: dividir para entender.
- Parámetros y valores de retorno.
- Variables locales y alcance.
- Funciones que calculan y funciones que muestran.
- Evitar duplicación.
9. Traza y depuración
- Ejecutar a mano paso a paso.
- Tabla de traza: variables, condiciones y salidas.
- Puntos de interrupción y ejecución paso a paso en PSeInt.
- Detectar errores de lógica, no solo de sintaxis.
10. Diagramas de flujo
- Símbolos: inicio/fin, proceso, decisión, entrada/salida.
- Convertir pseudocódigo a diagrama y viceversa.
- Leer un diagrama antes de programarlo.
11. Pruebas
- Casos normales.
- Casos límite: cero, negativos, vacío, máximo.
- Casos inválidos.
- Criterio de aceptación antes de escribir el código.
12. Traducción a Python
Solo cuando la lógica esté clara:
- Misma secuencia, distinta sintaxis.
Si→if,Mientras→while,Para→for.- Arreglos → listas.
- Subprocesos → funciones.
- Comparar el pseudocódigo con el programa y verificar que la lógica no cambió.
Práctica mínima
30 ejercicios
Secuencia y variables
- 1. Sumar dos números.
- 2. Calcular el promedio de tres notas.
- 3. Calcular área y perímetro de un rectángulo.
- 4. Convertir grados Celsius a Fahrenheit.
- 5. Calcular el salario con horas extra.
Condicionales
- 6. Determinar si un número es par o impar.
- 7. Mostrar el mayor de dos números.
- 8. Mostrar el mayor de tres números.
- 9. Clasificar una nota como insuficiente, suficiente, bueno o excelente.
- 10. Calcular un descuento según el monto de compra.
Bucles y patrones
- 11. Sumar los números del 1 al N.
- 12. Mostrar la tabla de multiplicar de un número.
- 13. Calcular el factorial de un número.
- 14. Generar los primeros N términos de Fibonacci.
- 15. Contar los dígitos de un número.
- 16. Invertir un número.
- 17. Determinar si un número es primo.
- 18. Encontrar el máximo y el mínimo de N números.
- 19. Calcular el promedio con un valor centinela.
- 20. Validar una contraseña con reintentos.
Arreglos y matrices
- 21. Cargar un vector y mostrar su suma y promedio.
- 22. Buscar un elemento en un vector.
- 23. Ordenar un vector con burbuja.
- 24. Sumar dos matrices.
- 25. Calcular la transpuesta de una matriz.
- 26. Contar vocales en una cadena.
- 27. Determinar si una palabra es palíndromo.
Subprocesos
- 28. Crear una función que calcule una potencia.
- 29. Crear una función que determine si un número es primo.
- 30. Mini sistema con menú: cargar, mostrar, buscar y salir.
Además
- 5 diagramas de flujo de los ejercicios anteriores.
- 3 tablas de traza completas.
- 3 traducciones de PSeInt a Python, comparando la lógica.
Criterio de dominio
Puedo mirar un problema nuevo y, antes de escribir código:
- Descomponerlo en pasos.
- Elegir las estructuras de control necesarias.
- Escribir el pseudocódigo.
- Trazarlo con un caso normal y uno límite.
- Explicar qué hace cada parte.
Si puedo hacer eso, estoy listo para Python.
Instalación
PSeInt no está instalado en este equipo. Opciones:
- Arch Linux con
yay:yay -S pseint-bin(precompilado) oyay -S pseint. - Descarga oficial: pseint.sourceforge.net
Paquete de AUR
Ambos paquetes aparecen como huérfanos en AUR. Verificar que sigan disponibles antes de instalar; si fallan, usar la descarga oficial.
Sin fechas
Este bloque avanza por evidencia, no por calendario. Se cierra cuando los 30 ejercicios, los 5 diagramas y las 3 traducciones están hechos y explicados.