El pseudocódigo no es, como su nombre lo indica, código real, pero parece código. Ayuda a las personas a comprender mejor el dominio o la solución de un problema sin tener que agregar todo el equipaje necesario al usar un idioma real.
En resumen: se usa solo con fines ilustrativos.
Pseudocódigo y programación
No existe una definición o regla fija de pseudocódigo, puede ser diferente cada vez. No es un lenguaje de programación (real) y nadie lo considerará uno. No puede compilarse ni utilizarse como un lenguaje de programación real: si puede hacerlo, deja de ser un seudocódigo. El pseudocódigo no necesita ser determinista (una necesidad para que las computadoras lo compilen), sino que debe ser entendido por los humanos. Para usar el pseudocódigo, deberá convertirlo a su lenguaje de programación favorito. Este proceso de conversión puede ser diferente cada vez y no se pueden dar reglas porque, nuevamente, el pseudocódigo es como la libertad de expresión: puede tomar cualquier forma.
Usos
Se usa comúnmente, especialmente en la fase de diseño de proyectos para ayudar a comprender un cierto enfoque de un problema. También se usa comúnmente en el diseño de algoritmos, o cuando los maestros dibujan algo en la pizarra. En todos estos casos no es necesario compilar el código, solo desea comprender el problema / solución.
Tipos de pseudocódigo El pseudocódigo
puede ser, pero no tiene que ser de cierto tipo, es decir, puede tener un pseudocódigo basado en pila para ilustrar MSIL, puede tener un pseudocódigo imperativo para ilustrar Java, C #, C ++, Python, usted puede tener un pseudocódigo funcional para ilustrar F #, Haskell, SQL, etc.
Ejemplos
Desde lo más alto de mi cabeza, pero todo vale, porque el pseudocódigo se puede inventar en el acto:
Pseudocódigo XML, que muestra una estructura head + body que permite múltiples elementos p:
<head ...
<title ...
</
<body ...>
(<p>...)+
</
Pseudocódigo imperativo, que muestra el problema del diamante en idiomas que admiten herencia múltiple:
class A() { readFile(); }
class B() : A {} // overrides readFile in A
class C() : A {} // overrides readFile in A
class D() : B, C {} // what definition of readFile should be used?
Los dos ejemplos anteriores obviamente se parecen a algún (tipo de) lenguaje, pero en realidad no son ese idioma y no pueden compilarse. Más bien ilustran algo que quieres explicar.