Informática y mucho más
La programación concurrente es un paradigma de programación que permite que varias tareas o procesos se ejecuten de manera simultánea o aparentemente simultánea, con el objetivo de aprovechar mejor los recursos del sistema y mejorar el rendimiento de las aplicaciones.
Imagina que estás cocinando:
Mientras hierves agua, puedes cortar verduras.
Mientras las verduras se cocinan, puedes preparar la salsa.
En lugar de esperar a terminar una tarea para comenzar la siguiente, realizas varias actividades al mismo tiempo. Eso es similar a la programación concurrente.
En un programa concurrente, las tareas pueden ejecutarse mediante:
Hilos (threads): varias tareas dentro de un mismo programa.
Procesos: programas independientes que pueden ejecutarse al mismo tiempo.
El sistema operativo o el procesador se encargan de alternar o ejecutar estas tareas en paralelo, dependiendo del hardware disponible.
Aprovecha mejor los procesadores con varios núcleos.
Mejora el rendimiento de las aplicaciones.
Permite que los programas respondan más rápido al usuario.
Facilita el manejo de múltiples usuarios o solicitudes al mismo tiempo (por ejemplo, en un servidor web).
La programación concurrente también presenta problemas que deben controlarse, como:
Condiciones de carrera (race conditions): dos tareas intentan modificar el mismo dato al mismo tiempo.
Bloqueos mutuos (deadlocks): dos o más tareas quedan esperando recursos entre sí y ninguna puede continuar.
Sincronización: coordinar las tareas para que trabajen correctamente sin interferirse.
PSeInt está diseñado para enseñar algoritmos y programación estructurada, por lo que no soporta programación concurrente real (como hilos, procesos o sincronización). Sin embargo, sí es útil para explicar los conceptos básicos antes de pasar a un lenguaje que sí implemente concurrencia, como Java, Python o C#.
EJEMPLOS DE PSEINT UTILIZANDO LA ESTRUCTURA FOR (PARA)
Contar los numeros del 1 al 5
Algoritmo contar_numeros
Definir i Como Entero
Para i <- 1 Hasta 5 Hacer
Escribir "Valor de i = ", i
FinPara
FinAlgoritmo
Escribir programacion 10 veces
Algoritmo Escribir_Programacion
Definir i Como Entero
Para i <- 1 Hasta 10 Hacer
Escribir "Programación"
FinPara
FinAlgoritmo
Contar desde el 10 hasta el 1
Algoritmo Contar
Definir i Como Entero
i <- 10
Mientras i >= 1 Hacer
Escribir i
i <- i - 1
FinMientras
FinAlgoritmo
Hallar los cuadrados de los 20 primeros numeros de 2 formas
forma 1
Algoritmo Cuadrados
Definir i Como Entero
Para i <- 1 Hasta 20 Hacer
Escribir "El cuadrado de ", i, " es ", i*i
FinPara
FinAlgoritmo
forma 2
Algoritmo Cuadrados
Definir i Como Entero
i <- 1
Mientras i <= 20 Hacer
Escribir "El cuadrado de ", i, " es ", i * i
i <- i + 1
FinMientras
FinAlgoritmo
Hallar la suma acumulada de los 10 primeros numeros
Algoritmo Suma_Acumulada
Definir i, suma Como Entero
i <- 1
suma <- 0
Mientras i <= 10 Hacer
suma <- suma + i
Escribir "Suma acumulada = ", suma
i <- i + 1
FinMientras
Escribir "La suma de los 10 primeros números es: ", suma
FinAlgoritmo
1. Mostrar del 1 al 5
Mostrar los números del 1 al 10.
Mostrar los números del 5 al 1.
Mostrar: 2, 4, 6, 8, 10.
Calcular la suma: 1 + 2 + 3 + 4 + 5.
Calcular la suma de los números del 1 al 10.
Mostrar: 2, 4, 6, 8, 10.
Mostrar: 1, 3, 5, 7, 9.
Pedir 3 números y mostrarlos.
Pedir 3 números y mostrar la suma.
Calcular el promedio de 3 números.
Mostrar la tabla del 2.
Pedir un número y contar desde 1 hasta ese número.
Pedir un número y contar hasta 1.
Leer números y sumar hasta que el usuario escriba 0.
Mostrar: 3, 6, 9, 12, 15.
Pedir números hasta ingresar 0 y contar cuántos fueron.
Leer 3 números y mostrar el mayor.
Pedir una contraseña hasta que sea correcta (ej: 1234).
La Shell (consola interactiva) es el entorno donde escribimos código línea por línea y Python lo ejecuta de inmediato. Se reconoce por el símbolo de las tres flechas (>>>). Es ideal para pruebas rápidas, calcular valores o ver resultados al instante sin necesidad de guardar archivos.
El comando print() sirve para mostrar información (textos, números, resultados) en la pantalla.
Textos (Cadenas / Strings): Van siempre entre comillas simples ('...') o dobles ("...").
Python
>>> print("¡Hola, mundo!")
Números y operaciones: Se pueden escribir directamente sin comillas para que Python calcule el resultado.
Python
>>> print(10 + 5)
Una variable es como una "caja" con una etiqueta donde guardamos un dato para usarlo después. Se usa el signo igual (=) para asignar el valor.
Reglas básicas: No llevan espacios ni empiezan con números.
Tipos de datos básicos:
int (Enteros): edad = 25
float (Decimales): precio = 19.99
str (Texto): nombre = "Carlos"
Python
>>> x = 10
>>> y = 5
>>> print(x + y)
Es la acción de unir textos utilizando el operador +. Solo se pueden sumar textos con textos.
Python
>>> saludo = "Hola"
>>> nombre = "María"
>>> print(saludo + " " + nombre)
La función input() permite que el programa se detenga a esperar que el usuario escriba algo desde el teclado y presione Enter.
Funcionamiento: Todo lo que el usuario escribe mediante input() Python lo interpreta siempre como texto (str), aunque escriba un número.
Python
>>> nombre = input("¿Cómo te llamas? ")
>>> print("Hola,", nombre)
Como input() devuelve texto, si queremos hacer operaciones matemáticas con lo que ingresa el usuario, debemos convertirlo explícitamente:
int(): Convierte un texto a número entero.
float(): Convierte un texto a número decimal.
Python
>>> edad_texto = input("Escribe tu edad: ") # Supongamos que ingresan "20" (texto)
>>> edad_numero = int(edad_texto) # Ahora es número 20
>>> print(edad_numero + 5) # Resultado: 25
Cuando un usuario escribe algo en el teclado a través de input(), Python siempre lo interpreta como un texto (str), aunque el usuario haya escrito un número (por ejemplo, 25).
¿Por qué importa esto? Si intentas sumar dos números ingresados directamente por input() sin modificarlos, Python los unirá en lugar de sumarlos matemáticamente (ejemplo: si ingresas 5 y 3, input() + input() dará "53" en vez de 8).
Python
>>> numero1_texto = input("Ingresa el primer número: ")
Ingresa el primer número: 8
>>> numero2_texto = input("Ingresa el segundo número: ")
Ingresa el segundo número: 4
# Convertimos los textos a números enteros
>>> n1 = int(numero1_texto)
>>> n2 = int(numero2_texto)
>>> print("La suma total es:", n1 + n2)
La suma total es: 12
Python
>>> precio1_texto = input("Ingresa el primer precio: ")
Ingresa el primer precio: 19.99
>>> precio2_texto = input("Ingresa el segundo precio: ")
Ingresa el segundo precio: 5.50
# Convertimos los textos a números decimales
>>> p1 = float(precio1_texto)
>>> p2 = float(precio2_texto)
>>> print("El precio total es:", p1 + p2)
El precio total es: 25.49
Escribe un comando en la Shell que imprima el texto "¡Bienvenido a Python!".
Imprime el resultado de multiplicar 12 por 8 directamente usando la función print().
Crea una variable llamada curso con el texto "Python Básico" e imprímela.
Define una variable edad con un número entero e imprímela.
Define una variable precio con un número decimal (ej. 45.50) e imprímela.
Crea dos variables numéricas, base = 10 y altura = 5, y calcula el área del rectángulo imprimiendo el resultado.
Crea una variable x = 20 y otra y = 10. Imprime el resultado de restarlas (x - y).
Define una variable nota = 8 y otra extra = 2. Suma ambas en un print().
Crea dos variables de texto: nombre = "Carlos" y apellido = "Gómez". Imprímelas juntas.
Mejora el ejercicio anterior para que al imprimir el nombre y apellido haya un espacio en blanco separándolos usando + " " +.
Crea una variable saludo = "Hola, " y otra destino = "mundo". Concaténalas e imprímelas.
Define una variable de texto caracter = "*" y multiplícala por un número (ej. caracter * 5) para ver qué sucede en la Shell.
Crea una variable con tu comida favorita y muéstrala en pantalla con un mensaje descriptivo usando concatenación.
Asigna un número a una variable llamada vidas, réstale 1 e imprime el nuevo valor.
Crea tres variables con números enteros, súmalas todas dentro de un print() y muestra el total.
Comprueba el tipo de dato de una variable numérica usando type() dentro de un print().
Comprueba el tipo de dato de una variable de texto usando type() dentro de un print().
Asigna un texto largo a una variable e imprímela dos veces seguidas usando el operador +.
Crea una variable con el año actual y otra con tu año de nacimiento, luego réstalas para calcular tu edad aproximada.
Asigna un número decimal a una variable, súmale un número entero e imprime el resultado final.
Escribe una línea en la Shell que use input() para preguntar el nombre del usuario y guárdalo en una variable.
Pide el nombre al usuario con input() y luego salúdalo usando el valor de esa variable.
Pide al usuario su color favorito usando input() y muéstralo en una frase personalizada.
Pide la ciudad donde vive el usuario con input() e imprime "Vives en [ciudad]".
Pide un número al usuario con input(), guárdalo en una variable y comprueba su tipo de dato imprimiendo type(variable).
Pide un número entero mediante input(), conviértelo inmediatamente a int() y guárdalo en otra variable.
Pide un número decimal mediante input(), conviértelo a float() e imprímelo en la Shell.
Solicita un número al usuario, conviértelo a entero, súmale 10 y muestra el resultado.
Solicita dos números al usuario por separado mediante input(), conviértelos a enteros, súmalos e imprime el total.
Solicita la edad actual del usuario, conviértela a entero y calcula qué edad tendrá exactamente en 10 años.
Pide un precio en formato decimal al usuario, conviértelo a float(), asígnale un incremento de 5.0 y muestra el nuevo precio.
Pide un número entero al usuario y multiplícalo por 3, asegurándote de hacer la conversión correcta.
Pide el año de nacimiento del usuario, conviértelo a entero y réstalo de 2026 para calcular su edad.
Pide la cantidad de horas trabajadas y el pago por hora (ambos por input()), conviértelos a float() y calcula el salario total multiplicándolos.
Pide un número entero al usuario, conviértelo y usa el operador módulo (% 2) para ver el residuo de dividirlo entre 2.
Pide dos números enteros al usuario, conviértelos y muestra el resultado de restar el primero menos el segundo.
Pide un número entero al usuario, conviértelo y elévalo al cuadrado multiplicándolo por sí mismo (n * n).
Solicita el nombre y la edad del usuario en dos líneas distintas, conviértela a entero y presenta un resumen final que combine texto y la edad transformada.
Pide un número decimal que represente una cantidad de dinero en dólares y conviértelo a float() para prepararlo para una operación.
Escribe una mini secuencia de código de 3 líneas en la Shell que pida un número, lo convierta a entero al instante y lo imprima multiplicado por 100.
CREAR LOS DIAGRAMAS DE LOS SIGUIENTES PROBLEMAS ( solo diagramas )
Leer el monto de una recarga.
Si la recarga es mayor o igual a S/20:
Si es mayor o igual a S/50, regalar 10 GB.
En caso contrario, regalar 5 GB.
Si la recarga es menor a S/20, no recibe regalo.
Leer el monto de compra:
Menos de 100: sin descuento.
De 100 a 500: 10%.
Más de 500: 20%.
Un estudiante queda exonerado si:
Tiene promedio ≥ 18 O
Pertenece al cuadro de mérito.
Determinar si una persona obtiene la licencia.
Condiciones:
Aprueba examen teórico Y
Aprueba examen práctico Y
(Tiene más de 21 años O posee licencia previa).
Si obtiene la licencia:
Categoría A si experiencia < 3 años.
Categoría B si experiencia ≥ 3 años.
5. Mostrar los múltiplos de 5 del 1 en 50
6. Mostrar 10 veces el mensaje: Programación
7. Hallar el factorial de los 10 primeros números
8. Mostrar la tabla de multiplicar del 7
La diagramación es una actividad fundamental dentro de las metodologías de desarrollo de software, ya que permite representar gráficamente los procesos, requisitos, estructuras y comportamientos de un sistema antes de su implementación. Su principal objetivo es facilitar la comprensión y comunicación entre los miembros del equipo de desarrollo, los clientes y demás interesados en el proyecto.
Diagramas más utilizados en el desarrollo de software
Diagrama de Casos de Uso: Describe las funcionalidades que ofrece el sistema a los usuarios.
Diagrama de Clases: Representa la estructura de objetos, atributos y métodos.
Diagrama de Secuencia: Muestra la interacción entre objetos a lo largo del tiempo.
Diagrama de Flujo: Representa procesos y algoritmos paso a paso.
Diagrama Entidad-Relación (ER): Modela bases de datos y relaciones entre entidades.
Leer un nombre e imprimirlo en pantalla.
Ingresar una edad y mostrarla.
Leer dos números y mostrar la suma.
Leer dos números y mostrar la diferencia.
Leer dos números y mostrar el producto.
Leer dos números y mostrar el cociente.
Ingresar un número y mostrar su doble.
Ingresar un número y mostrar su triple.
Ingresar un número y mostrar su mitad.
Ingresar un número y mostrar su cuadrado.
Ingresar un número y mostrar su cubo.
Ingresar una cantidad en metros y convertirla a centímetros.
Ingresar una cantidad de horas y convertirla a minutos.
Ingresar una cantidad de días y convertirla a horas.
Ingresar la edad en años y convertirla a meses.
Ingresar la edad en años y convertirla aproximadamente a días.
Ingresar el lado y calcular el perímetro.
Ingresar el lado y calcular el área.
Ingresar base y altura y calcular el área.
Ingresar horas trabajadas y pago por hora, luego calcular el sueldo.
Determinar si una persona es mayor de edad.
Determinar si un estudiante aprobó (nota ≥ 11).
Determinar cuál es el mayor entre dos números.
Verificar si una compra recibe descuento.
Determinar si una persona puede ingresar a un evento (edad mínima 18).
Verificar si un trabajador recibe bono.
Determinar si un número es positivo o negativo.
Verificar si una temperatura es alta (mayor a 30°C).
Determinar si un producto está en promoción.
Verificar si un alumno tiene asistencia suficiente.
Leer el monto de una recarga.
Si la recarga es mayor o igual a S/20:
Si es mayor o igual a S/50, regalar 10 GB.
En caso contrario, regalar 5 GB.
Si la recarga es menor a S/20, no recibe regalo.
Leer el consumo mensual en kWh.
Si el consumo es mayor a 100 kWh:
Si es mayor a 300 kWh, mostrar "Consumo Alto".
En caso contrario, mostrar "Consumo Medio".
Si el consumo es 100 kWh o menos, mostrar "Consumo Bajo".
Leer un número y determinar:
Si es positivo, indicar si es par o impar.
Si es negativo, indicar si es par o impar.
Si es cero, mostrar un mensaje especial.
Leer el monto de compra:
Menos de 100: sin descuento.
De 100 a 500: 10%.
Más de 500: 20%.
Leer tres lados:
Verificar primero si forman un triángulo.
Si forman un triángulo, indicar si es equilátero, isósceles o escaleno.
Leer la velocidad contratada.
Si la velocidad es menor a 100 Mbps, mostrar "Plan Básico".
Si la velocidad es mayor o igual a 100 Mbps:
Si es mayor o igual a 300 Mbps, mostrar "Plan Premium".
En caso contrario, mostrar "Plan Estándar".
Leer horas estacionadas:
Hasta 2 horas: S/5 por hora.
Entre 3 y 5 horas: S/4 por hora.
Más de 5 horas: S/3 por hora.
Solicitar usuario y contraseña:
Si el usuario es correcto.
Luego verificar la contraseña.
Mostrar acceso permitido o denegado.
Un estudiante obtiene beca si:
Promedio ≥ 16 Y
Ingreso familiar menor a S/1500.
Un alumno puede rendir examen si:
Tiene asistencia ≥ 80% Y
No tiene deudas.
Un cliente recibe descuento si:
Compra más de S/300 Y
Es cliente frecuente.
Una persona puede ingresar si:
Tiene 18 años o más Y
Presenta DNI.
Aprobar crédito si:
Ingreso mensual ≥ S/2500 Y
Antigüedad laboral ≥ 2 años.
Contratar si:
Tiene título profesional Y
Posee experiencia mínima de 3 años.
Un cliente participa si:
Compra más de S/200 O
Tiene tarjeta VIP.
Puede ingresar si:
Presenta carné universitario O
Presenta DNI.
Clasifica si:
Obtiene más de 90 puntos O
Gana una competencia regional.
Permitir acceso si:
Es administrador O
Es supervisor.
Un estudiante queda exonerado si:
Tiene promedio ≥ 18 O
Pertenece al cuadro de mérito.
Un cliente recibe envío gratis si:
Compra más de S/250 O
Tiene membresía premium.
Diseñar un algoritmo que determine si un postulante ingresa a la universidad.
Condiciones:
Ingresa si obtiene una nota mayor o igual a 70 Y
(Pertenece al tercio superior O tiene una carta de recomendación).
Si ingresa, indicar:
Becado si su nota es mayor o igual a 90.
No becado en caso contrario.
Determinar si un cliente puede obtener un préstamo.
Condiciones:
Debe tener ingresos mayores a S/2500 Y
(Antigüedad laboral mayor a 2 años O posee una garantía).
Si cumple:
Préstamo preferencial si ingresos > S/5000.
Préstamo estándar en caso contrario.
Evaluar si un estudiante aprueba una asignatura.
Condiciones:
Nota final ≥ 11 Y
(Asistencia ≥ 70% O presentó justificación médica).
Si aprueba:
Destacado si nota ≥ 18.
Regular si nota entre 11 y 17.
Determinar si un trabajador recibe bono.
Condiciones:
Tiene más de 3 años de servicio Y
(Evaluación "Excelente" O "Muy Buena").
Si recibe bono:
Bono de S/1000 si tiene más de 10 años.
Bono de S/500 en otro caso.
Permitir o denegar el acceso.
Condiciones:
Posee credencial válida Y
(Es supervisor O es gerente).
Si accede:
Mostrar nivel de acceso según el cargo.
Aplicar descuentos a un cliente.
Condiciones:
Compra mayor a S/300 Y
(Es cliente frecuente O tiene membresía premium).
Si cumple:
Descuento de 20% si compra supera S/1000.
Descuento de 10% en otro caso.
Evaluar a un postulante.
Condiciones:
Tiene título profesional Y
(Experiencia ≥ 3 años O certificación internacional).
Si cumple:
Contratación inmediata si experiencia ≥ 5 años.
Pasar a entrevista final en caso contrario.
Determinar si un deportista clasifica.
Condiciones:
Edad entre 18 y 30 años Y
(Ganó un torneo regional O tiene ranking nacional).
Si clasifica:
Categoría élite si ranking ≤ 10.
Categoría general en caso contrario.
Evaluar acceso al seguro.
Condiciones:
Está afiliado Y
(Es adulto mayor O tiene discapacidad).
Si es aceptado:
Cobertura total si tiene más de 75 años.
Cobertura parcial en otro caso.
Determinar si una persona obtiene la licencia.
Condiciones:
Aprueba examen teórico Y
Aprueba examen práctico Y
(Tiene más de 21 años O posee licencia previa).
Si obtiene la licencia:
Categoría A si experiencia < 3 años.
Categoría B si experiencia ≥ 3 años.
En programación, un bucle (o loop en inglés) es una estructura de control que permite repetir un bloque de código varias veces de forma automática, sin que tengas que escribir lo mismo una y otra vez.
Nivel Básico
Mostrar los números del 1 al 10.
Mostrar los números del 10 al 1.
Mostrar los números del 10 al 40
Mostrar los números del 0 al 100
Mostrar los números pares del 2 al 20.
Mostrar los números impares del 1 al 19.
Mostrar la tabla de multiplicar del 5.
Mostrar la tabla de multiplicar del 7
Calcular la suma de los números del 1 al 100.
Calcular la suma de los números pares del 1 al 50.
Mostrar los cuadrados de los números del 1 al 10.
Mostrar los cubos de los números del 1 al 100
Mostrar los números elevados a su mismo número del 1 al 100 (para exponente colocar ^ )
Solicitar un número N y mostrar los números del 1 hasta N.
Mostrar la secuencia 1/número desde el 1 hasta el 50
Mostrar los múltiplos de 5 del 1 en 50
Mostrar los números del 1 al 100 de 10 en 10.
Hallar el factorial de los 10 primeros números
Solicitar un número N y mostrar los primeros N números naturales.
Solicitar un número N y calcular la suma de los números del 1 hasta N.
Mostrar 10 veces el mensaje: Programación
Mostrar 20 veces el mensaje: Diagrama de Flujo
Mostrar los números del 1 al 15 de 3 en 3.
Mostrar los números del 0 al 10.
Mostrar los números del 1 al 12 y al lado escribir:
Número: 1
Número: 2
...
Número: 12
¿Qué es?
Es una herramienta que permite escribir algoritmos usando pseudocódigo en español, en lugar de lenguajes complejos como C++ o Java. Esto facilita entender cómo funciona la programación sin preocuparse por la sintaxis estricta.
Sirve principalmente para:
Aprender lógica de programación desde cero
Practicar algoritmos (condicionales, ciclos, variables, etc.)
Desarrollar el pensamiento lógico antes de usar lenguajes reales
Simular la ejecución de programas paso a paso para ver cómo funcionan
Algoritmo NombreDelPrograma
// Aquí va el contenido
FinAlgoritmo
Algoritmo/ FinAlgoritmo
Marca el inicio y el final del programa.
Definir
Sirve para declarar variables (por ejemplo: número, texto, lógico).
Leer
Permite ingresar datos desde el teclado.
Escribir
Muestra información en pantalla.
Asignación (<-) o =
Se usa para guardar valores en variables.
Entero
Guarda números sin decimales
👉 Ejemplo: 1, 25, -10
Real
Guarda números con decimales
👉 Ejemplo: 3.14, 2.5, -0.75
Caracter
Guarda texto
👉 Ejemplo: "Hola", "Juan", "Programación"
Logico
Guarda valores de verdad
👉 Solo puede ser: Verdadero o Falso
Ejemplo 1 en PSeInt
Algoritmo NombreDelPrograma
// 1. Declarar variables (opcional según el perfil)
Definir nombre Como Caracter
// 2. Pedir datos al usuario (Salida y Entrada)
Escribir "Hola, ¿cómo te llamas?"
Leer nombre
// 3. Mostrar un resultado (Salida)
Escribir "Bienvenido al sistema, ", nombre
FinAlgoritmo
Sirven para hacer cálculos matemáticos:
+ → Suma
- → Resta
* → Multiplicación
/ → División
^ → Potencia
MOD → Módulo (residuo de una división)
Ejemplo 2 en PSeInt
Algoritmo OperacionesBasicas
Definir a, b Como Entero
Definir suma, resta, multiplicacion Como Entero
Definir division Como Real
// Asignación con el signo igual
a = 10
b = 5
suma = a + b
resta = a - b
multiplicacion = a * b
division = a / b
Escribir "Suma: ", suma
Escribir "Resta: ", resta
Escribir "Multiplicación: ", multiplicacion
Escribir "División: ", division
FinAlgoritmo
Ejemplo 3 en PSeInt
Algoritmo TotalCompra
Definir precio, cantidad Como Real
Definir total Como Real
// Entrada: Solicitar datos al usuario
Escribir "Ingrese el precio del producto:"
Leer precio
Escribir "Ingrese la cantidad:"
Leer cantidad
// Proceso: Cálculo matemático
total = precio * cantidad
// Salida: Mostrar resultado
Escribir "El total a pagar es: ", total
FinAlgoritmo
ejemplo 4
ejemplo 5
Suma de tres: Pedir tres números y mostrar el resultado de sumarlos todos.
Cálculo de Perímetro: Solicitar el lado de un cuadrado y mostrar su perímetro (lado multiplicado por 4).
Doble y Triple: Pedir un número y mostrar cuál es su doble y cuál es su triple.
Edad en días: Pedir la edad de una persona en años y calcular cuántos días ha vivido (usando 365 días por año).
Área de un Rectángulo: Pedir la base y la altura para calcular el área Base * Altura.
Sueldo Semanal: Pedir cuánto gana una persona por hora y cuántas horas trabajó a la semana para calcular su pago.
Conversor de Metros: Pedir una distancia en metros y convertirla a centímetros y a milímetros.
Reparto de Ganancias: Tres socios invierten dinero por igual; pedir la ganancia total y decir cuánto le toca a cada uno.
Espacio: Calcular el espacion recorrido por un movil, ingresando el tiempo y la velocidad (e=v*t).
Descuento Fijo: Pedir el precio de un producto y mostrar cuánto cuesta si se le aplica un descuento del 10%.
Cálculo de IGV: Pedir el valor de una factura y calcular cuánto es el 18% de impuesto.
Precio con IGV: Pedir el precio base y mostrar el precio final (Base + 18% de IGV).
Segundos a Minutos: Pedir una cantidad de segundos y mostrar a cuántos minutos equivale (Segundos / 60).
Consumo de Combustible: Pedir los kilómetros recorridos y los litros de gasolina gastados para calcular cuántos km rinde por litro.
Diferencia de Edades: Pedir el año de nacimiento de dos personas y calcular la diferencia de años entre ellas.
Porcentaje de Hombres y Mujeres: En un grupo de 20 personas, pedir cuántas son mujeres y calcular qué porcentaje del total representan.
Conversor de Temperatura: Pedir los grados Celsius y convertirlos a Fahrenheit usando la fórmula: F = (C - 32)*5/9
Cálculo de Potencia: Pedir un número y mostrar el resultado de elevarlo al cuadrado
Venta de Boletos: Pedir el precio de un boleto de cine y la cantidad de personas; mostrar el total a pagar.
Promedio: Pedir 6 notas y hallar el promedio del curso
En PSeInt, la función condicional Si se usa para tomar decisiones dependiendo de una condición.
La estructura es la siguiente:
Si condicion Entonces
// instrucciones
FinSi
Algoritmo EjemploSi
Definir edad Como Entero
Escribir "Ingrese su edad:"
Leer edad
Si edad >= 18 Entonces
Escribir "Eres mayor de edad"
FinSi
FinAlgoritmo
Si - Sino: Se usa cuando hay dos posibilidades.
ESTRUCTURA
Si condicion Entonces
// si se cumple
SiNo
// si no se cumple
FinSi
EJEMPLO 1
Algoritmo EjemploSiNo
Definir nota Como Entero
Escribir "Ingrese su nota:"
Leer nota
Si nota >= 11 Entonces
Escribir "Aprobado"
SiNo
Escribir "Desaprobado"
FinSi
FinAlgoritmo
EJEMPLO 2 (Número positivo o negativo)
Algoritmo PositivoNegativo
Definir num Como Entero
Escribir "Ingrese un numero:"
Leer num
Si num >= 0 Entonces
Escribir "El numero es positivo"
SiNo
Escribir "El numero es negativo"
FinSi
FinAlgoritmo
EJEMPLO 2 (Número par o impar)
Algoritmo ParImpar
Definir num Como Entero
Escribir "Ingrese un numero:"
Leer num
// Se utiliza MOD para llamar el residuo de la división
Si num MOD 2 = 0 Entonces
Escribir "El numero es par"
SiNo
Escribir "El numero es impar"
FinSi
FinAlgoritmo
EJEMPLO 3 (Mayor de edad)
Algoritmo MayorEdad
Definir edad Como Entero
Escribir "Ingrese su edad:"
Leer edad
Si edad >= 18 Entonces
Escribir "Puede votar"
SiNo
Escribir "No puede votar"
FinSi
FinAlgoritmo
EJEMPLO 4 (Curso aprobado o desaprobado)
Algoritmo Notas
Definir nota Como Real
Escribir "Ingrese su nota:"
Leer nota
Si nota >= 11 Entonces
Escribir "Aprobado"
SiNo
Escribir "Desaprobado"
FinSi
FinAlgoritmo
EJEMPLO 5 (Descuento en comprar)
Algoritmo Descuento
Definir compra Como Real
Escribir "Ingrese monto de compra:"
Leer compra
Si compra >= 100 Entonces
Escribir "Tiene descuento"
SiNo
Escribir "No tiene descuento"
FinSi
FinAlgoritmo
Ingresar una contraseña.
Si es "1234", acceso permitido.
Si no, acceso denegado.
Ingresar una temperatura.
Si es mayor a 30, mostrar “Hace calor”.
Si no, mostrar “Clima agradable”.
Ingresar un número y verificar si es múltiplo de 5.
Ingresar un nombre.
Si es "Carlos", mostrar bienvenida.
Si no, usuario no registrado.
Ingresar un número y verificar si es mayor a 100.
Pedir la edad.
Si tiene 18 o más, puede entrar al cine.
Si no, no puede entrar al cine.
Ingresar un número.
Si es cero, mostrar “Número neutro”.
Si no, mostrar “Número diferente de cero”.
Ingresar un monto.
Si es mayor a 50, compra válida, usted accedio a un promoción.
Si no, compra insuficiente para descuento.
Ingresar una letra.
Si es "a", mostrar “Es vocal”.
Si no, mostrar “No es la vocal a”.
Ingresar un número.
Si es menor que 10, mostrar “Tiene un dígito”.
Si no, mostrar “Tiene más de un dígito”.
Ingresar un sueldo.
Si es mayor a 3000, mostrar “Paga impuestos”.
Si no, “No paga impuestos”.
Pedir una nota y mostrar:
Si nota >= 14 → “Bueno”
Si no → “Regular”
Pedir a, b, c y calcular:
D = b² - 4ac //b² es lo mismo que b*b
Si D >= 0 → “Tiene soluciones reales”
Si no → “No tiene soluciones reales”
Pedir peso y talla:
IMC = peso / (talla²) // para poner talla² es lo mismo que talla*talla
Si IMC < 18.5 → “Bajo peso”
Si no → “Peso normal o mayor”
Pedir distancia y tiempo:
v = distancia / tiempo
Si v > 80 → “Exceso de velocidad”
Si no → “Velocidad normal”
Pedir consumo kWh:
Ingrese el consumo
costo = consumo * 0.5
Si costo > 100 → “Pago alto”
Si no → “Pago normal”
Pedir temperatura en Celsius:
F = (C * 9/5) + 32 // F es en grados farenheit
Si F > 100 → “Agua hierve”
Si no → “Temperatura normal”
Pedir km y litros:
consumo = km / litros
Si consumo < 10 → “Consumo eficiente”
Si no → “Consumo alto”
En PSeInt, un SI anidado (o estructura condicional anidada) no es más que colocar una instrucción Si-Entonces dentro de otra instrucción Si-Entonces.
Se utiliza cuando necesitas evaluar múltiples condiciones en cadena: si la primera condición no se cumple, pasas a evaluar una segunda, luego una tercera, y así sucesivamente.
Aquí tienes la estructura correcta, un ejemplo práctico y las mejores formas de escribirlo.
Sintaxis Estructurada (Forma Tradicional)
Esta es la forma estándar donde metes un Si dentro de la parte del Sino (o del Entonces).
Si condicion_1 Entonces
// Código si se cumple la condicion_1
SiNo
Si condicion_2 Entonces
// Código si se cumple la condicion_2
SiNo
// Código si ninguna se cumplió
FinSi
EJEMPLO 1
Aquí evaluamos la nota de un examen del 1 al 10.
Si sacas 7 o más: Aprobase.
Si sacas entre 4 y 6: Vas a examen de recuperación.
Si sacas menos de 4: Reprobaste.
Algoritmo NotasSimples
Definir nota Como Entero
Escribir "Ingresa tu nota (1 al 10):"
Leer nota
Si nota >= 7 Entonces
Escribir "¡Aprobado!"
Sino
// Si no es mayor o igual a 7, preguntamos si al menos llega a 4
Si nota >= 4 Entonces
Escribir "Vas a recuperación."
Sino
// Si es menor que 4...
Escribir "Reprobado."
FinSi
FinSi
FinAlgoritmo
EJEMPLO 2
Imagina que una hamburguesa cuesta S/ 10 y un hot dog (perro caliente) cuesta S/ 5.
Algoritmo ComprasSimples
Definir dinero Como Entero
Escribir "¿Cuánto dinero tienes?"
Leer dinero
Si dinero >= 10 Entonces
Escribir "Te alcanza para una hamburguesa."
Sino
// Si no tienes $10, hacemos la segunda pregunta:
Si dinero >= 5 Entonces
Escribir "No te alcanza para la hamburguesa, pero sí para un hot dog."
Sino
// Si tienes menos de $5:
Escribir "No te alcanza para nada. Toca comer en casa."
FinSi
FinSi
FinAlgoritmo
Leer un número y determinar:
Si es positivo.
Si es negativo, mostrar "negativo".
Si es cero, mostrar "cero".
Leer una edad:
Si es mayor o igual a 18, indicar si es adulto joven (18-30) o adulto (>30).
Si es menor, indicar si es menor de edad.
Leer una nota:
Si es mayor o igual a 11, indicar si es "aprobado" o "destacado" (≥18).
Si es menor, indicar si está "en proceso" (8-10) o "desaprobado".
Leer tres números:
Determinar cuál es el mayor usando SI anidados.
Leer 3 lados:
Verificar si forma triángulo.
Si forma, indicar si es equilátero, isósceles o escaleno.
Leer precio:
Si es mayor a 100:
Si es mayor a 500 → 20% descuento.
Si no → 10% descuento.
Si es menor o igual a 100 → sin descuento.
Leer temperatura:
Si es mayor a 30 → "calor":
Si > 40 → "extremo".
Si es menor a 10 → "frío":
Si < 0 → "congelación".
Caso contrario → "templado".
Leer nota:
Si ≥ 14 → aprobado:
Si ≥ 18 → excelente.
Si < 14:
Si ≥ 10 → recuperación.
Si < 10 → desaprobado.
Leer número (1-7):
Si está en rango:
Si ≤ 5 → día laboral.
Si > 5 → fin de semana.
Si no → inválido.
Leer peso y altura:
Calcular IMC.
Si IMC < 18.5 → bajo peso.
Si IMC 18.5–24.9:
indicar normal.
Si ≥ 25:
si ≥ 30 → obesidad.
si no → sobrepeso.
Leer un número:
Si es mayor que 10:
Si es par → mostrar "Mayor y par".
Si no → "Mayor e impar".
Si no → mostrar "Menor o igual a 10".
Leer el monto de compra:
Si es mayor a 50:
Si es mayor a 100 → aplicar 15% de descuento.
Si no → aplicar 5%.
Si no → sin descuento.
Leer edad:
Si es mayor o igual a 18:
Si es mayor a 60 → "Puede votar y es adulto mayor".
Si no → "Puede votar".
Si no → "No puede votar".
Leer un número:
Si es positivo:
Si es mayor a 100 → "Grande".
Si no → "Pequeño".
Si no → "No es positivo".
Leer sueldo:
Si es mayor a 1000:
Si es mayor a 2000 → "Sueldo alto".
Si no → "Sueldo medio".
Si no → "Sueldo bajo".
El operador Y se usa cuando todas las condiciones deben cumplirse al mismo tiempo para que el resultado sea verdadero.
Si (edad >= 18 Y tieneDNI = Verdadero) Entonces
Escribir "Puede votar"
FinSi
El operador O se usa cuando basta que una de las condiciones sea verdadera para que todo sea verdadero.
Si (nota >= 11 O recuperacion = Verdadero) Entonces
Escribir "Aprobado"
FinSi
Mayor de edad con documento
Pide la edad y si tiene DNI. Determina si puede votar. (para votar tiene que ser mayor de edad)
2. Descuento en tienda
Solicita la edad y si es cliente frecuente. Determina si recibe descuento. (La edad debe ser mayor a 17)
3. Aprobación de curso
Ingresa la nota final y si rindió recuperación. Indica si aprueba o no. (aprobo si su nota es >=14)
4. Acceso a sistema
Pide si el usuario y la contraseña son correctos. Indica si puede ingresar. (usuario:alumno , contraseña:123)
5. Número en rango
Ingresa un número y determina si está entre 50 y 100.
6. Beca estudiantil
Pide el promedio y si pertenece a bajos recursos. Determina si obtiene beca.
7. Permiso de conducir
Solicita la edad y si tiene licencia. Indica si puede conducir. (tiene que ser mayor de edad y tener licencia)
8. Entrada al cine con descuento
Pide si es estudiante o adulto mayor. Determina si obtiene descuento. ( solo tiene descuento si es estudiante y su edad es mayor a 65 años
9. Aprobación estricta
Ingresa dos notas. Determina si aprueba solo si ambas son mayores o iguales a 11.
10. Acceso a evento
Pide la edad y si tiene invitación. Determina si puede ingresar. (para ingresar tiene que ser mayor de edad y tener invitación)
11. Número positivo o negativo
Ingresa un número e indica si es positivo o cero (no negativo).
12. Compra con beneficio
Solicita el monto de compra y si es cliente VIP. Determina si obtiene descuento. (descuento compra mayor a 1000 soles y tiene que ser VIP)
13. Evaluación de salud básica
Pide la temperatura corporal y si tiene tos. Determina si presenta posible enfermedad. (si su temperatura es >38 C es fiebre)
14. Clasificación de número
Ingresa un número y determina si es positivo y par. (para ver si es par usar la función MOD)
15. Promoción escolar
Pide tres notas. Determina si el estudiante aprueba si al menos una nota es mayor o igual a 14 o si todas son mayores o iguales a 11.
La estructura SEGÚN es una sentencia condicional múltiple que permite elegir una acción entre varias opciones, dependiendo del valor de una variable.
Sirve para evitar muchos Si anidados cuando tienes varias alternativas basadas en un mismo valor.
Estructura general
Segun variable Hacer
valor1:
acciones
valor2:
acciones
valor3:
acciones
De Otro Modo:
acciones
FinSegun
EJEMPLO 1 Enumerar las 4 operaciones básicas
Definir opcion Como Entero
Leer opcion
Segun opcion Hacer
1:
Escribir "Sumar"
2:
Escribir "Restar"
3:
Escribir "Multiplicar"
4:
Escribir "Multiplicar"
De Otro Modo:
Escribir "Opción inválida"
FinSegun
EJEMPLO 2: Definir dia Como Entero
Escribir "Ingrese un número del 1 al 7:"
Leer dia
Segun dia Hacer
1:
Escribir "Lunes"
2:
Escribir "Martes"
3:
Escribir "Miércoles"
4:
Escribir "Jueves"
5:
Escribir "Viernes"
6:
Escribir "Sábado"
7:
Escribir "Domingo"
De Otro Modo:
Escribir "Número inválido"
FinSegun
EJEMPLO 3 Ingresar un número del 1 al 6 que represente una nota de evaluación y mostrar si el estudiante está aprobado o desaprobado. Sabiendo que si su nota esta entre 1 al 3 es desaprobado y 4 al 6 aprobado.
Definir nota Como Entero
Escribir "Ingrese una nota del 1 al 6:"
Leer nota
Segun nota Hacer
1,2,3:
Escribir "Desaprobado"
4,5,6:
Escribir "Aprobado"
De Otro Modo:
Escribir "Nota inválida"
FinSegun
Pedir un número del 1 al 5 y mostrar el nombre del número en letras.
Ingresar un número del 1 al 7 y mostrar el día de la semana.
Pedir un número del 1 al 12 y mostrar el mes correspondiente.
Ingresar un número del 1 al 3 y mostrar: “Bajo”, “Medio” o “Alto”.
Pedir un número del 1 al 4 y mostrar una estación del año.
Ingresar una opción (1-3) para elegir operación: sumar, restar o multiplicar dos números.
Pedir un número del 1 al 10 y mostrar si es par o impar (usando casos).
Ingresar un número del 1 al 5 y mostrar una calificación: Muy malo, Malo, Regular, Bueno, Excelente.
Pedir un número del 1 al 4 y mostrar el tipo de figura: cuadrado, rectángulo, triángulo o círculo.
Ingresar un número del 1 al 3 y mostrar el turno: mañana, tarde o noche.
Crear un menú con opciones: 1=Ver saldo, 2=Depositar, 3=Retirar. Mostrar mensaje según opción.
Ingresar un número del 1 al 6 y mostrar la cara de un dado.
Pedir un número del 1 al 3 y mostrar el tipo de usuario: Administrador, Cliente, Invitado.
Ingresar una opción (1-4) y mostrar el nombre de un curso (Matemática, Comunicación, Ciencia, Historia).
Pedir un número del 1 al 5 y mostrar el nivel de acceso (Muy bajo a Muy alto).
Ingresar un número del 1 al 7 y mostrar si es día laboral o fin de semana.
Crear un menú de restaurante (1-4) y mostrar el plato seleccionado.
Pedir un número del 1 al 12 y mostrar si pertenece al primer, segundo o tercer trimestre del año.
Ingresar un número del 1 al 5 y mostrar el significado de una nota (A, B, C, D, F).
Crear un sistema que pida una opción (1-3) y muestre: encender, apagar o reiniciar un sistema.
Utilizando la teoría y estructuras explicadas en clase resolver las siguiente interrogantes, puede hacer uso de la IA, al final tendrá un examen personalizado, donde se elegirá cualquier pregunta.
Hallar la velocidad de un móvil, y mostrar si supera el limite permitido o no. Ingresar el espacio y el tiempo (espacio=velocidad*tiempo), el limite permitido no debe superar los 30km/h.
En empresa se desea saber si, en este mes hubo ganancias o perdidas (la ganancia es cuando el Ingreso>Perdidas) (perdidas es cuando Ingreso<=ganancia)
En una empresa se desea calcular el total de compra de un producto (total = precio * cantidad) ,además si el total es mayor a1000, mostrar la compra al por mayor, caso contrario compra al por menor.
Crear un sistema donde se ingrese el promedio y muestre: aprobado (11-17), desaprobado (0-10) o becado (18-20) un sistema.
Muestre si un persona puede votar, para ello debe cumplir estos requisitos: ser mayor de edad y portar su dni. Además si es de Trujillo, Ancash o Chimbote. mostrar ,es un votante regional o de lo contrario el votante no es regional.