← Volver

✓ AprobadoCPU/IRP - Introducción a la Resolución de Problemas

IRP - Programación con PSeInt Completo

Recursos del artículo

Material complementario adjunto por el autor.

1
Enlaces externos1

Resumen de temas para estudiar la parte de programación de la materia irp

Introducción

Este bloque resume los temas de programación que aparecen en IRP: algoritmos, variables, tipos de datos, entrada, salida, asignación, estructuras secuenciales, condicionales, funciones primitivas, cadenas, operadores, ciclos, diagramas de flujo y prueba de escritorio.


Desarrollo

1. Qué es un algoritmo

Un algoritmo es una serie de pasos ordenados para resolver un problema.

O sea:

Primero hago esto.
Después hago esto.
Después muestro el resultado.

En programación, esos pasos tienen que estar claros. Si vos pensaste algo pero no lo escribiste, para el programa eso directamente no existe /ᐠ - ˕ -マ

Concepto Explicación
Algoritmo Pasos ordenados para resolver algo
Entrada Datos que recibe el programa
Proceso Cálculos o decisiones que hace el programa
Salida Resultado que muestra el programa

Ejemplo:

Leer numero
doble <- numero * 2
Escribir doble

O sea:

El usuario mete un número.
El programa lo multiplica por 2.
Después muestra el resultado.

2. Qué es PSeInt

PSeInt es una herramienta para escribir algoritmos en pseudocódigo. Sirve para aprender lógica de programación y es un paso previo para no matarse después con Java, Python o C++ ദ്ദി/ᐠ。‸。ᐟ\

Elementos principales:

Elemento Para qué sirve
Proceso Marca el inicio del programa
FinProceso Marca el final del programa
Definir Declara variables
Leer Permite ingresar datos
Escribir Muestra mensajes o resultados
<- Asigna valores
Si Toma decisiones
Sino Camino alternativo de una decisión
Segun Elige entre varios casos
Repetir Repite hasta cumplir una condición
Mientras Repite mientras algo sea verdadero
Para Repite una cantidad fija de veces
PSeInt es para aprender a pensar programas 𐔌՞. .՞𐦯

3. Instalación y perfil

Para usar PSeInt:

  1. Entrar a la página oficial de PSeInt.
  2. Descargar instalador o versión portable.
  3. Abrir el programa.
  4. Ir a opciones de lenguaje o perfiles.
  5. Elegir perfil UNSAM si aparece.
  6. Si no aparece, usar perfil Estricto.
Perfil que tenés que usar:Estricto

Si usás cualquier perfil random, capaz algo te funciona en tu compu y después no coincide con lo que espera la materia.


4. Estructura básica de un programa

Un programa en PSeInt suele tener esta forma:

Proceso NombreDelPrograma
    Definir variables Como tipo;

    Leer datos;

    Hacer calculos;

    Escribir resultados;
FinProceso

Ejemplo:

Proceso GananciaMensual
    Definir capital, ganancia Como Real;

    Escribir "Ingrese el capital invertido:";
    Leer capital;

    ganancia <- capital * 0.02;

    Escribir "La ganancia es $", ganancia;
FinProceso
Parte Qué hace
Proceso Arranca el algoritmo
Definir Prepara las variables
Leer Recibe datos
<- Guarda cálculos
Escribir Muestra resultados
FinProceso Cierra el algoritmo

5. Variables

Una variable es un espacio donde se guarda un dato.

