viernes, 13 de diciembre de 2019

Creando una mariposa en PSeInt

En esta ocasión se muestra el código para crear una figura de una "mariposa" empleando el caracter "@", se puede realizar con otro caracter como el "*" o"#".

Código completo


Proceso Mariposa
   Definir cade Como Caracter 
   Escribir "Ingrese el tamaño"
   Leer ta
   Para i <- 1 Hasta ta Con Paso 1 Hacer
     cade<-""
     Para j<-1 Hasta ta Con Paso 1 Hacer
       Si i<=ta/2 Entonces    
         Si j<=i o j>ta-i Entonces
           cade<-cade+"@"
         SiNo
           cade<-cade+" "
         FinSi
       SiNo
         Si j>i o j<=ta-i Entonces
           cade<-cade+"@"
         SiNo
           cade<-cade+" "
         FinSi
       FinSi   
     FinPara
     Escribir cade
   FinPara
FinProceso


Variables


Tenemos dos variables que son "cade" y "ta", estas representan a cada línea de la mariposa (horizontal) y el tamaño que tendrá la mariposa respectivamente. Al ser "ta" una variable de entrada, se deben de leer. Por ello le pedimos al usuario que indique el tamaño, si el usuario coloca 6 tendrá una mariposa que tiene 6 filas por 6 columnas, si coloca 10 tendrá una de 10 columnas por 10 filas y así sucesivamente. Por ello, tenemos dos estructuras repetitivas "PARA" una dentro de otra.

Proceso


En cada ciclo (que representa cada fila) se reinicia la variable "cade", para que sea reescrita en cada iteración. En cada columna se valida si supera o no al tamaño medio (ta/2), en el primer condicional se evalúa posteriormente que vaya del inicio subiendo de uno en uno o desde el final retrocediendo de uno en uno y en esos casos se escribe una "@", caso contrario se escriben espacios en blanco (" ").

Luego que supera a la mitad de filas se debe replantear al condicional con otro que hace lo opuesto del anterior, va escribiendo filas con "@" y cada vez más espacios en blanco en medio y eso genera la mariposa final.

lunes, 30 de septiembre de 2019

Creando un Reloj con PseInt

Código


El reloj que se ha realizado en PseInt primero pide la hora, minutos y segundos con los que va a iniciar, mediante el uso de estructuras repetitivas valida datos correctos y posteriormente muestra la hora ingresada y avanza tal cual lo hace un reloj de segundo en segundo mediante la función ESPERAR

Proceso reloj
   Definir hora, minuto, segs Como Entero
   Repetir
     Escribir "Ingrese la hora"
     Leer hora 
   Hasta Que hora>=0 Y hora <24
   Repetir
     Escribir "Ingrese los minutos"
     Leer minuto  
   Hasta Que hora>=0 Y hora <60
   Repetir
     Escribir "Ingrese los segundos"
     Leer segs  
   Hasta Que hora>=0 Y hora <60
   Escribir "Presiona una tecla para comenzar"
   Esperar Tecla
   Mientras Verdadero Hacer
     Limpiar Pantalla
     Si hora<10 Entonces
       Escribir "0" hora Sin Saltar
     Sino
       Escribir hora Sin Saltar
     FinSi
     Escribir " : " Sin Saltar
     Si minuto<10 Entonces
       Escribir "0" minuto Sin Saltar
     Sino
       Escribir minuto Sin Saltar
     FinSi  
     Escribir " : " Sin Saltar
     Si segs<10 Entonces
       Escribir "0" segs
     Sino
       Escribir segs
     FinSi
     segs<-segs+1  
     Si segs=60 Entonces
       minuto<-minuto+1
       segs<-0
       Si minuto=60 Entonces
         hora<- hora+1
         minuto<-0
         Si  hora=24 Entonces
           hora<-0
         FinSi
       FinSi
     FinSi 
     Esperar 1 Segundo  
   FinMientras
FinProceso

miércoles, 18 de septiembre de 2019

Ejercicios con PseInt de estructuras repetitivas - Avanzado


EJERCICIO #1


Crear una calculadora de MCD en pseudocódigo, que permita ingresar dos números y muestre el MCD. Solo se debe permitir ingresar números enteros positivos




EJERCICIO #2


Realizar un pseudocódigo que permita ingresar un número positivo, luego una base menor a 10 y devuelva el número en dicha base.




EJERCICIO #3


Crear un pseudocódigo que permita ingresar una frase u oración y devuelva la cantidad de vocales que hay.




EJERCICIO #4


Crear un algoritmo que simule "n" lanzamientos de un dado y muestre el valor que salió en cada lanzamiento. Finalmente debe mostrar una tabla resumen de cuantas veces salio cada valor. Nota: use arreglos




EJERCICIO #5


Desarrollar un pseudocódigo que permita calcular el sueldo mensual de "n" empleados de una empresa. Se ingresa el nombre, categoria y número horas trabajadas. Si la categoría es A, el pago por hora es de 50 soles, si es B es de 35 soles, si es C es de 25 soles y si es D es de 21 soles. Luego mostrar el pago que le corresponde a cada trabajador, el pago total que se debe hacer, el total de trabajadores que ganan menos de 1000 soles, el total que ganan desde 1000 soles a 4000 soles y los que ganan más de 4000 soles.

