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

domingo, 4 de noviembre de 2018

Pseudocódigo: definición y ejemplo


¿Qué es un algoritmo?

“Conjunto ordenado de operaciones sistemáticas que permite hacer un cálculo y hallar la solución de un tipo de problemas.” (Real Academia Española [RAE], 2014, 23a ed.)
Considerando: 
  • Un tipo especial de datos: números, caracteres o símbolos. 
  • Algoritmos no paralelos, es decir que no se ejecutan al mismo tiempo. 
  • Con operaciones que puedan ser calculadas por un computador (no infinitos, por ejemplo). 
Un algoritmo es una secuencia paso a paso que utiliza datos de entrada para generar una solución. 


¿Qué es un pseudocódigo?

Son una mezcla entre lenguaje natural (dependiendo del idioma) y sintaxis de lenguajes de alto nivel, que permite no está atado a ningún lenguaje en particular, presentando ventajas para explicar algoritmos más complejos que los que se puede presentar mediante diagramas de flujo. 

Los diagramas de flujos o flujogramas 

Es una manera de representar un algoritmo de manera gráfica. Cumplen con seguir el estándar ISO, estando conectados mediante flechas que indican la dirección que toma el algoritmo. Su uso es recomendado para algoritmos simples o pequeños, ya que resulta laboriosa su construcción para algoritmos más complejos que pueden ser mejor entendidos mediante el pseudocódigo.

Ejemplo de pseudocógido con su diagrama de flujo



Proceso cuadraticas
  Escribir "Dada la ecuación_ ax^2 + bx + c = 0"
  Escribir "ingrese los valores de los coeficientes a, b y c"
  Leer a b c
  discriminante<- a="" as="" b-raiz="" b="" c="" code="" complejas="" de="" discriminante="" ecuaci="" entonces="" es:="" escribir="" fin="" finproceso="" l="" la="" n="" raices="" saltar="" si="" sin="" sino="" son:="" tiene="" x1=" Sin Saltar x1
    Escribir " x2=" Sin Saltar x2
    Escribir ">

Fuentes:

RAE (Real Academia Española). (2014). Diccionario de la lengua española (23a ed.). Recuperado de: http://dle.rae.es/index.html


ISO 9001 (sf.). Cómo elaborar un Flujograma. Recuperado de: http://iso9001calidad.com/como-elaborar-un-flujograma-136.html

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...