Pseint: La introducción a la programación.

Interfaz
La interfaz de Pseint es un entorno de desarrollo especificado para el aprendizaje de programación y desarrollo de algoritmos. Esta tiene herramientas y elementos típicos de un editor de código. A continuación, te presentare algunas de las partes de la interfaz de PSEINT.
Botones Esenciales:

En la parte superior del programa ubicamos los botones más necesarios como lo son:
- Botones de archivo:

Como en todo programa de computadora tenemos los típicos botones para GUARDAR, GUARDAR COMO y ABRIR UN ARCHIVO o proyecto, Pseint no es la exención y en este caso los encontramos en la barra de herramientas superior al lado izquierdo.
- Botones generales:

Este grupo de botones contiene una serie de operaciones básicas para un programa de códigos, como lo es copiar o pegar. A continuación, los nombrare de izquierda da derecha. ✓ Deshacer ✓ Rehacer ✓ Cortar ✓ Copiar ✓ Pegar ✓ Corregir indentado ✓ Mostrar mensaje de error
- Botones de ejecutar y botón de ayuda:

Por ultimo y no menos impórtate de los botones esenciales tenemos los botones para ejecutar el programa que estemos trabajando, estos se componen por cuatro:
- Ejecutar: Como no lo dice su nombre, ejecuta el código como lo hayamos pensado para el usuario final.
- Ejecutar paso a paso: Este boto hace la misma acción que el anterior pero con la diferencia que este te va mostrado que parte del código va ejecutando en tiempo real.
- Diagrama de flujo: Este botón nos genera una forma visual del código que se esté trabajando, en este diagrama también se pueden a hacer cambios al código que se esté creando.
- Ayuda: Aunque este botón no ejecute nada en el código, su función es muy esencial en el momento de una duda. Este nos proporciona todo tipo de información del programa que nos será de muchísima ayuda en un momento de apuros.
Sección de operadores y funciones:

En esta sección encontramos la gran selección de operadores y funciones que el programa PSEIN nos ofrece para utilizar. Esta sección se encuentra en el lateral de la venta de código del programa, a continuación, el listado de operadores de esta sección.
✓ Operadores Algebraicos (Suma, Resta, Multiplicación, división, potencia y MOD)
✓ Operadores Lógicos (Y conjunción, O disyunción, NO negación)
✓ Operadores Relacionales (Igual, distinto, menor, menor o igual, mayor y mayor o igual)
✓ Funciones matemáticas (valor absoluto, valor truncado, valor redondeado, raíz cuadrada, seno, coseno, tangente, arcoseno, arco coseno, arco tangente, logaritmo natural y función exponencial)
✓ Funciones de cadena (Longitud, subcadena, concatenar, convertir a número, convertir a texto, mayúsculas y minúsculas. ✓ Otras funciones (azar, hora actual, fecha actual)
Sección de comandos:

Esta sección esta ubicada en la parte lateral derecha de la ventana de código del programa PSEINT, estos comandos son la matriz que utilizaremos siempre que queramos hacer un programa o código en PSEINT, ya que estos son los que nos ayudaran a volver realidad la idea que tenemos. Estos comandos están compuestos por:
✓ Escribir
✓ Leer
✓ Asignar
✓ Si-Entonces
✓ Según
✓ Mientras
✓ Repetir
✓ Para
✓ Función.
A continuación, veremos una pequeña explicación d ellos comando mas usados y esenciales por parte de los programadores principiantes en la plataforma PSEINT.
LEER Y ESCRIBIR
Comenzaremos con los dos comandos básicos, bajo estos dos comandos basaremos el 98% de nuestros programas, ya que sus funciones son tan básicas y ala la vez necesarias. A continuación, una breve explicación de cada uno de estos dos comandos.

El comando LEER permite al usuario proporcionar una información. Normalmente esta información es llamada por un comando, como puede ser el comando Escribir.

El comando ESCRIBIR permite darle al usuario algún tipo de información, sea un numero o palabra, hasta una asignación antes dada en el código.
A continuación, un breve video explicando más a fondo estos dos comandos y un par de ejemplos:
Veremos a continuación un par de códigos utilizando los dos comandos anteriores acompañados de su prueba de escritorio y diagrama de flujo.
- Ejemplo #1: El siguiente programa trata de un mensaje de bienvenida personalizado al usuario, en este caso será la bienvenida del usuario a la universidad central de Bogotá.
Algoritmo escribir_1_mensaje_de_bienvenida
//Usamos el comando escribir para ingresar una expresión, en este caso "Ingrese su nombre"
Escribir "Ingrese su nombre"
//Utilizamos ahora el comando leer para recibir el dato del nombre
Leer nom;
//Volvemos a utilizar el comando Escribir, para solicitar el numero de cedula.
Escribir "Ingrese Numero de CC"
Leer cc;
//Por ultimo volvemos a utilizar el formato escribir para dar el mensaje de bienvenida al usuario
Escribir "Bienvenido ", nom ;
Escribir "Con numero de cc ", cc ;
Escribir "a la UCENTRAL"
FinAlgoritmo


- Ejemplo #2: En este segundo ejemplo le daremos al usuario final un saludo de cumpleaños dependiendo de quien lo pida. Esto usando los comandos LEER y ESCRIBIR.
Algoritmo escribir_2_carta_de_cumpleaños
//usaremos el comando escribir y leer para realizar una carta de cumpleaños personalizada
//solicitamos el nombre del o de la cumpleañera
Escribir "Hola, alguien muy especial quiere decirte unas palabras por tu cumpleaños. Pero para eso debemos verificar tu nombre y la edad que cumples";
Escribir "Digita tu nombre y edad, consecutivamente";
Leer nom;
Leer edad;
Escribir "Ok ya verificamos que eras tu " nom, " y que estas cumpliendo " edad, " años", "a continuación el mensaje de tu amigo JUANITO"
Escribir "Hola " nom, " Hoy es un día especial porque celebramos otro año de tu vida";
Escribir "Quiero aprovechar esta oportunidad para desearte un feliz cumpleaños lleno de alegría, amor y momentos inolvidables.";
Escribir "En este día, quiero recordarte lo especial que eres para mí y para todos los que te rodean. Tu presencia ilumina nuestras vidas y tu sonrisa contagia felicidad a todos los que te conocen.";
Escribir "Que este nuevo año te traiga muchas bendiciones, éxitos y experiencias maravillosas. Que cada día esté lleno de nuevas oportunidades para crecer, aprender y alcanzar tus sueños.";
Escribir "Recuerda siempre que tienes el poder de hacer realidad todo aquello que te propongas. Confía en ti mismo(a) y sigue adelante con determinación y valentía.";
Escribir "ATT: Juanito, que te quiere " nom;
FinAlgoritmo


ASIGNAR

El comando asignar es uno de los mas completos, ya que nos permite ALMACENAR un dato ó variable dependiendo de otro o otra, estas mismas pueden estar ligadas a otros comandos como LEER o Escribir.
En el siguiente video una breve explicación para profundizar más en el comando ASIGNAR:
https://www.youtube.com/watch?v=1zDrdz96BlU
A continuación, un ejemplo un ejemplo sobre el comando ASIGNAR donde también utilizaremos los comandos antes mencionados.
- Ejemplo: Crearemos una calculadora para poder saber el precio final de un cierto producto, en este caso tomamos tubería de acero.
Algoritmo asignar_2_calcular_precio_tuberia_sch40
//calcularemos precio final de tuberia sch40
//pedimos la medida del diámetro externo del tubo
Escribir "Proporcionar Medida del Ø de tubo SCH40 que necesita calcular";
Leer sch40
//pedir precio costo de el tubo a calcular, definimos el precio costo como real y lo inicializamos como 0
definir preciocosto Como Real
preciocosto=0
Escribir "Proporcionar precio costo de tubo SH40 de " sch40 " x 6 metros" ;
Leer preciocosto
//solicitamos la cantidad a calcular de tubo, definimos la cantidad como real y lo inicializamos como 0
definir cantidad Como Real
cantidad=0
Escribir "¿Cuantos metros de tubo SCH40 de " sch40 " deseas calcular?";
Leer cantidad
//definimos el precio del metro del tubo sch40
prcosto1metro<-preciocosto/6
//definimos precio de venta de cada metro
prventa1metro<-prcosto1metro/0.65
//definimos valor solicitado
prsolicitado<-prventa1metro*cantidad
//definimos precio con iva
prconIVA<-prsolicitado*1.19
//damos precios finales
Escribir "El precio a la venta sin iva de Tubo SCH40 de " sch40, " x " cantidad, " es de " prsolicitado;
Escribir "y el valor con iva es: " prconIVA;
FinAlgoritmo


“SI ENTONCES”, “Y” y “O”
El comando “SI ENTONCES” condiciona la respuesta al usuario dependiendo la respuesta de este. Este comando también se ayuda de otros comandos como LEER o ESCRIBIR.
Los otros dos son funciones de verdad, donde se verifica si cumplen ciertas condiciones. En el caso del comando “Y” hace referencia si las condicionales son verdaderas y en el comando “O”.
En el siguiente video se explica con más detalle el comando SI ENTONCES y las funciones “Y” y “O”
https://www.youtube.com/watch?v=-GEUOgQSJPo
A continuación, un ejemplo sobre el comando SI ENTONCES para aclarar mas su funcionalidad.
- Ejemplo: Haremos un programa para validar la cantidad de dinero que se puede retirar de una cuenta de inversión.
Algoritmo retiro_de_dinero
//calcular cuanto puedo retirra de mi cuenta de inversion si se deben quedar minimo el 20%
//pedir el valor total de la cuenta
Escribir "Proporcioname el valor total de tu cuenta de inversiòn"
Leer valtotal
val20<-valtotal*20/100
valret<-valtotal-val20
Escribir "Cuanto deseas sacar de tu cuenta"
Leer valorsacar
Si valorsacar=valret o valorsacar<valret Entonces
Escribir "Puedes retirar " valorsacar, " sin ningun problema";
Sino
Escribir "No puedes retirar " valorsacar;
FinSi
FinAlgoritmo


SEGUN

Este comando nos permite darle una respuesta al usuario dependiendo la respuesta de este. Este comando por obligación este combinado con los comandos anteriormente explicados.
En el siguiente video te explicare a profundidad un ejemplo y después de este te dejare el Código que use en este programa, su diagrama de flujo y su prueba de escritorio como todos los ejemplos anteriores .
Algoritmo segun_1_cotizaciones
// haremos un programa para cotizar diferentes productos de una empresa de elementos hidraulicos
// hacemos una intro de los diferentes programas que podemos dar con el comando escribir
Escribir 'Bienvenido al menu'
Escribir 'Puedo hacer una serie de actividades, a continuación, las opciones'
Escribir 'Opción 1: Modelo de cotización para REPUESTOS HIDRAULICOS'
// Utilizaremos el comado leer para saber que programa usara el usuario
Leer Opc
Según Opc Hacer
1:
Escribir 'OK haremos la cotización de elementos simples'
Escribir 'Propociona la fecha de hoy (dd/mm/aa)'
Leer fecha
Escribir 'Proporcioname NOMBRE DE ASESOR o ASESORA'
Leer asesor
Escribir 'Dime para quien es la Cotización'
Leer Cliente1
Escribir 'Dime su numero de identificación (ejemplo: 1013100709 CC)'
Leer numeroID1
Escribir 'Ya con estos datos podemos comenzar con la cotización'
Escribir 'Por favor indicame cuantos productos quieres cotizar', '(POR AHORA MAX. 4)'
Leer numeroelementos
Según numeroelementos Hacer
1:
// Definimos los productos como un caracter
Definir unoproducto Como Cadena
// Definimos los valores en precios como un numero entero
Definir unoprecost, unocantproducto, unopreciofinal, unosubtotal, unoprecioIVA Como Entero
// iniciamos todos los valores en 0
unoprecost <- 0
unocantproducto <- 0
unopreciofinal <- 0
unosubtotal <- 0
unoprecioIVA <- 0
Escribir 'Seleccionaste 1 productos'
Escribir 'Proporcioname el producto a cotizar'
Leer unoproducto
Escribir '¿Cuantos ', unoproducto, ' vas a cotizar ?'
Leer unocantproducto
Escribir 'Dime el precio costo unitario del producto'
Leer unoprecost
unopreciofinal <- unoprecost/0.6
unosubtotal <- unopreciofinal*unocantproducto
unoprecioIVA <- unosubtotal*1.19
Escribir 'A continuación cotización requerida'
Escribir 'Cordial Saludo ', Cliente1, ' Con numero de Identificación: ', numeroID1
Escribir ' Producto #1: ', unoproducto, ' Valor UND: ', unopreciofinal, ' y un valor total de ', unosubtotal
Escribir 'SUBTOTAL: ', unosubtotal
Escribir 'TOTAL: ', unoprecioIVA
Escribir 'La oferta tiene una valides de 15 dias habiles a partir de : ', fecha
Escribir 'ATT: ', asesor
2:
// definimos los productos como un caracter
Definir dos1producto, dos2producto Como Cadena
// definimos los valores como un numero real
Definir dos1precost, dos2precost, dos1cantproducto, dos2cantproducto, dos1preciofinal, dos2preciofinal, dos1sub, dos2sub, dossubtotal, dosprecioIVA Como Real
// inicializamos los valores en 0
dos1precost <- 0
dos2precost <- 0
dos1cantproducto <- 0
dos2cantproducto <- 0
dos1preciofinal <- 0
dos2preciofinal <- 0
dos1sub <- 0
dos2sub <- 0
dossubtotal <- 0
dosprecioIVA <- 0
Escribir 'Seleccionaste cotizador para 2 productos'
Escribir 'Proporcionar producto #1'
Leer dos1producto
Escribir 'Proporcionar producto #2'
Leer dos2producto
Escribir '¿Cuantos ', dos1producto, ' vas a cotizar?'
Leer dos1cantproducto
Escribir '¿Cuantos ', dos2producto, ' vas a cotizar?'
Leer dos2cantproducto
Escribir 'Dime el precio costo de ', dos1producto
Leer dos1precost
Escribir 'Dime el precio costo de ', dos2producto
Leer dos2precost
// definimos precios costo
dos1preciofinal <- dos1precost/0.6
dos2preciofinal <- dos2precost/0.6
// definimos subtotal de cada producto
dos1sub <- dos1preciofinal*dos1cantproducto
dos2sub <- dos2preciofinal*dos2cantproducto
// definimos subtotal de la cotizaciòn
dossubtotal <- dos1sub+dos2sub
// definimos total con IVA
dosprecioIVA <- dossubtotal*1.19
Escribir 'A continuación la cotización requerida'
Escribir 'Cordial saludo ', Cliente1, ' Con numero de indentificación ', numeroID1
Escribir 'Producto #1 ', dos1producto, ' Valor UND: ', dos1preciofinal, ' Valor X', dos1cantproducto, ' : ', dos1sub
Escribir 'Producto #2 ', dos2producto, ' Valor UND: ', dos2preciofinal, ' Valor X', dos2cantproducto, ' : ', dos2sub
Escribir 'SUBTOTAL: ', dossubtotal
Escribir 'TOTAL: ', dosprecioIVA
Escribir 'La oferta tiene una valides de 15 dias habiles a partir de ', fecha
Escribir 'ATT ', asesor
3:
// definimos los productos como un caracter
Definir tres1producto, tres2producto, tres3producto Como Cadena
// definimos los valores como un numero real
Definir tres1precost, tres2precost, tres3precost, tres1cantproducto, tres2cantproducto, tres3cantproducto, tres1preciofinal, tres2preciofinal, tres3preciofinal, tres1sub, tres2sub, tres3sub, tressubtotal, tresprecioIVA Como Real
// inicializamos los valores en 0
tres1precost <- 0
tres2precost <- 0
tres3precost <- 0
tres1cantproducto <- 0
tres2cantproducto <- 0
tres3cantproducto <- 0
tres1preciofinal <- 0
tres2preciofinal <- 0
tres3preciofinal <- 0
tres1sub <- 0
tres2sub <- 0
tres3sub <- 0
tressubtotal <- 0
tresprecioIVA <- 0
// dar informaciòn de los productos
Escribir 'Seleccionaste cotizador para 2 productos'
Escribir 'Proporcionar producto #1'
Leer tres1producto
Escribir 'Proporcionar producto #2'
Leer tres2producto
Escribir 'Proporcionar producto #'
Leer tres3producto
// dar cantidad de los productos
Escribir '¿Cuantos ', tres1producto, ' vas a cotizar?'
Leer tres1cantproducto
Escribir '¿Cuantos ', tres2producto, ' vas a cotizar?'
Leer tres2cantproducto
Escribir '¿Cuantos ', tres3producto, ' vas a cotizar?'
Leer tres3cantproducto
// dar costos de los productos
Escribir 'Dime el precio costo de ', tres1producto
Leer tres1precost
Escribir 'Dime el precio costo de ', tres2producto
Leer tres2precost
Escribir 'Dime el precio costo de ', tres3producto
Leer tres3precost
// definimos precios costo
tres1preciofinal <- tres1precost/0.6
tres2preciofinal <- tres2precost/0.6
tres3preciofinal <- tres3precost/0.6
// definimos subtotal de cada producto
tres1sub <- tres1preciofinal*tres1cantproducto
tres2sub <- tres2preciofinal*tres2cantproducto
tres3sub <- tres3preciofinal*tres3cantproducto
// definimos subtotal de la cotizaciòn
tressubtotal <- tres1sub+tres2sub+tres3sub
// definimos total con IVA
tresprecioIVA <- tressubtotal*1.19
Escribir 'A continuación la cotización requerida'
Escribir 'Cordial saludo ', Cliente1, ' Con numero de indentificación ', numeroID1
Escribir 'Producto #1 ', tres1producto, ' Valor UND: ', tres1preciofinal, ' Valor X', tres1cantproducto, ' : ', tres1sub
Escribir 'Producto #2 ', tres2producto, ' Valor UND: ', tres2preciofinal, ' Valor X', tres2cantproducto, ' : ', tres2sub
Escribir 'Producto #3 ', tres3producto, ' Valor UND: ', tres3preciofinal, ' Valor X', tres3cantproducto, ' : ', tres3sub
Escribir 'SUBTOTAL: ', tressubtotal
Escribir 'TOTAL: ', tresprecioIVA
Escribir 'La oferta tiene una valides de 15 dias habiles a partir de ', fecha
Escribir 'ATT ', asesor
4:
// definimos los productos como un caracter
Definir cuatro1producto, cuatro2producto, cuatro3producto, cuatro4producto Como Cadena
// definimos los valores como un numero real
Definir cuatro1precost, cuatro2precost, cuatro3precost, cuatro4precost, cuatro1cantproducto, cuatro2cantproducto, cuatro3cantproducto, cuatro4cantproducto, cuatro1preciofinal, cuatro2preciofinal, cuatro3preciofinal, cuatro4preciofinal, cuatro1sub, cuatro2sub, cuatro3sub, cuatro4sub, cuatrosubtotal, cuatroprecioIVA Como Real
// inicializamos los valores en 0
cuatro1precost <- 0
cuatro2precost <- 0
cuatro3precost <- 0
cuatro4precost <- 0
cuatro1cantproducto <- 0
cuatro2cantproducto <- 0
cuatro3cantproducto <- 0
cuatro4cantproducto <- 0
cuatro1preciofinal <- 0
cuatro2preciofinal <- 0
cuatro3preciofinal <- 0
cuatro4preciofinal <- 0
cuatro1sub <- 0
cuatro2sub <- 0
cuatro3sub <- 0
cuatro4sub <- 0
cuatrosubtotal <- 0
cuatroprecioIVA <- 0
// dar informaciòn de los productos
Escribir 'Seleccionaste cotizador para 4 productos'
Escribir 'Proporcionar producto #1 '
Leer cuatro1producto
Escribir 'Proporcionar producto #2 '
Leer cuatro2producto
Escribir 'Proporcionar producto #3 '
Leer cuatro3producto
Escribir 'Proporcionar producto #4 '
Leer cuatro4producto
// dar cantidad de los productos
Escribir '¿Cuantos ', cuatro1producto, ' vas a cotizar?'
Leer cuatro1cantproducto
Escribir '¿Cuantos ', cuatro2producto, ' vas a cotizar?'
Leer cuatro2cantproducto
Escribir '¿Cuantos ', cuatro3producto, ' vas a cotizar?'
Leer cuatro3cantproducto
Escribir '¿Cuantos ', cuatro4producto, ' vas a cotizar?'
Leer cuatro4cantproducto
// dar costos de los productos
Escribir 'Dime el precio costo de ', cuatro1producto
Leer cuatro1precost
Escribir 'Dime el precio costo de ', cuatro2producto
Leer cuatro2precost
Escribir 'Dime el precio costo de ', cuatro3producto
Leer cuatro3precost
Escribir 'Dime el precio costo de ', cuatro4producto
Leer cuatro4precost
// definimos precios costo
cuatro1preciofinal <- cuatro1precost/0.6
cuatro2preciofinal <- cuatro2precost/0.6
cuatro3preciofinal <- cuatro3precost/0.6
cuatro4preciofinal <- cuatro4precost/0.6
// definimos subtotal de cada producto
cuatro1sub <- cuatro1preciofinal*cuatro1cantproducto
cuatro2sub <- cuatro2preciofinal*cuatro2cantproducto
cuatro3sub <- cuatro3preciofinal*cuatro3cantproducto
cuatro4sub <- cuatro4preciofinal*cuatro4cantproducto
// definimos subtotal de la cotizaciòn
cuatrosubtotal <- cuatro1sub+cuatro2sub+cuatro3sub+cuatro4sub
// definimos total con IVA
cuatroprecioIVA <- cuatrosubtotal*1.19
Escribir 'A continuación la cotización requerida'
Escribir 'Cordial saludo ', Cliente1, ' Con numero de indentificación ', numeroID1
Escribir 'Producto #1 ', cuatro1producto, ' Valor UND: ', cuatro1preciofinal, ' Valor X', cuatro1cantproducto, ' : ', cuatro1sub
Escribir 'Producto #2 ', cuatro2producto, ' Valor UND: ', cuatro2preciofinal, ' Valor X', cuatro2cantproducto, ' : ', cuatro2sub
Escribir 'Producto #3 ', cuatro3producto, ' Valor UND: ', cuatro3preciofinal, ' Valor X', cuatro3cantproducto, ' : ', cuatro3sub
Escribir 'Producto #3 ', cuatro4producto, ' Valor UND: ', cuatro4preciofinal, ' Valor X', cuatro4cantproducto, ' : ', cuatro4sub
Escribir 'SUBTOTAL: ', cuatrosubtotal
Escribir 'TOTAL: ', cuatroprecioIVA
Escribir 'La oferta tiene una valides de 15 dias habiles a partir de ', fecha
Escribir 'ATT ', asesor
FinSegún
FinSegún
FinAlgoritmo


Créditos
Autor: Juan Camilo Galvis Bustos
Editor: Carlos Iván Pinzón Romero.
Código: UCPAG4-2
Universidad: Universidad Central.