Ejercicios con PseInt de estructuras repetitivas - Intermedio


EJERCICIO #1


Crear una calculadora en pseudocódigo, que permita ingresar un número positivo y lo devuelva en binario.




EJERCICIO #2


Realizar un pseudocódigo que permita calcular el factorial de un número entero positivo. Nota: Mostrar 1 si se pide calcular el factorial de cero.




EJERCICIO #3


Realizar un pseudocódigo que permita calcular el monto total de sueldos de todos los empleados de N empleados de una empresa para el mes de Junio. Se ingresa el nombre, número de días programados y número de días que faltó por cada empleado. Además, se pide el monto total de sueldos de todos los empleados. El pago por día a cada empleado es 50 soles y el descuento por día de falta es de 100% del pago diario.




EJERCICIO #4


Desarrollar un pseudocódigo que luego de ingresar 2 números naturales, donde el segundo debe ser mayor que el primero, por teclado. Luego imprima los números naturales pares que hay entre ambos empezando por el menor y luego haga el mismo proceso para los impares




EJERCICIO #5


Crear una algoritmo en pseudocódigo que permita ingresar un número positivo y muestre el número de cifras totales, el número de cifras pares e impares

Ejercicios con PseInt de estructuras repetitivas - Básico


EJERCICIO #1


Construir un pseudocódigo que solo permita ingresar números positivos, en caso de que el número no sea positivo debe volver a pedir que se ingrese el número hasta que el usuario ingrese un número positivo, luego mostrar el número.




EJERCICIO #2


Realizar un pseudocódigo que solo permita ingresar dos números diferentes, sin finalizar el proceso, luego muestre el menor y el mayor




EJERCICIO #3


Realizar un pseudocódigo que muestre la frase: "¿Que podría ser peor?" diez veces usando la estructura repetitiva para.




EJERCICIO #4


Crear una algoritmo en pseudocódigo que permita ingresar un número entre 0 y 12, luego muestre la tabla de multiplicar de dicho número del 0 al diez




EJERCICIO #5


Desarrollar un pseudocódigo que luego de ingresar 2 números naturales, donde el segundo debe ser mayor que el primero, por teclado. Luego imprima los números naturales que hay entre ambos empezando por el mayor.

viernes, 13 de septiembre de 2019

Ejercicios con PseInt de estructuras condicionales - Avanzado


EJERCICIO #1


Construir un pseudocódigo que permita el sueldo base de un trabajador (asumimos que el usuario ingresa un valor mayor a cero), su categoría (A,B o C) y la cantidad de hijos (asumimos que el usuario ingresa un valor mayor o igual que cero). Luego calcule y muestre su sueldo bruto de acuerdo a las siguientes tablas:

Categoría Aumento
A 10% de su sueldo base
B 20% de su sueldo base
C 15% de su sueldo base


Número de hijos Bono
Ninguno 0 soles
De 1 a 3 200 soles
De 4 a 6 350 soles
De 7 a más 500 soles





EJERCICIO #2


Construir un pseudocódigo que permita ingresar la fecha de un año (valor mayor que cero) y muestre un mensaje indicando si es bisiesto o no. Nota: Mostrar una advertencia si se ingresa un valor menor igual que cero.




EJERCICIO #3


Realizar un pseudocódigo que permita calcular el sueldo semanal de un trabajador. El programa debe pedir el total de horas trabajadas en la semana y el pago por hora. Si el total de horas trabajadas es mayor a 48 la diferencia de horas se considera como horas extras y se pagan un 50% más que una hora normal. Si el sueldo obtenido es mayor a S/ 500.00 se descuenta un 11% en caso contrario el descuento es del 5%. El programa debe mostrar el total de horas laboradas, la cantidad de horas extra, el sueldo sin descuentos y su sueldo final




EJERCICIO #4


Construir un pseudocódigo que permita ingresar un numero natural de dos a tres cifras y muestre el mensaje "Es capicúa" o "No es capicúa" según sea el caso. Nota: mostrar una advertencia si el número no es de 2 o 3 cifras.




EJERCICIO #5


Desarrollar un pseudocódigo que permita ingresar un año, valide que sea mmayor que cero, luego un mes (validando que se encuentra entre 1 y 12). Finalmente el día y muestre un mensaje señalando si la fecha existe. Nota: en caso la fecha no exista mostrar una advertencia.

Ejercicios con PseInt de estructuras condicionales - Intermedio


EJERCICIO #1


Construir un pseudocódigo que permita ingresar un número y devuelva un mensaje de acuerdo a la siguiente tabla:

Valor Mensaje
Menor de 0 Negativo
Igual a 0 Neutro
Mayor de 0 Positivo





EJERCICIO #2