Basicamente una cajita con nombre (˵◝⩊◜˵マ

Ejemplos:

edad
nombre
precio
nota1
nota2
promedio
capital
ganancia
resultado

Una variable puede guardar un valor y después ese valor puede usarse en cuentas, condiciones o mensajes.

Ejemplo:

promedio <- (nota1 + nota2) / 2

Ahí promedio guarda el resultado de sumar dos notas y dividirlas por 2.


6. Tipos de datos

Los tipos de datos indican qué puede guardar una variable.

Tipo Qué guarda Ejemplos
Entero Números sin coma 1, 2, -5
Real Números con o sin coma 3.14, 2.5, -8
Cadena Texto "Hola", "Juan"
Caracter Un solo carácter "A", "s"
Logico Verdadero o falso Verdadero, Falso

Ejemplo:

Definir edad Como Entero;
Definir altura Como Real;
Definir nombre Como Cadena;
Definir aprobado Como Logico;

Ojo:

Si una cuenta puede dar decimal, usá Real.
Si guardás texto, usá Cadena.
Si solo necesitás Verdadero o Falso, usá Logico.

7. Definir

Definir sirve para decirle al programa qué variables vas a usar.

Sintaxis:

Definir variable Como tipo;

Ejemplo:

Definir edad Como Entero;

También podés definir varias variables del mismo tipo:

Definir nota1, nota2, promedio Como Real;
Le avisás al programa qué cajitas existen y qué tipo de dato guarda cada una ᗜ⩊ᗜ

8. Leer

Leer sirve para que el usuario ingrese un dato.

Sintaxis:

Leer variable;

Ejemplo:

Escribir "Ingrese su edad:";
Leer edad;

Qué pasa:

El programa pide un dato.
El usuario lo escribe.
Ese dato queda guardado en la variable.

Ejemplo completo:

Proceso PedirEdad
    Definir edad Como Entero;

    Escribir "Ingrese su edad:";
    Leer edad;

    Escribir "Su edad es ", edad;
FinProceso

9. Escribir

Escribir sirve para mostrar mensajes o resultados.

Ejemplo:

Escribir "Hola";

También puede mostrar texto y variables:

Escribir "El resultado es ", resultado;

Ejemplo:

Proceso Saludo
    Definir nombre Como Cadena;

    Escribir "Ingrese su nombre:";
    Leer nombre;

    Escribir "Hola ", nombre;
FinProceso
Leer es para que el usuario hable.
Escribir es para que el programa hable /ᐠ. .ᐟ\ Ⳋ

10. Asignación

La asignación guarda un valor en una variable.

Se usa:

<-

Ejemplo:

promedio <- (nota1 + nota2) / 2;

Significa:

Calculá nota1 + nota2.
Dividilo por 2.
Guardá el resultado en promedio.

Otro ejemplo:

ganancia <- capital * 0.02;

Error común:

promedio = (nota1 + nota2) / 2

Forma correcta:

promedio <- (nota1 + nota2) / 2

11. Variables de entrada, salida y auxiliares

En IRP suelen pedir clasificar variables. Es medio rompebolas, pero entra ദ്ദി◝ ⩊ ◜.ᐟ

Tipo de variable Qué significa
Entrada La ingresa el usuario con Leer
Salida Se muestra como resultado
Auxiliar Ayuda a calcular algo en el medio
Entrada/Salida Entra, se modifica y también puede mostrarse

Ejemplo:

Leer num1
Leer num2
cuadrado1 <- num1 * num1
cuadrado2 <- num2 * num2
resta <- cuadrado1 - cuadrado2
Escribir resta

Clasificación:

Variable Rol
num1 Entrada
num2 Entrada
cuadrado1 Auxiliar
cuadrado2 Auxiliar
resta Salida

12. Análisis de problemas

Antes de programar conviene separar el problema.

Parte Pregunta
Entrada ¿Qué datos me dan o debe ingresar el usuario?
Salida ¿Qué resultado tengo que mostrar?
Proceso ¿Qué cuenta o decisión resuelve el problema?
Auxiliares ¿Qué datos intermedios necesito guardar?

Ejemplo:

Problema: dadas dos notas, informar el promedio.
Dato Tipo Rol
nota1 Real Entrada
nota2 Real Entrada
promedio Real Salida

Proceso:

promedio = (nota1 + nota2) / 2

Código:

Proceso PromedioDosNotas
    Definir nota1, nota2, promedio Como Real;

    Escribir "Ingrese la primera nota:";
    Leer nota1;

    Escribir "Ingrese la segunda nota:";
    Leer nota2;

    promedio <- (nota1 + nota2) / 2;

    Escribir "El promedio es ", promedio;
FinProceso

13. Estructuras secuenciales

Una estructura secuencial ejecuta instrucciones una después de otra.

Forma general:

Leer datos
Calcular resultado
Escribir resultado

Ejemplo: aumento del 25%.

Proceso AumentoSalario
    Definir salarioAnterior, nuevoSalario Como Real;

    Escribir "Ingrese salario anterior:";
    Leer salarioAnterior;

    nuevoSalario <- salarioAnterior * 1.25;

    Escribir "El nuevo salario es ", nuevoSalario;
FinProceso

O sea:

El programa va derecho.
No pregunta nada raro.
No repite.
Solo calcula.

14. Problemas secuenciales típicos

En las unidades aparecen ejercicios secuenciales como:

  • calcular ganancia mensual;
  • convertir pesos a dólares;
  • calcular masa usando una fórmula;
  • calcular pulsaciones;
  • calcular aumento salarial;
  • repartir presupuesto;
  • calcular precio de venta con ganancia;
  • calcular promedio de tiempos;
  • aplicar fórmulas de matemática;
  • aplicar fórmulas de física.

Ejemplo: repartir presupuesto de hospital.

Proceso PresupuestoHospital
    Definir presupuesto, ginecologia, pediatria, traumatologia Como Real;

    Escribir "Ingrese presupuesto total:";
    Leer presupuesto;

    ginecologia <- presupuesto * 0.40;
    pediatria <- presupuesto * 0.35;
    traumatologia <- presupuesto * 0.25;

    Escribir "Ginecologia: ", ginecologia;
    Escribir "Pediatria: ", pediatria;
    Escribir "Traumatologia: ", traumatologia;
FinProceso

15. Expresiones aritméticas

Una expresión aritmética es una cuenta dentro del programa ᓚ₍ ^. ̫ .^₎

Operador Significado
+ Suma
- Resta
* Multiplicación
/ División
^ Potencia
% Resto de división entera

Ejemplos:

resultado <- a + b;
resultado <- a - b;
resultado <- a * b;
resultado <- a / b;
resultado <- a ^ 2;

Ejemplo aplicado:

imc <- peso / (altura ^ 2);
Si tenés una fórmula matemática, programarla suele ser pasarla a una asignación.

16. Funciones primitivas

Una función primitiva es algo que PSeInt ya trae hecho.

No la programás desde cero /ᐠ • ˕ •マ

Función Qué hace
Subcadena Extrae una parte de un texto
Concatenar Une textos
Longitud Cuenta caracteres
Mayusculas Convierte texto a mayúsculas

Ejemplo:

Longitud("Hola")

Resultado:

4

17. Cadenas

Una cadena es texto.

Ejemplos:

"Hola"
"Juan"
"IRP"
"S"
"N"

Las cadenas se usan para nombres, respuestas, mensajes o textos que ingresa el usuario.

Ejemplo:

Definir nombre Como Cadena;

Escribir "Ingrese su nombre:";
Leer nombre;

Escribir "Hola ", nombre;

18. Subcadena

Subcadena sirve para sacar una parte de un texto.

Sintaxis:

Subcadena(cadena, inicio, fin)

Ejemplo:

Subcadena("Hola", 1, 3)

Resultado:

"ola"

¿Por qué da "ola" y no "Hol"?

Porque los índices arrancan en 0.

Índice Letra
0 H
1 o
2 l
3 a

Entonces:

Subcadena("Hola", 1, 3) = "ola"

Para sacar la primera letra:

Subcadena(cad, 0, 0)

19. Concatenar

Concatenar sirve para unir textos.

Ejemplo:

mensaje <- Concatenar("Hola ", nombre);

Si:

nombre = "Juan"

Entonces:

mensaje = "Hola Juan"

O sea:

Agarra dos textos y los pega.

También se puede mostrar texto y variables directamente con Escribir, pero Concatenar sirve cuando necesitás guardar el texto armado en una variable.


20. Longitud

Longitud cuenta cuántos caracteres tiene una cadena.

Ejemplo:

Longitud("Hola")

Resultado:

4

También se puede combinar con %.

Ejemplo:

resto <- Longitud(nombre) % 5;

Eso calcula el resto de dividir la cantidad de caracteres del nombre por 5.


21. Mayusculas

Mayusculas convierte texto a mayúscula.

Ejemplo:

Mayusculas("s")

Resultado:

"S"

Uso típico:

respuestaMayus <- Mayusculas(respuesta);

Esto sirve para no depender de si el usuario escribió s o S.

Ejemplo combinado:

comunitario <- Mayusculas(Subcadena(cad, 0, 0)) = "S";

Qué hace:

Agarra la primera letra.
La pasa a mayúscula.
Pregunta si es S.
Guarda Verdadero o Falso.

22. Condicionales

Una condicional sirve para que el programa tome decisiones.

Forma básica:

Si condicion Entonces
    acciones si es verdadero
Sino
    acciones si es falso
FinSi

Ejemplo:

Si edad >= 18 Entonces
    Escribir "Es mayor de edad";
Sino
    Escribir "Es menor de edad";
FinSi

tipo:

Si pasa esto, hacé esto.
Si no pasa, hacé lo otro ᜊ( ' ⩊ '𖦹)ᜊ

23. Operadores relacionales

Sirven para comparar valores.

Operador Significado
= Igual
<> Distinto
> Mayor
< Menor
>= Mayor o igual
<= Menor o igual

Ejemplos:

edad >= 18
num1 = num2
cantidad < 5
respuesta <> "N"

Toda comparación devuelve:

Verdadero o Falso

24. Operadores lógicos

Sirven para combinar condiciones.

Operador Significado Cuándo da verdadero
& Y Cuando ambas condiciones son verdaderas
` ` O Cuando al menos una condición es verdadera
NO Negación Invierte el valor lógico

Ejemplo con &:

Si edad >= 18 & tieneDocumento Entonces
    Escribir "Puede entrar";
Sino
    Escribir "No puede entrar";
FinSi

Ejemplo con |:

Si opcion = 1 | opcion = 2 Entonces
    Escribir "Opcion valida";
Sino
    Escribir "Opcion invalida";
FinSi

25. Variables lógicas

Una variable lógica guarda Verdadero o Falso.

Ejemplo:

Definir aprobado Como Logico;

Asignación lógica:

aprobado <- nota >= 4;

Si:

nota = 7

Entonces:

aprobado = Verdadero

Si:

nota = 2

Entonces:

aprobado = Falso

26. Condicional simple

La condicional simple tiene solo Si.

Ejemplo:

Si numero < 0 Entonces
    numero <- numero * (-1);
FinSi

Sirve cuando solo querés hacer algo si se cumple una condición.

Ejemplo:

Si el número es negativo, lo paso a positivo.
Si no es negativo, no hago nada.

27. Condicional doble

La condicional doble tiene Si y Sino.

Ejemplo:

Si cantidad < 5 Entonces
    precio <- 800;
Sino
    precio <- 700;
FinSi
Caso Acción
Condición verdadera Ejecuta el bloque del Si
Condición falsa Ejecuta el bloque del Sino

28. Condicional anidada

Una condicional anidada es un Si dentro de otro.

Sirve cuando hay más de dos casos.

Si num1 = num2 Entonces
    resultado <- num1 * num2;
Sino
    Si num1 > num2 Entonces
        resultado <- num1 - num2;
    Sino
        resultado <- num1 + num2;
    FinSi
FinSi

Qué hace:

  • si los números son iguales, multiplica;
  • si el primero es mayor, resta;
  • si no, suma.
Es un “si no pasa esto, fijate si pasa esto otro” —ฅ/ᐠ. ̫ .ᐟ\ฅ —

29. Operador módulo %

El operador % devuelve el resto de una división entera.

Ejemplo:

14 % 4 = 2

Porque:

14 = 4 · 3 + 2

Uso típico: saber si un número es múltiplo de otro.

Si num % 3 = 0 Entonces
    Escribir num, " es multiplo de 3";
Sino
    Escribir num, " no es multiplo de 3";
FinSi

Ejemplos:

12 % 3 = 0  -> 12 es múltiplo de 3
14 % 3 = 2  -> 14 no es múltiplo de 3

30. Segun

Segun sirve para elegir entre varios casos posibles.

Segun opcion Hacer
    1:
        Escribir "Opcion 1";
    2:
        Escribir "Opcion 2";
    De Otro Modo:
        Escribir "Opcion no valida";
FinSegun

Ejemplo:

Segun dia Hacer
    1:
        Escribir "Lunes";
    2:
        Escribir "Martes";
    3:
        Escribir "Miercoles";
    De Otro Modo:
        Escribir "Dia invalido";
FinSegun
Es como un menú.
Si coincide con un caso, ejecuta ese caso.
Si no coincide con ninguno, cae en De Otro Modo (´∇`'')

31. Estructuras de iteración

Las estructuras de iteración repiten instrucciones.

Estructura Cuándo usarla
Repetir Cuando querés ejecutar al menos una vez
Mientras Cuando querés repetir mientras una condición sea verdadera
Para Cuando sabés cuántas veces repetir

Simple:

Repetir: preguntá hasta que salga bien.
Mientras: mientras pase esto, seguí.
Para: hacelo cierta cantidad de veces.

32. Repetir

Repetir ejecuta un bloque hasta que se cumpla una condición.

Forma:

Repetir
    acciones
Hasta Que condicion

Ejemplo:

Proceso NotaValida
    Definir nota Como Real;

    Repetir
        Escribir "Ingrese una nota entre 1 y 10:";
        Leer nota;
    Hasta Que nota >= 1 & nota <= 10

    Escribir "Nota cargada: ", nota;
FinProceso

O sea:

Pedí la nota.
Si está mal, pedila de nuevo.
Cuando esté bien, seguí.

33. Mientras

Mientras repite mientras una condición sea verdadera.

Forma:

Mientras condicion Hacer
    acciones
FinMientras

Ejemplo:

Proceso CargarNotas
    Definir respuesta Como Cadena;
    Definir nota Como Real;

    respuesta <- "S";

    Mientras Mayusculas(respuesta) = "S" Hacer
        Escribir "Ingrese una nota:";
        Leer nota;

        Escribir "Desea cargar otra nota? S/N";
        Leer respuesta;
    FinMientras
FinProceso
Mientras el usuario quiera seguir, el programa sigue.
Cuando responde otra cosa, corta ₍ ᐢ.ˬ.ᐢ₎

34. Para

Para repite una cantidad definida de veces.

Forma:

Para i <- inicio Hasta final Con Paso paso Hacer
    acciones
FinPara

Ejemplo: mostrar números del 1 al 5.

Proceso ContarHastaCinco
    Definir i Como Entero;

    Para i <- 1 Hasta 5 Con Paso 1 Hacer
        Escribir i;
    FinPara
FinProceso

Resultado:

1
2
3
4
5

Ejemplo: promedio de 3 notas.

Proceso PromedioTresNotas
    Definir i Como Entero;
    Definir nota, suma, promedio Como Real;

    suma <- 0;

    Para i <- 1 Hasta 3 Con Paso 1 Hacer
        Escribir "Ingrese nota ", i, ":";
        Leer nota;
        suma <- suma + nota;
    FinPara

    promedio <- suma / 3;

    Escribir "Promedio: ", promedio;
FinProceso

35. Diferencia entre Repetir, Mientras y Para

Estructura Qué hace Cuándo conviene
Repetir Ejecuta y después revisa condición Validar datos
Mientras Revisa condición y después ejecuta Repetir mientras algo siga pasando
Para Repite una cantidad fija Contar o recorrer una cantidad conocida

Ejemplo mental:

Repetir: pedí contraseña hasta que esté bien.
Mientras: mientras quiera cargar notas, seguí.
Para: cargá exactamente 3 notas.

Ojo con esto:

Si el ciclo nunca cambia su condición, queda infinito.

36. Diagramas de flujo

Un diagrama de flujo representa un algoritmo con figuras.

Elemento Figura usual Uso
Inicio / Fin Óvalo Empieza o termina
Proceso / Asignación Rectángulo Cálculos
Entrada / Salida Paralelogramo Leer o escribir
Decisión Rombo Condición
Flechas Líneas Orden de ejecución

Diagrama de flujo para completar

Ejemplo conceptual:

Inicio -> Leer edad -> ¿edad >= 18? -> Mostrar resultado -> Fin

Simple:

El diagrama de flujo es el mapa del programa.
Si el mapa está mal, el código seguramente también.

37. Prueba de escritorio

La prueba de escritorio es ejecutar el algoritmo a mano.

Sirve para comprobar si funciona antes de confiar en PSeInt.

Ejemplo:

Leer cantidad

Si cantidad < 5 Entonces
    precio <- 3000;
Sino
    precio <- 2500;
FinSi

total <- cantidad * precio

Escribir total

Prueba con:

cantidad = 4

Paso a paso:

4 < 5 -> Verdadero
precio = 3000
total = 4 * 3000
total = 12000

Resultado esperado:

12000

Simple:

La prueba de escritorio evita el clásico “en mi cabeza funcionaba”.

38. Interpretación de código

En IRP pueden darte código y preguntarte qué hace.

Método:

  1. Leer las variables definidas.
  2. Ver qué datos se leen.
  3. Revisar asignaciones.
  4. Mirar condiciones.
  5. Seguir el orden línea por línea.
  6. Identificar qué muestra al final.

Ejemplo:

Leer num1
Leer num2
cuadrado1 <- num1 * num1
cuadrado2 <- num2 * num2
resta <- cuadrado1 - cuadrado2
Escribir resta

Qué hace:

Muestra la resta de los cuadrados de dos números.

O sea:

num1² - num2²

39. Traducción de enunciados a algoritmos

Muchos ejercicios son problemas escritos. Hay que pasarlos a pseudocódigo.

  1. Identificar entradas.
  2. Identificar salidas.
  3. Buscar fórmula o condición.
  4. Definir variables.
  5. Escribir pseudocódigo.
  6. Probar con valores.

Ejemplo: precio de venta con ganancia del 30%.

Datos:

precioCompra

Resultado:

precioVenta

Fórmula:

precioVenta = precioCompra * 1.30

Pseudocódigo:

Proceso PrecioVenta
    Definir precioCompra, precioVenta Como Real;

    Escribir "Ingrese precio de compra:";
    Leer precioCompra;

    precioVenta <- precioCompra * 1.30;

    Escribir "Debe venderlo a ", precioVenta;
FinProceso

40. Problemas condicionales típicos

En las unidades aparecen problemas con condiciones como:

  • calcular valor absoluto;
  • saber si un número es múltiplo;
  • aplicar descuentos;
  • cambiar precio según cantidad;
  • calcular cuotas;
  • matrícula con descuento según promedio;
  • pagos de vivienda según ingresos;
  • expresiones lógicas;
  • juegos de preguntas con “Sí” o “No”.

Ejemplo: descuento.

Proceso Descuento
    Definir totalCompra, numero, descuento, totalFinal Como Real;

    Escribir "Ingrese total de compra:";
    Leer totalCompra;

    Escribir "Ingrese numero elegido:";
    Leer numero;

    Si numero < 74 Entonces
        descuento <- totalCompra * 0.15;
    Sino
        descuento <- totalCompra * 0.20;
    FinSi

    totalFinal <- totalCompra - descuento;

    Escribir "Descuento: ", descuento;
    Escribir "Total final: ", totalFinal;
FinProceso

41. Problemas con ciclos típicos

Los ciclos sirven para problemas donde algo se repite.

Temas típicos:

  • pedir datos hasta que sean válidos;
  • cargar varias notas;
  • sumar varios valores;
  • calcular promedios;
  • contar elementos;
  • mostrar secuencias;
  • repetir un menú;
  • cortar cuando el usuario responde que no quiere seguir.

Ejemplo: cargar notas hasta que el usuario diga que no.

Proceso CargarNotasHastaSalir
    Definir respuesta Como Cadena;
    Definir nota, suma, promedio Como Real;
    Definir cantidad Como Entero;

    suma <- 0;
    cantidad <- 0;
    respuesta <- "S";

    Mientras Mayusculas(respuesta) = "S" Hacer
        Escribir "Ingrese nota:";
        Leer nota;

        suma <- suma + nota;
        cantidad <- cantidad + 1;

        Escribir "Desea cargar otra nota? S/N";
        Leer respuesta;
    FinMientras

    Si cantidad > 0 Entonces
        promedio <- suma / cantidad;
        Escribir "Promedio: ", promedio;
    Sino
        Escribir "No se cargaron notas.";
    FinSi
FinProceso

42. PSeInt aplicado a matemática

PSeInt se puede usar para resolver cuentas o fórmulas matemáticas.

Tema matemático Aplicación en PSeInt
Porcentajes Aumentos y descuentos
Proporciones Conversiones
Promedios Sumar y dividir
Ecuaciones simples Calcular incógnitas
Funciones Evaluar valores

Ejemplo: kg a gramos.

Proceso KgAGramos
    Definir kg, gramos Como Real;

    Escribir "Ingrese kg:";
    Leer kg;

    gramos <- kg * 1000;

    Escribir kg, " kg equivalen a ", gramos, " g";
FinProceso

43. PSeInt aplicado a física

También se puede usar PSeInt para fórmulas de física.

Ejemplo: MRU.

Proceso MRU
    Definir xo, vo, t, to, x Como Real;

    Escribir "Ingrese posicion inicial:";
    Leer xo;

    Escribir "Ingrese velocidad:";
    Leer vo;

    Escribir "Ingrese tiempo final:";
    Leer t;

    Escribir "Ingrese tiempo inicial:";
    Leer to;

    x <- xo + vo * (t - to);

    Escribir "La posicion final es ", x;
FinProceso

Ejemplo: peso.

Proceso Peso
    Definir masa, gravedad, peso Como Real;

    Escribir "Ingrese masa:";
    Leer masa;

    gravedad <- 10;

    peso <- masa * gravedad;

    Escribir "El peso es ", peso, " N";
FinProceso

Simple:

Si tenés una fórmula clara, PSeInt puede calcularla por vos.

44. Errores comunes en PSeInt

Errores típicos:

  • Usar una variable sin definir.
  • Elegir mal el tipo de dato.
  • Olvidarse de FinSi, FinProceso, FinMientras o FinPara.
  • Escribir distinto el nombre de una variable.
  • Confundir = con <-.
  • Poner texto sin comillas.
  • Dividir por cero.
  • Crear un ciclo infinito.
  • No actualizar la variable dentro de un Mientras.
  • No hacer prueba de escritorio.
  • Traducir mal el enunciado.
  • Resolver bien la cuenta en papel pero pasarla mal al código.

Ejemplo de error:

promedio = (nota1 + nota2) / 2

Correcto:

promedio <- (nota1 + nota2) / 2

45. Checklist de programación con PSeInt para IRP

Antes de rendir, deberías poder:

  • Explicar qué es un algoritmo.
  • Analizar un problema antes de programar.
  • Identificar entradas.
  • Identificar salidas.
  • Identificar variables auxiliares.
  • Crear un Proceso.
  • Cerrar con FinProceso.
  • Definir variables.
  • Elegir tipos: Entero, Real, Cadena, Caracter, Logico.
  • Usar Leer.
  • Usar Escribir.
  • Usar asignación con <-.
  • Resolver ejercicios secuenciales.
  • Traducir fórmulas a pseudocódigo.
  • Usar Subcadena.
  • Usar Concatenar.
  • Usar Longitud.
  • Usar Mayusculas.
  • Usar operadores relacionales.
  • Usar operadores lógicos.
  • Usar %.
  • Escribir condicionales simples.
  • Escribir condicionales dobles.
  • Escribir condicionales anidadas.
  • Usar Segun.
  • Usar Repetir.
  • Usar Mientras.
  • Usar Para.
  • Evitar ciclos infinitos.
  • Interpretar código dado.
  • Hacer diagramas de flujo básicos.
  • Hacer prueba de escritorio.
  • Aplicar PSeInt a problemas matemáticos.
  • Aplicar PSeInt a problemas físicos.

Conclusión ◝(ᵔᗜᵔ)◜

La programación con PSeInt en IRP se puede ordenar en tres bloques grandes. Primero está lo secuencial, donde el programa hace pasos en orden. Después están las condicionales, donde el programa decide. Y finalmente están los ciclos, donde el programa repite.

En resumen:

Entrada -> Proceso -> Salida

Si hay decisiones:

Entrada -> Condición -> Camino correcto -> Salida

Si hay ciclos:

Entrada -> Repetir mientras haga falta -> Resultado

ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧


Referencias

  1. IRP-CPU-ECyT. (s. f.). Unidad 1: Estructuras secuenciales, funciones primitivas y estructuras condicionales. Material de la materia.

Unidad 1.pdf

  1. IRP-CPU-ECyT. (s. f.). Unidades: Material de la materia.

Unidad 2.pdf

Unidad 3.pdf

Unidad 4.pdf

  1. IRP-CPU-ECyT. (s. f.). Guía de programación IRP. Campus Virtual ECyT UNSAM.

Guía de programación IRP

  1. Zurita Tropea, M. (2024). Apuntes IRP. Material de estudio complementario.

2024 Apuntes - IRP.pdf


Ediciones y revisiones

Cargando historial...

Proponer edición

Conversación

Comentarios

0

Cargando comentarios...

Comprobando sesión...

Artículos relacionados

Preguntá sobre cualquier tema universitario…