El pseudocódigo
La palabra pseudocódigo formada por el prefijo “pseudo“, que según el diccionario de la RAE (Real Academia Española) significa “falso“, de ahí parte para que también sea conocido como “falso lenguaje”.
Dentro de la programación se basa en un lenguaje de programación real, donde se permite expresar las instrucciones en un lenguaje común (ejemplo: español, inglés u otro idioma) para facilitar la escritura y lectura. Debido a que está en lenguaje común si se requiere una modificación es fácil hacerla. La escritura sólo puede ser comprendida por el ser humano y no por la máquina, por ende, tampoco puede ejecutarla.
La finalidad de un pseudocódigo es representar la solución a un algoritmo (problema) de la forma más detallada posible, utilizando acciones sucesivas.
Según Analía Lanzillotta: “Considerado como un lenguaje falso el pseudocódigo, que es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas, pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación”.
En otras palabras, el pseudocódigo es un lenguaje simplificado entre el programador y la máquina, hecho por el programador en su propio idioma, para describir un algoritmo y poder comprender mejor la estructura de dicho programa, donde el lenguaje simplificado no puede ser compilado, ejecutado ni corrido por la máquina. Siendo una herramienta que se encuentra previa al lenguaje formal de programación.
Ejemplo de la aplicación del pseudocódigo
Por ejemplo, un programador tiene que hacer un programa con un fin determinado, utiliza un pseudocódigo propio. En donde influye su lenguaje y algunas palabras de programación (inicio y fin e instrucciones específicas), después ocurre la traducción al lenguaje de programación (donde ya puede ser comprendido por la máquina).
Ejemplo en pseudocódigo
1 2 3 4 5 |
bilbliotecas inicio Mostrar "hola, estás usando C++" fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 |
#include<iostream> //llamamos a la biblioteca de entrada y salida using namespace std; int main() { //inciamos el programa, poniendo la palabra reservada "main" cout<<"hola, estas usando C++"; //mostramos el mensaje return 0; //colocamos un return 0, porque no devuelve nada } //cerramos el programa (bloque) |
Diferentes sintáxis de pseudocódigo
Dependiendo del programador, el pesudocódigo puede variar mucho en su estilo, puede partir desde una imitación casi exacta de algún lenguaje de programación real, hasta acercarse a una simple descripción del programa. Según Wikipedia “no existe una sintaxis estándar para el pseudocódigo“.
Comentarios en pseudocódigo
Permite describir, explicar y sirve para dejar notas hechas por el programador desde un renglón hasta más de uno. Cuando el pseudocódigo es traducido al lenguaje de programación, el comentario es ignorado por la máquina. La simbología utilizada depende del número de renglones si sólo es uno; debe ponerse ” // ” al principio de la oración, pero cuando es más de un renglón de usa ” /* ” al principio y al final (para indicar que el comentario ha terminado) se pone un ” */ “.
Ejemplo en pseudocódigo
1 2 3 4 5 |
//este es un comentario de sólo un renglón /* Este es un comentario de más de un renglón */ |
Ejemplo en el lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 |
#include<iostream> using namespace std; int main(){ cout<<"Hola"; //comentario de un renglón /* Comentario de más de un renglón */ return 0; } |
Las variables en pseudocódigo
Las variables son representación de un espacio de la memoria que guarda un valor que será utilizado para algún proceso, donde dicho valor puede ser modificado durante la ejecución. Están compuestas generalmente por un identificador (nombre que es asignado, donde no puede coincidir con las palabras reservadas, deben comenzar con una letra o guion evitando usar tilde y Ñ o ñ, no debe empezar con número ni espacio, pero si pueden ponerse números después de la primera letra.
Para aprender mas acerca de las variables, revisa este artículo:
Variables de tipo entero en pseudocódigo
La variable puede almacenar números enteros, también puedes usar short y long, la única diferencia está en que almacenan rangos de números diferentes.
Ejemplo en pseudocodigo
1 2 3 4 5 6 |
bibliotecas Inicio entero n //Crear la variable n <- 9 // se le está asignando un valor de "9" a "n". Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 |
#include<iostream> using namespace std; int main(){ int n; //creamos nuestra variable, que tiene como identificador "n", que es de tipo entero n=9; //le decimos al programa que ahora, n es igual a 9 cout<<n; //mostramos la variable n //se mostraría el numero 9 en pantalla return 0; } |
Variable de tipo caracter en pseudocódigo
La variable que puede almacenar cualquier tipo de texto, números y símbolos, es la de carácter.
Ejemplo en pseudocódigo
1 2 3 4 5 6 |
Bibliotecas Inicio Carácter n //crear variable n <- 'A' /* Se le está asignando un caracter, en este caso nuestra variable "n" es igual a "A". Nótese que el carácter se ha puesto entre comillas simples y siempre debe ser colocado así. */ Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 |
#include<iostream> using namespace std; int main(){ char n; //creamos nuestra variable, que tiene como identificador "n", que es de tipo caracter n='A'; //le decimos al programa que ahora, n es igual a A cout<<n; //mostramos la variable n //se mostraría la letra A en pantalla return 0; } |
Variable de tipo número real en pseudocódigo
Son aquellas que contienen números decimales.
Ejemplo en pseudocódigo
1 2 3 4 5 6 7 |
Bibliotecas Inicio Real n //se está indicando que "n" puede tener un valor decimal n <- 3.5; //Le estamos dando un valor a n Mostrar n Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 |
#include<iostream> using namespace std; int main(){ float n; //declaramos nuestr variable, de tipo real, con el identificar "n" n=3.5; //Le asignamos un valor real (decimal) cout<<n; //Mostramos el valor de n return 0; } |
Variable de tipo lógico en pseudocódigo
Representa los valores verdadero o falso, también es llamada Booleano.
Ejemplo en pseudocódigo
1 2 3 4 5 6 7 8 9 10 11 12 |
Bibliotecas Inicio entero n //Se declara (crea) la variable "N" con un dato primitivo entero Mostrar “Usuario, escribe un numero entero ” Leer N Si(N<0) /*Este "si" es una palabra reservada (son palabras usadas por el lenguaje de programación y no deben ser utilizadas como identificadores de variables).*/ Inicio //Cuando se quiere poner una condicional debe abrirse un inicio y un fin (crear un bloque) Mostrar “El número ingresado es menor a 0” Fin//aquí termina, se pone un fin para indicarlo Fin |
Constantes en pseudocódigo
Representa un espacio de memoria que guarda un valor definido y servirá para algún proceso durante el programa, dicho valor es fijo (no se puede modificar).
Nota: hay dos maneras de declarar constantes
Para aprender mas acerca de las constantes, revisa este artículo:
Caso 1: Dentro de la función principal del programa
Ejemplo en pseudocódigo
1 2 3 4 5 6 |
Bibliotecas Inicio Constante real PI <- 3.14159 //Como sugerencia las constantes siempre van en mayúsculas Mostrar PI Fin |
Caso 2: Fuera de la función principal, debajo de las bibliotecas
1 2 3 4 5 6 7 |
Bibliotecas Constante real PI <- 3.14159 //Como sugerencia las constantes siempre van en mayúsculas Inicio Mostrar PI Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 12 |
#include<iostream> #define PI 3.1416 //Caso 2, declarar la constante debajo de las bibliotecas, con la palabra "define" using namespace std; int main(){ const float PI_CASO_1=3.14; //Declaramos una constante, con la palabra reservada "const" de tipo real"flo at" cout<<"Valor de la variable PI_CASO1"<<PI_CASO_1<<endl; //Mostramos el valor de PI_CASO_1 cout<<"Valor de la variable PI"<<PI<<endl; //endl es un salto de linea return 0; } |
Tipos de datos complejos (estructurados) en pseudocódigo
Son aquellos que están constituidos por datos simples y definen una estructura de datos.
–Cadena: representa un conjunto de caracteres.
Ejemplo en pseudocódigo
1 2 3 4 5 6 |
Bibliotecas Inicio n: Cadena //crear variable n <- Juan Gomez // asignar valor Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 12 |
#include<iostream> #include<string> //Agregamos esta biblioteca para el manejo de cadenas en C++ using namdespace std; int main(){ string n; //Declaramos nuestra variable de tipo cadena, con la palabra "string" n="Juan Gomez"; //Notese que coloque la cadena entre comillas cout<<"La cadena string"<<n<<endl; //mostramos en pantalla lo que tiene n //En pantalla se ve "La cadena string Juan Gomez" return 0; } |
Para aprender mas acerca de las cadenas, revisa este artículo:
Operadores en pseudocódigo
Los operadores permiten unir dos elementos a traves de una operación. Existen operadores de distintos tipos
- Aritméticos
- Logicos
- Condicionales
Para aprender mas acerca de operadores, revisa este artículo:
Operadores aritméticos:
Son los que permiten realizar cálculo entre valores constantes y variables.
( + ) suma
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 8 + 3 //suma Fin |
( – ) resta
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 8 - 3 //resta Fin |
( x ) multiplicación.
Nótese que dentro del lenguaje de programación se deberá usar un asterisco ( * ) para indicar que la operación es una multiplicación.
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 8 x 3 //multiplicación Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 |
#include<iostream> using namespace std; int main(){ cout<<"Multiplicación de 8x3"<<8*3; //así se vería en un lenguaje de programación return 0; } |
( / ) División:
La división puede ser en números enteros o en números reales (con decimales)
- División real: Numero_Real=10.0/4.0 //Donde el resultado sería 2.25
- División entera: Numero_Entero=10/5 //El resultado sería 2.
Ejemplo en pseudocódigo
1 2 3 4 5 6 |
Bibliotecas Inicio 8 / 3 //división de enteros 8.2 / 3.0 //división de reales Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 12 |
#include<iostream> using namespace std; int main(){ int Numero_Entero; float Numero_Real; Numero_Entero = 10/5; Numero_Real = 10.0/4.0; cout<<"División de enteros: "<<Numero_Entero<<endl; //El reseultado mostrado en pantalla, sería 5 cout<<"División de reales: "<<Numero_Real; //El resultado mostrado en pantalla sería 2.5 return 0; } |
( mod ) Residuo
Toma el valor del residuo de una división entera, en lenguaje de programación sería “%” depués del número
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 8 mod 3 //modulo o residuo y el resultado será 2 Fin |
( ^ ) Exponentes.
Para elevar un número a una potencia en el lenguaje de programación se usa la función pow(3,2), donde se está indicado que “3” será elevado al cuadrado, éste es indicado por el siguiente número que es “2”.
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 3 ^ 2 //tres elevado al cuadrado Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 |
#include<iostream> #include<cmath> //Incluimos la biblioteca "cmath", para hacer el uso de la funcion pow using namespace std; int main(){ cout<<"Elevar el numero 3 al cuadrado"<<pow(3,2); //así se vería en un lenguaje de programación return 0; } |
Para aprender mas acerca de operadores aritméticos, revisa este artículo:
Operadores relacionales:
Realizan una comparación, permitiendo evaluar si dos valores tienen relación y esta evaluación siempre devolverá un verdadero o un falso.
( = ) Igual
Expresa igualdad, en el lenguaje de programación C++ se expresa así “N == 0”, con doble “=”.
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 3 = 2 // compara que 3 sea igual a 2, devuelve falso Fin |
( < ) Menor
Expresa menor que
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 3 < 2 // compara que 3 sea menor que 2, devuelve falso Fin |
( > ) Mayor
Expresa mayor que
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 3 > 2 // compara que 3 sea mayor que 2, devuelve verdadero Fin |
( <= )
Expresa menor o igual que
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 3 <= 2 // compara que 3 sea menor o igual a 2, devuelve falso Fin |
( >= )
Expresa mayor o igual que
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 3 >= 2 // compara que 3 sea mayor o igual a 2, devuelve verdadero Fin |
( <> ) Diferente
Expresa diferencia, en el lenguaje de programación se expresa así “N != 0”.
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio 3 <> 2 // compara que 3 sea diferente a 2, devuelve verdadero Fin |
Para aprender mas acerca de operadores, revisa este artículo:
Operadores lógicos
Los operadores lógicos permiten unir dos expresiones a través de operaciones logicas “Y” y “O”
Y lógico
“Y”, es decir, que ambas partes se deben cumplir.
En lenguaje de programación sería “&&” (ampersand) en lenguaje de C y en C++ es “and”.
Ejemplo en pseudocódigo
1 2 3 4 5 6 7 8 9 |
Bibliotecas Inicio entero n=5 si n>4 y n<10 //está indicando que "n" debe ser mayor que 4 y menor a 10 Inicio mostrar "La variable n está dentro del rango de 4 y 10" Fin Fin |
Ejemplo en lenguaje de C++
1 2 3 4 5 6 7 8 9 10 11 |
#include<iostream> using namespace std; int main(){ int n=5; //declaramos nuestra variable de tipo entero if(n>4 and n<10) <em>//está formando la condicion que "N" debe ser mayor que 4 y menor a 10</em> { cout<<"La variable n está dentro del rango de 4 y 10"<<endl; } return 0; } |
“O” lógico
“O”, es decir, que alguna de las dos cosas se debe cumplir.
En lenguaje de programación sería “||” en lenguaje de C y en C++ es “or”.
Ejemplo en pseudocódigo
1 2 3 4 5 6 7 8 9 |
Bibliotecas Inicio Entero n=0 si n=0 ó n=1 // está indicando que "n" puede tener un valor igual a 0 ó a 1 Inicio Motrar n es igual a 0 o n es igual a 1 Fin Fin |
Para aprender mas acerca de operadores, revisa este artículo:
Instrucciones en pseudocódigo
Las instrucciones son acciones que debe realizar un algoritmo para resolver un problema.
Las más comunes son:
- Inicio y fin
- Asignación
- Lectura
- Escritura
- Condicional
Instrucción de inicio y fin en pseudocódigo
Representa el inicio y fin de un bloque en el algoritmo.
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio // Aqui se indica que la función principal comienza (espacio de tabulación) instrucciones Fin // Aqui se indica que la función principal termina |
Nótese que el inicio y fin están al mismo nivel de identación.
Instrucción de asignación en pseudocódigo
Representa la asignación de un valor a una variable (la variable es un espacio en la memoria donde se almacena un dato, que puede cambiar durante la ejecución del programa), se puede representar usando una flecha.
Ejemplo en pseudocódigo
1 2 3 4 5 6 |
Bibliotecas Inicio entero n //n es nuestra variable de tipo entero n <- 10 //el valor de nuestra variable "n" es 10 Fin |
Instrucción de lectura en pseudocódio
Representa el ingreso de los datos mediante un dispositivo de entrada (por ejemplo: teclado).
Ejemplo en pseudocódigo
1 2 3 4 5 6 |
Bibliotecas Inicio entero n Leer n //donde los datos que se lean del teclado seran almacenados en nuestra variable "n" Fin |
Instrucción de escritura, impresión o mostrar en pseudocódigo
Representa la salida de la información (como puede ser un mensaje o el proceso de una operación matemática) mediante un dispositivo de salida (por ejemplo: monitor o impresora).
Ejemplo en pseudocódigo
1 2 3 4 5 |
Bibliotecas Inicio Mostrar n Fin |
Instrucción de condicional (división de una cosa en dos opciones):
Usada en la expresión lógica (condición), donde cambia el flujo del programa.
Ejemplo en pseudocódigo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Bibliotecas Inicio entero n Mostrar “Usuario escribe un número entero ” /*Cuando un mensaje es mostrado al usuario se debe poner entre comillas "mensaje mostrado al usuario".*/ Leer n Si(n>10) //Condición donde evalua que la variable debe cumplir la condición de ser mayor a 10 Inicio Mostrar “El número ingresado es mayor a 10” //Se mostrará si cumple la condición (verdadera) Fin Sino //esta accion se ejecutará si la primera no se cumple Inicio //inicio del bloque Sino Mostrar “El número ingresado es menor a 10” /*Se mostrará cuando la condición no se cumpla (falsa)*/ Fin //fin del bloque Sino Fin |
Instrucción de estructura selectiva múltiple en pseudocódigo
Permite evaluar diferentes alternativas y realizar el proceso si cumple la condición elegida. Puede comparar un valor con diversas alternativas, si la operación tiene éxito se ejecutará la instrucción que contiene y luego sale de la estructura.
Ejemplo en pseudocódigo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Bibliotecas Inicio entero n //declaramos n, que es de tipo entero Mostrar "elige un número entero entre el 0 y el 3: " Leer n //capturamos el número ingresado por el usuario Segun sea el valor de n: Inicio Caso 0: //comparamos, si n es igual a 0 Mostrar "Es el número cero" Salir Caso 1: //comparamos, si n es igual a 1 Mostrar "Es el número uno" Salir Caso 2: //comparamos, si n es igual a 2 Mostrar "Es el número dos" Salir Caso 3: //comparamos, si n es igual a 3 Mostrar "Es el número uno" Salir Fin Fin |
Para aprender mas acerca de las condicionales, revisa este artículo:
Estructuras repetitivas
Las repetitivas son bloques de código que se repiten si una condició se cumple
Para aprender mas acerca de las condicionales, revisa este artículo:
Instrucción de estructura repetitiva mientras en pseudocódigo
En los casos que se requiera repetir una o varias instrucciones son utilizadas este tipo de estructuras repetitivas, también son llamadas bucles, iteraciones, lazos entre otros. Dentro de estas estructuras nos encontraremos con “While” y “For”. Cuando se trabaja con estas estructuras se utiliza términos como contadores, acumuladores, forzar la salida del bucle y continuar al inicio del bucle.
- Contador:
Son variables enteras que se incrementan (+) o decrementan (-) con un valor constante.
Ejemplo en pseudocódigo:
1 2 |
n <- n+1 //Cuyo valor "n" se incrementa de 1 en 1 n <- ++ |
- Acumulador:
Son variables de cualquier tipo que almacenan valores variables.
Ejemplo en pseudocódigo:
1 |
n <- n + otrovalor //Cuyo valor de "n" se incrementa por el valor que tiene la variable "otrovalor" |
- Salir de bucle:
Es una instrucción que permite forzar la salida de un bucle.
Ejemplo en pseudocódigo:
1 |
Salir |
- Continuar al inicio del bucle:
Es una instrucción que permite saltar al inicio del bucle para volver a ejecutarse.
Ejemplo en pseudocódigo:
1 |
Continuar |
Estructura repetitiva mientras con while en pseudocódigo
Ejemplo en pseudocódigo
Problema: Obtener la suma de los primeros números positivos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Bibliotecas Inicio Entero n,i,s //s es igual a suma Mostrar "teclea un número" Leer n //Proceso i<-1 //inicia contador Mientras i<=n //fin del contador inicio //se crea el bloque de mientras s <- s+1 //acción i <- i+1//acción Fin //fin de mientras Mostrar s Fin |
Para aprender mas acerca del ciclo while, revisa este artículo:
Estructura repetitiva mientras con For (desde) en pseudocódigo
Ejemplo en pseudocódigo
Problema: Obtener la suma de los primeros números positivos.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Bibliotecas Inicio Entero n,i,s //declaracion de variables, s es iugual a suma Mostrar "teclea un número" Leer n //Proceso Para(i <- 1 hasta i <- n incremento i <- i+1) inicio //inicio de para s <- s+i Fin //fin de para Mostrar s Fin //fin del bloque principal |
Estructura repetitiva mientras con do while en pseudocódigo
Ejemplo en pseudocódigo
Problema: Obtener la suma de los primeros números naturales positivos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Bibliotecas Inicio //inicio del bloque principal Entero n,i,s Mostrar "teclea un número" Leer n //Proceso i <- 1 //inicia contador Hacer //do Inicio //inicio del bloque de hacer mientras que s <- s+1 //acción i <- i+1 //acción que ingrementa la variable i Fin //fin del bloque de hacer mientras que Mientras (i <= n) //fin del contador, es la única estructura de control que termina con punto y coma. Mostrar s Fin //fin del bloque principal |
Para aprender mas acerca del ciclo do-while, revisa este artículo:
muy buen contenido. [email protected]
Muy buena pagina Web tiene excelente información
la mejor pagina web que haya visto o leído en sus artículos muy buenos no dejare de visitar su web es mu agradable y muy bien vista http://diosdice.com
Muchas gracias. Es un placer que los contenidos te sirven y gustan.