Construir un pseudocódigo que permita ingresar dos número y un símbolo (+,-,x,÷) y dependiendo del operador devuelva la suma, la diferencia, el producto o la división. Nota: verificar que el divisor no sea cero y mostrar una advertencia si se ingresa un valor diferente a esos símbolos




EJERCICIO #3


Realizar un pseudocódigo que permita ingresar tres números (asumimos que el usuario ingresa tres números diferentes) y nos muestre el menor de ellos.




EJERCICIO #4


Construir un algoritmo que al ingresar un número desde 1 hasta el 29. Luego muestre en pantalla el número escrito en forma literal. Por ejemplo, si se ingresa 12 debe mostrar doce.




EJERCICIO #5


Desarrollar un pseudocódigo que permita ingresar las medidas de los tres lados de un triángulo y mostrar en pantalla si el triángulo es equilátero, isóceles, escaleno o no puede existir.

Ejercicios con PseInt de estructuras condicionales - Básico


EJERCICIO #1


Construir un pseudocódigo que permita ingresar un número, si el número es mayor de 500, se debe calcular y mostrar en pantalla el 18% de este.




EJERCICIO #2


Realizar un pseudocódigo que permita ingresar un número, si el número es menor de 100 debe mostrar el 10% del número, en caso contrario debe mostrar el 20% del número.




EJERCICIO #3


Realizar un pseudocódigo que permita ingresar dos números (asumimos que el usuario ingresa dos números diferentes) y nos muestre el mayor de ambos.




EJERCICIO #4


Crear una calculadora de división en pseudocódigo, que permita ingresar dos números y muestre el cociente. En caso de ingresar cero en el divisor nos debe decir: "No se puede dividir entre cero"




EJERCICIO #5


Desarrollar un pseudocódigo que permita ingresar dos números, si son diferentes los debe multiplicar en caso contrario los debe sumar y mostrar el resultado en pantalla.

viernes, 21 de junio de 2019

Ejercicios con PseInt de estructuras secuenciales - Avanzado


EJERCICIO #1


Construir un pseudocódigo que que calcule la distancia entre dos puntos cuyas coordenadas se ingresan al algoritmo.




EJERCICIO #2


Construir un algoritmo que convierta un número entre 8 y 15 a binario. (No utilizar estructuras condicionales y asumir que el usuario solo ingresa valores entre 8 y 15)




EJERCICIO #3


Un padre repartirá una cantidad de dinero entre sus cinco hijos. Cada uno recibirá una cantidad equivalente a:
  • Tamara: 85% del monto recibido por Josué
  • Josué: 27% de la cantidad a repartir
  • Caleb: 23% del monto total recibido entre Josué y Daniel
  • Daniel: 25% de la cantidad a repartir
  • David: lo que queda del dinero a repartir

Dada la cantidad de dinero a repartir, desarrolle un pseudocodigo que determine cuánto de dinero recibirá cada hijo. (Asumimos que el usuario ingresa valores positivos en la cantidad de dinero a repartir)




EJERCICIO #4


Realizar un pseudocódigo que permita ingresar el número de lados de un polígono regular y la medida de sus lados. Luego muestre el perímetro y área del polígono(Asumimos que el usuario ingresa valores positivos)




EJERCICIO #5


Desarrollar un pseudocódigo que permita ingresar una oración, luego devuelva el texto en minúsculas, mayúsculas y la primera letra en mayúsculas y las demás en minúsculas.

Ejercicios con PseInt de estructuras secuenciales - Intermedio


EJERCICIO #1


Construir un pseudocódigo que permita ingresar el precio base de un vehículo y calcule la comisión e impuesto que son el 12% y 18% y el precio final (Asumimos que el usuario solo ingresa valores mayores a cero en el precio base)




EJERCICIO #2


Realizar un pseudocódigo que solicite los nombres, apellidos, sueldo base, número de hijos y número de horas extra de un trabajador. Luego debe mostrar en pantalla su sueldo bruto que es el sueldo base más 100 soles por hijo y 25 soles por hora extra, luego el monto de su AFP (descuento) que equivale al 11% del sueldo bruto y finalmente su sueldo neto que es el resultado del sueldo bruto menos su AFP (Asumimos que el usuario solo ingresa valores mayores a cero en el sueldo base y mayores o iguales a cero en número de hijos y horas extra)




EJERCICIO #3


Realizar un pseudocódigo que permita ingresar un el sueldo base de un vendedor, el valor de las 3 ventas que realiza y muestre la comisión por sus ventas(el 10% del total de ventas) y su sueldo final (Asumimos que el usuario ingresa valores positivos)




EJERCICIO #4


Realizar un pseudocódigo que permita ingresar un el nombre de un equipo, los partidos ganados, empatados y perdidos y muestre su puntaje, si por cada ganado le dan 3 puntos, por empatado 1 y por perdido 0 (Asumimos que el usuario ingresa valores positivos)




EJERCICIO #5


Desarrollar un pseudocódigo que permita ingresar un monto de inversión en soles y lo reparta en la refacción de cinco avenidas de la siguiente manera:
  • Avenida La Mar - 35% del monto
  • Avenida Abancay - 25% del monto
  • Avenida 28 de Julio - 10% del monto
  • Avenida Aviación - 15% del monto
  • Avenida Tacna - restante del monto
Mostrar cuanto le correspondería a cada avenida.

lunes, 17 de junio de 2019

Ejercicios con PseInt de estructuras secuenciales - Básico


EJERCICIO #1


Construir un pseudocódigo para calcular el perímetro y área de un rectángulo. (Asumimos que el usuario solo ingresa valores mayores a cero y en metros)




EJERCICIO #2


Realizar un pseudocódigo que pida el radio de un círculo y devuelva el valor del área y su perímetro (Asumimos que el usuario solo ingresa valores mayores a cero y en metros)




EJERCICIO #3


Realizar un pseudocódigo que permita ingresar un número y nos devuelve el doble, la mitad y el cuadrado de dicho número




EJERCICIO #4


Crear una calculadora de adición, sustracción y multiplicación en pseudocódigo, que permita ingresar dos números y muestre la suma, resta y producto.




EJERCICIO #5


Desarrollar un pseudocódigo que convierta grados centígrados a grados Fahrenheit, grados kelvin y grados Rankine. El algoritmo debe mostrar los grados centígrados y las conversiones obtenidas.

jueves, 13 de junio de 2019

Estructuras repetitivas REPETIR HASTA QUE - PSeInt (Ejemplo)

Supongamos el siguientes enunciados:

  1. Elabore un programa que permita ingresar los nombres, apellidos y nota final de un estudiante, si la nota ingresada se encuentra fuera del rango de 0 a 20, el programa debe pedir nuevamente la nota hasta que esta se encuentre en el intervalo de 0 a 20. El programa no debe pedir nuevamente el nombre ya ingresado o reiniciarse.

Solución:


  • Primero debemos definir cuales serán las variables con las que trabajaremos.  En el pseudocódigo se hace mediante la palabra reservada Definir, en los lenguajes de programación de alto nivel se hace mediante las palabras reservadas: var, int, String, Float, Decimal, etc. 

Definir nombres, apellidos Como Caracter
Definir nota Como Entero

  • Luego debemos pedir que el usuario ingrese los datos del estudiante, pero para ello debemos escribir en pantalla un mensaje pidiéndole dicho valor. Para mostrar texto se usa la palabra reservada Escribir (el los lenguajes de alto nivel se usan palabras reservadas como cout, echo, etc) y para leer un valor que el usuario ingresa por teclado se usa la palabra reservada Leer (el los lenguajes de alto nivel se usan palabras reservadas como cin, scanner, etc.)

Escribir "Ingrese los nombres del estudiante"
Leer nombres
Escribir "Ingrese los apellidos del estudiante"
Leer apellidos

  • Empleamos la estructura REPETIR HASTA QUE (el los lenguajes de alto nivel se usan palabras reservadas como DO WHILE) que nos va permitir evaluar el valor ingresado.

Repetir
   Escribir "Ingrese la nota final del estudiante";
   Leer nota
Hasta Que nota <= 20 Y nota >= 0

Nota: Se inicia el bucle pidiendo la nota, si esta es menor de 0 o mayor de 20, se repite el proceso, pero si la nota se encuentra dentro del rango de 0 a 20, solo se ejecutaría una vexz el bucle, pero mientras el usuario ingrese una nota no válida, se le estará pidiendo que ingrese la corrercta.

Código completo:

Proceso nota_valida
   Definir nombres, apellidos Como Caracter
   Definir nota Como Entero

   Escribir "Ingrese los nombres del estudiante"
   Leer nombres
   Escribir "Ingrese los apellidos del estudiante"
   Leer apellidos

   Repetir
      Escribir "Ingrese la nota final del estudiante";
      Leer nota
   Hasta Que nota <= 20 Y nota >= 0

   Escribir "Los datos del estudiante son: ", apellidos, " ,", nombres
   Escribir "Su nota final es: ", nota
FinProceso

Estructuras repetitivas MIENTRAS - PSeInt (Ejemplo)

Supongamos el siguientes enunciados:

  1. Elabore un programa que permita ingresar un número y calcule el número de cifras.

Solución:


  • Primero debemos definir cuales serán las variables con las que trabajaremos.  En el pseudocódigo se hace mediante la palabra reservada Definir, en los lenguajes de programación de alto nivel se hace mediante las palabras reservadas: var, int, String, Float, Decimal, etc. 

Definir num, cifras Como Entero
cifras <- 1

  • Luego debemos pedir que el usuario ingrese la edad de la persona, pero para ello debemos escribir en pantalla un mensaje pidiéndole dicho valor. Para mostrar texto se usa la palabra reservada Escribir (el los lenguajes de alto nivel se usan palabras reservadas como cout, echo, etc) y para leer un valor que el usuario ingresa por teclado se usa la palabra reservada Leer (el los lenguajes de alto nivel se usan palabras reservadas como cin, scanner, etc.)

Escribir "Ingrese el número"
Leer num

  • Cuando ingresemos el número, desconocemos el número de cifras de este, entonces utilizamos una estructura repetitiva que nos permite repetir sentencias mientras se cumpla una condición, en este caso, utilizamos la sentencia MIENTRAS (el los lenguajes de alto nivel se usa por lo general la palabra reservada WHILE), esta permite establecer una condición, y si se cumple esta condicion el bucle se ejecuta, hasta que la condición sea falsa.

Mientras num / 10 > 1 Hacer
   cifras <- cifras + 1
   num <- TRUNC(num / 10)
FinMientras

Nota: Se inicia el bucle evaluando la condición que al dividir el número entre 10, este resulta mayor que 1, en caso se introduzca 7, este resultado no será meor de 1 y la cantidad de cifras es 1, pero si se introduce 12 la división resulta 1.2 y al ser mayor de 1, se aumenta cifras de 1 a 2 y el numero se divide entre 10 quitándole la parte decimal con la función TRUNC (ver aquí más)

Código completo:

Proceso calcular_cifras
   Definir num, cifras Como Entero
   cifras <- 1

   Escribir "Ingrese el número"
   Leer num

   Mientras num / 10 > 1 Hacer
      cifras <- cifras + 1
      num <- TRUNC(num / 10)
   FinMientras

   Escribir "La cantidad de cifras del número es: ", cifras
FinProceso

Estructuras repetitivas PARA - PSeInt (Ejemplo)

Supongamos el siguientes enunciados:

  1. Elabore un programa que permita ingresar la edad de diez personas e imprima en pantalla la edad mayor

Solución:


  • Primero debemos definir cuales serán las variables con las que trabajaremos.  En el pseudocódigo se hace mediante la palabra reservada Definir, en los lenguajes de programación de alto nivel se hace mediante las palabras reservadas: var, int, String, Float, Decimal, etc. 

Definir edad, edad_max Como Entero
edad_max <- 0

  • Luego debemos pedir que el usuario ingrese la edad de la persona, pero para ello debemos escribir en pantalla un mensaje pidiéndole dicho valor. Para mostrar texto se usa la palabra reservada Escribir (el los lenguajes de alto nivel se usan palabras reservadas como cout, echo, etc) y para leer un valor que el usuario ingresa por teclado se usa la palabra reservada Leer (el los lenguajes de alto nivel se usan palabras reservadas como cin, scanner, etc.)

Escribir "Ingrese la edad de la persona #"
Leer edad

  • Esas sentencias para leer edades deben de repetirse durante 10 veces, entonces utilizamos una estructura repetitiva que nos permite repetir sentencias un determinado número de veces, en este caso, utilizamos la sentencia PARA (el los lenguajes de alto nivel se usa por lo general la palabra reservada FOR), esta permite establecer un valor de inicio, luego un valor final y de cuanto en cuanto irá avanzando el bucle.

Para cont<-1 Hasta 10 Con paso 1 Hacer
   Escribir "Ingrese la edad de la persona #", cont
   Leer edad
   Si edad > edad_max Entonces
      edad_max <- edad
   FinSi
FinPara

Nota: Se inicia el bucle con la variable "cont" con valor 1, luego de la palabra reservada "hasta" se coloca el ultimo valor que tomará la variable "cont", en este caso 10 porque queremos repetir el proceso 10 veces. Finalmente, la palabra resevada "Con paso" nos indica de cuanto en cuanto avanza el bucle, en nuestro caso avanzaría de 1 en 1. De tal modo que inicia en 1,sigue 2, luego 3 y así sucesivamente hasta llegar a 10

Código completo:

Proceso calcular_edad 
   Definir edad, edad_max Como Entero
   edad_max <- 0

   Para cont<-1 Hasta 10 Con paso 1 Hacer
      Escribir "Ingrese la edad de la persona #", cont
      Leer edad
      Si edad > edad_max Entonces
         edad_max <- edad
      FinSi
   FinPara

   Escribir "La edad mayor del grupo es: ", edad_max
FinProceso

lunes, 10 de junio de 2019

Lenguajes de intercambio

¿Qué es un lenguaje de intercambio?

Un lenguaje de intercambio es un formato para el intercambio de datos entre aplicaciones informáticas de manera que no necesitan estar codificados en el mismo lenguaje de programación o instalados en un mismo sistema operativo, pero su uso va más allá.

¿Cuándo surgieron?

Surgen en los inicios de los años 90 cuando la proliferación de aplicaciones empezó a mostrar un alarmante problema a futuro que sería: "¿Cómo hacer que dos aplicaciones puedan comunicarse entre ellas si se encuentran codificadas en diferentes lenguajes de programación?"

¿Qué beneficios traen?

Transmitir información entre un programa realizado en JAVA y otro en PHP se podría realizar almacenando los datos en una base de datos mediante el primer programa y el segundo lea la base de datos, pero que pasaría si una de las aplicaciones no pudiera tener acceso a la base de datos y se requiere que la aplicación en JAVA reciba los datos desde la aplicación en PHP. Este caso se da cuando construimos aplicaciones móviles para Android, este si bien puede manejar su propia base de datos como un SQLite, no podría leer directamente datos desde un servidor MySQL, mientras que la aplicación en PHP si puede hacerlo y enviarle la información al programa en JAVA, y para que ambos entiendan la información a enviar es que se aprovecha un lenguaje de intercambio mediante Web Services.

¿Cuáles son los más usados?

Actualmente tenemos tres: XML, Json y YAML, XML es un lenguaje de marcado formal, mientras que Json y YAML son formatos inspirados en la sintaxis humana más que la de las computadoras utilizando texto plano en su totalidad, todos tienen sus ventajas y desventajas y están deben ser analizadas por los proveedores de Web Services y API Rest o SOAP para elegir el más conveniente

XML (Extensible Markup Language)

Inicialmente apareció el XML, un tipo de lenguaje de marcado como el HTML que mediante etiquetas permitía estandarizar la forma de intercambiar datos entre aplicaciones.

Por ejemplo si queremos transmitir la siguiente información: un usuario llamado Jhon que posee un correo que es jhon@mail.com y un número de teléfono que es 999999999 mediante XML, haríamos lo siguiente:

<persona>
   <nombre>Jhon</nombre>
   <contacto>
      <correo>jhon@mail.com</correo>
      <telefono>999999999</telefono>
   </contacto>
</persona>

Podemos identificar que existe una etiqueta llamada persona que contiene como atributos un nombre y un contacto, este contacto a la vez contiene información sobre un correo y un teléfono.


Json (JavaScript Object Notation)

Inicialmente apareció el XML, un tipo de lenguaje de marcado que nació de la notación en texto plano de los objetos de JavaScript, posee una simpleza que lo hizo muy popular e incluso uno de los responsables que el lenguaje de marcado HTML sobreviviera hasta nuestros días frente a la que iba ser su evolución (XHTML).

Por ejemplo si queremos transmitir la siguiente información: un usuario llamado Jhon que posee un correo que es jhon@mail.com y un número de teléfono que es 999999999 mediante Json, haríamos lo siguiente:

{
   "persona"{
      "nombre" : "Jhon"
      "contacto"{
         "correo" : "jhon@mail.com"
         "telefono" : "999999999"
      }
   }
}

Podemos identificar que existe una campo llamado persona que contiene como atributos un nombre y un contacto, este contacto a la vez contiene información sobre un correo y un teléfono, todos escritos como texto plano entre comillas dobles.

YAML(Ain't Markup Language)

Su traducción significa: "no es un lenguaje de marcado", aunque en su concepción se le trató y llamó como un lenguaje de marcado al igual que XML, actualmente se hace una distinción entre los lenguajes de marcado y los formatos para intercambio de datos como YAML o Json considerándolos como lenguajes de "marcado ligero".

Por ejemplo si queremos transmitir la siguiente información: un usuario llamado Jhon que posee un correo que es jhon@mail.com y un número de teléfono que es 999999999 mediante Yaml, haríamos lo siguiente:

---
   persona
     -nombre: Jhon
      contacto:
         -correo :jhon@mail.com
          telefono :999999999

Podemos identificar que existe una etiqueta llamada persona que contiene como atributos un nombre y un contacto, este contacto a la vez contiene información sobre un correo y un teléfono.




miércoles, 1 de mayo de 2019

Operadores lógicos - PseInt


En PseInt tenemos diversas operaciones lógicas que utilizamos en las estructuras condicionales:


Operador Operador en PseInt Ejemplo
Conjunción ( y ) &
Y
verdadero Y verdadero = verdadero
verdadero Y falso = falso
falso Y verdadero = falso
falso Y falso = falso
Disyunción ( o ) |
O
verdadero O verdadero = verdadero
verdadero O falso = verdadero
falso O verdadero = verdadero
falso O falso = falso
Negación ( no ) ~
NO
NO verdadero = falso
NO falso = verdadero


Además, PseInt nos permite realizar comparaciones numéricas

Operador Operador en PseInt Ejemplo
Mayor >12 > 10 = verdadero
20 > 30 = falso
Mayor o igual >= 12 >= 12 = verdadero
12 >= 10 = verdadero
Menor <2 < 10 = verdadero
12 < 10 = falso
Menor o igual <=2 <= 10 = verdadero
10 <= 10 = verdadero
Igual = "hola" =  "hola" = verdadero
12 = 10 = falso
Diferente <>12 <> 10 = verdadero
12 <> 12 = falso


Ejemplo implementado en Pseudocódigo

Crearemos un algoritmo que pida ingresar usuario y contraseña, donde el usuario será JHON y la contraseña será 1992, de forma que si alguno de ellos no coinciden nos debe mostrar el mensaje de Acceso Negado, pero si las credenciales fueran válidas nos debe mostrar Acceso concedido.

Proceso validar_contraseña
 Definir usuario,clave Como Caracter 
 Escribir "Ingrese el usuario"
 Leer usuario
 Escribir "Ingrese la clave"
 Leer clave 
 Si usuario="JHON" & clave="1992" Entonces
  Escribir "Acceso concedido"
 Sino
  Escribir "Acceso Negado"
 Fin Si 
FinProceso

Resultados:

Ingrese el usuario
> JHON
Ingrese la clave
> 1992
Acceso concedido

Ingrese el usuario
> JHON
Ingrese la clave
> 1994
Acceso Negado

Operaciones aritméticas - PseInt


En PseInt tenemos diversas operaciones matemáticas que se pueden ejecutar como:


Operación Operador en PseInt Ejemplo
Adición + 10 + 2 = 12
Sustracción - 10 - 2 = 8
Multiplicación * 10 * 2 = 20
División / 10 / 2 = 5
Potencia ^ 10 ^ 2 = 100
Raíz RAIZ
RC
RAIZ(100) = 10
Residuo %
mod
10 % 2 = 0
10 mod 3 = 1
Parte entera TRUNC TRUNC(10 / 3) = 3
TRUNC(2.34) = 2


Además, PseInt nos permite definir un número trascendental muy usado que es Pi, para usarlo solo debemos escribir PI:

Ejemplo: Si queremos calcular el doble de PI colocamos: 2*PI


Ejemplo implementado en Pseudocódigo


Proceso Operadores
 Definir a,b Como Real

 Escribir "Ingrese dos números"
 Leer a, b

 Escribir "La suma es ", (a+b)
 Escribir "La resta es ", (a-b)
 Escribir "El producto es ", (a*b)
 Escribir "La división es ", (a/b)
 Escribir "El cubo del primero es ", (a^3)
 Escribir "La raíz del segundo es ", (RC(b))
 Escribir "El residuo al dividir es ", (a%b)
FinProceso

Resultado:

Ingrese dos números
> 3
> 4
La suma es 7
La resta es -1
El producto es 12
La división es 0.75
El cubo del primero es 27
La raíz del segundo es 2
El residuo al dividir es 3


viernes, 25 de enero de 2019

Estructuras condicionales múltiples - PSeInt (Ejemplo)

Supongamos el siguientes enunciados:

  1. Elabore un programa que permita ingresar el número del mes e imprima en pantalla el nombre del mes correspondiente, si el usuario ingresa un valor fuera del rango de [1-12] mostrar una advertencia.

Solución:


  • Primero debemos definir cuales serán las variables con las que trabajaremos.  En el pseudocódigo se hace mediante la palabra reservada Definir, en los lenguajes de programación de alto nivel se hace mediante las palabras reservadas: var, int, String, Float, Decimal, etc. 

Definir mes Como Entero;

  • Luego debemos pedir que el usuario ingrese el número del mes, pero para ello debemos escribir en pantalla un mensaje pidiéndole dicho valor. Para mostrar texto se usa la palabra reservada Escribir (el los lenguajes de alto nivel se usan palabras reservadas como cout, echo, etc) y para leer un valor que el usuario ingresa por teclado se usa la palabra reservada Leer (el los lenguajes de alto nivel se usan palabras reservadas como cin, scanner, etc.)

Escribir "Ingrese el número del mes (1-12): ";
Leer mes;

  • En lugar de usar multiples sentencias condicionales se hace uso de la sentencia "Segun", seguido de la variable a analizar y luego la palabra reservada "Hacer". Luego para cada valor que el usuario ingrese se tendrá una respuesta. Se coloca el valor seguido de dos puntos ( : ) y luego las sentencias que se ejecutaran para cada caso, par el caso de un valor fuera del rango, se ingresa la expresión "De Otro Modo" seguido de dos puntos ( : ) y luego las sentencias que se ejecutaran.

Segun mes Hacer
        1: Escribir "Enero";
        2: Escribir "Febrero";
        3: Escribir "Marzo";
        4: Escribir "Abril";
        5: Escribir "Mayo";
        6: Escribir "Junio";
        7: Escribir "Julio";
        8: Escribir "Agosto";
        9: Escribir "Septiembre";
        10: Escribir "Octubre";
        11: Escribir "Noviembre";
        12: Escribir "Diciembre";
        De Otro Modo: Escribir "Ingrese un valor entre 1 y 12";
Fin Segun


Código completo:

Proceso nombre_mes
        Definir mes Como Entero; 
        Escribir "Ingrese el número del mes (1-12): "; 
        Leer mes;
        Segun mes Hacer
              1: Escribir "Enero";
              2: Escribir "Febrero";
              3: Escribir "Marzo";
              4: Escribir "Abril";
              5: Escribir "Mayo";
              6: Escribir "Junio";
              7: Escribir "Julio";
              8: Escribir "Agosto";
              9: Escribir "Septiembre";
              10: Escribir "Octubre";
              11: Escribir "Noviembre";
              12: Escribir "Diciembre";
              De Otro Modo: Escribir "Ingrese un valor entre 1 y 12";
        Fin Segun
FinProceso

jueves, 24 de enero de 2019

Estructuras condicionales simples - PSeInt (Ejemplo)

Supongamos el siguientes enunciados:

  1. Elabore un programa que permita ingresar la edad de una persona e imprima en pantalla si es mayor de edad o menor de edad, el sistema solo debe aceptar números enteros que no sean negativos

Solución:


  • Primero debemos definir cuales serán las variables con las que trabajaremos.  En el pseudocódigo se hace mediante la palabra reservada Definir, en los lenguajes de programación de alto nivel se hace mediante las palabras reservadas: var, int, String, Float, Decimal, etc. 

Definir edad Como Entero;

  • Luego debemos pedir que el usuario ingrese la edad de la persona, pero para ello debemos escribir en pantalla un mensaje pidiéndole dicho valor. Para mostrar texto se usa la palabra reservada Escribir (el los lenguajes de alto nivel se usan palabras reservadas como cout, echo, etc) y para leer un valor que el usuario ingresa por teclado se usa la palabra reservada Leer (el los lenguajes de alto nivel se usan palabras reservadas como cin, scanner, etc.)

Escribir "Ingrese la edad de la persona: ";
Leer edad;

  • Luego se hace hace la consulta si el número ingresado es negativo o no, para ello se usa la palabra reservada "Si", luego la expresión a validar y la palabra reservada "Entonces", si fuera negativo imprimirá un ERROR en pantalla, para que se ejecute código en el caso que no se cumpla la condición se usa la palabra reservada "SiNo", en ese momento al ser el valor ingresado un número no negativo se analizará si el valor es menor de 18, en ese caso imprimirá que la persona es menor de edad, caso contrario que la persona es mayor de edad. Finalmente, se cierra la sentencia condicional con la expresión "Fin Si"

Si edad<0 Entonces
        Escribir "ERROR, ingrese un valor válido";
SiNo
        Si edad<18 Entonces
            Escribir "la persona es menor de edad";
        SiNo
            Escribir "la persona es mayor de edad";
        Fin Si
Fin Si


Código completo:

Proceso validar_edad 
        Definir edad Como Entero; 
        Escribir "Ingrese la edad de la persona: "; 
        Leer edad;
        Si edad<0 Entonces
           Escribir "ERROR, ingrese un valor válido";
        SiNo
           Si edad<18 Entonces
              Escribir "la persona es menor de edad";
           SiNo
              Escribir "la persona es mayor de edad";
           Fin Si
        Fin Si 
FinProceso

Estructuras secuenciales - PSeInt (Ejemplo)

Supongamos el siguientes enunciados:

  1. Elabore un programa que permita ingresar 2 números y calcule e imprima en pantalla el valor de su suma, resta y producto.

Solución:


  • Primero debemos definir cuales serán las variables con las que trabajaremos.  En el pseudocódigo se hace mediante la palabra reservada Definir, en los lenguajes de programación de alto nivel se hace mediante las palabras resverdas: var, int, String, Float, Decimal, etc. 

Definir var1, var2, suma, resta, producto Como Entero;

  • Luego debemos pedir que el usuario ingrese los dos números que se operarán, pero para ello debemos escribir en pantalla un mensaje pidiéndole dichos números. Para mostrar texto se usa la palabra reservada Escribir (el los lenguajes de alto nivel se usan palabras reservadas como cout, echo, etc) y para leer un valor que el usuario ingresa por teclado se usa la palabra reservada Leer (el los lenguajes de alto nivel se usan palabras reservadas como cin, scanner, etc.)r

Escribir "Ingrese el primer número: ";
Leer var1;
Escribir "Ingrese el segundo número: ";
Leer var2;

  • Luego se hace el cálculo de la suma, resta y producto, almacenando cada uno de esos resultados en su variable correspondiente, esta asignación de valor se hace mediante la combinación de símbolos menor y guión ( <- ), el los lenguajes de alto nivel se usan símbolos como el igual ( = ). Los operadores aritméticos son para la suma el signo más ( + ), para la resta el guión ( - ) y producto el asterisco ( * )

suma <- var1 + var2;	
resta <- var1 - var2;	
producto <- var1 * var2;

  • Finalmente se muestra en pantalla los resultados, para concatenar (unir dos cadenas de texto), las separamos por comas. En los lenguajes de programación de alto nivel esto se hace mediante el símbolo más ( + ), el punto ( . ), una función como "append" u otros.

Escribir "La suma es: ",suma;
Escribir "La resta es: ",resta;
Escribir "El producto es: ",producto;


Código completo:

Proceso suma_resta_producto	
	Definir var1, var2, suma, resta, producto Como Entero;	
	Escribir "Ingrese el primer número: ";	
	Leer var1;	
	Escribir "Ingrese el segundo número: ";	
	Leer var2;	
	suma <- var1 + var2;	
	resta <- var1 - var2;	
	producto <- var1 * var2;	
	Escribir "La suma es: ",suma;	
	Escribir "La resta es: ",resta;	
	Escribir "El producto es: ",producto;	
FinProceso

Ejercicio con PseInt usando funciones

Las funciones dentro de PseInt se pueden crear mediante la palabra reservada SubProceso, SubAlgortimo o Función. Esto dependerá del estilo d...