Sei sulla pagina 1di 17

Pseudocdigo Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro idioma) que se emplea, dentro de la programacin estructurada, para

realizar el diseo de un programa. En esencial, el Pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. En esencial, el Pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un problema determinado. El Pseudocdigo utiliza palabras que indican el proceso a realizar. Ventajas de utilizar un Pseudocdigo a un Diagrama de Flujo

Ocupa menos espacio en una hoja de papel Permite representar en forma fcil operaciones repetitivas complejas Es muy fcil pasar de Pseudocdigo a un programa en algn lenguaje de programacin. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operacin.

Diagramas estructurados (Nassi-Schneiderman) El diagrama estructurado N-S tambin conocido como diagrama de chapin es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. Un algoritmo se represente en la siguiente forma:

Estructuras Algortmicas Las estructuras de operacin de programas son un grupo de formas de trabajo, que permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Se aconseja para el diseo de algoritmos estructurados el uso de un lenguaje especial llamado pseudocdigo, que adems se puede traducir a cualquier idioma (Pascal est basado en el pseudocdigo en ingls). El pseudocdigo adems permite el diseo modular de programas y el diseo descendente (tcnica que permite solucionar un problema descomponindole en problemas pequeos) gracias a esta posibilidad Hay que tener en cuenta que existen multitud de pseudocdigos, es decir no hay un pseudocdigo 100% estndar. Pero s hay gran cantidad de detalles aceptados por todos los pseudocdigos. Aqu se comenta el pseudocdigo que parece ms aceptado en Espaa. El pseudocdigo son instrucciones escritas en un lenguaje orientado a ser entendible por un ordenador (con la ayuda de un compilador o un intrprete). Por ello en pseudocdigo slo se pueden utilizar ciertas instrucciones. La escritura de las instrucciones debe cumplir reglas muy estrictas. [justify]Las nicas permitidas son: De Entrada /Salida. Para leer o escribir datos desde el programa hacia el usuario. De proceso. Operaciones que realiza el algoritmo (suma, resta, cambio de valor,...) De control de flujo. Instrucciones alternativas o iterativas (bucles y condiciones). De declaracin. Mediante las que se crean variables y subprogramas. Llamadas a subprogramas. Comentarios. Notas que se escriben junto al pseudocdigo para explicar mejor su funcionamiento.

Las instrucciones que resuelven el algoritmo en pseudocdigo deben de estar encabezadas por la palabra inicio (en ingls begin) y cerradas por la palabra fin (en ingls end). Entre medias de estas palabras se sitan el resto de instrucciones. Opcionalmente se puede poner delante del inicio la palabra programa seguida del nombre que queramos dar al algoritmo. En definitiva la estructura de un algoritmo en pseudocdigo es: programa nombre Del Programa inicio instrucciones .... fin Hay que tener en cuenta estos detalles: Aunque no importan las maysculas y minsculas en pseudocdigo, se aconsejan las minsculas porque su lectura es ms clara y adems porque hay muchos lenguajes en los que s importa el hecho de hecho escribir en maysculas o minsculas (C, Java, ...). Se aconseja que las instrucciones dejen un espacio (sangra) a la izquierda para que se vea ms claro que estn entre el inicio y el fin. Esta forma de escribir algoritmos permite leerlos mucho mejor.

Ejercicios con Pseudocdigos


Ejercicios de Pseudocdigos, esto ayudar al estudiante a llegar a una solucin, de una manera fcil y practica; estos son Pseudocdigos que yo hice llevando una lgica propia, es indispensable que el alumno defina y trabaje arduamente en la lgica, pues esto les llevar a ser un buen programador y definir un estilo de programacin propio. Es importante hacer notar que estos ejercicios son los que se ven en clase, pero los alumnos pueden dar solucin a otros problemas, yo sugiero que en casa ejerciten la lgica de solucin a problemas sencillos y despus darle solucin a problemas ms complejos. 1.- Escribir un Pseudocdigo de un programa que permita leer la edad y peso de una persona y posteriormente imprimirla. Inicio Variables edad, peso. Imprimir "Escribir los datos (Edad, Peso):" Leer Edad, Leer Peso. Visualizar "Tu peso es: ", peso, " y tu edad es: ", edad. Fin.

2.- Escribir un Pseudocdigo que calcule el rea de un tringulo recibiendo como entrada el valor de base y altura. Inicio Variables Altura, Base, Area. Imprimir "Introduce la base y la altura: " Leer base y peso. area= (base*altura)/2. Imprimir "El area es: ", base. Fin.

3.- Escribir Pseudocdigo que calcule el rea de un crculo. Inicio Constantes Pi= 3.1416 Variables Radio, area = real Imprime "Introduce el radio: " Leer radio. area= radio*radio*Pi Imprimir "El rea del circulo es: ", area. Fin.

4.- Escribir Pseudocodigo que dados 2 valores de entrada imprima siempre la divisin del mayor entre el menor. Inicio Variables num1, num2=entero. Variables R=real. Imprimir "Introduce los nmeros:" Leer num1, Leer num2. Si a>b entonces R= a/b Sino R= b/a Fin. 5.- Escribir Pseudocdigo que lea de entrada 3 nmeros y que indique cual es el mayor de ellos. Inicio Variables a, b,c = enteros.

Imprimir "Introduce los datos a comparar: " Leer a,b,c Si a<b y a<c entonces Imprime "El mayor es: ", a Sino Si b<a y b<c entonces Imprime "El mayor es: ",b sino Imprime "El mayor es: ", c Fin. 6.- Escribir un Pseudocdigo que lea 3 nmeros los cuales significan una fecha (da, mes, ao). Comprobar que sea vlida la fecha, si no es valido que imprima un mensaje de error, y si es vlida imprimir el mes con su nombre. Inicio Variables dia, mes, ao =entero. Imprimir "Introduce la fecha (Dia,mes,ao): " Leer dia, mes, ao. Si dia>31 o mes >12 o ao<0 entonces Imprimir "Error la fecha no es correcta" Sino si mes=1 o mes=3 o mes=5 o mes=7 o mes=8 o mes=10 o mes=12 entonces si dia >31 y dia<1 entonces Imprimir "Error de Dia" sino si mes=1 entonces imprimir dia,"/ Enero /",ao si mes=3 entonces imprimir dia,"/ Marzo /",ao si mes=5 entonces imprimir dia,"/ Mayo /",ao si mes=7 entonces imprimir dia,"/ Julio /",ao si mes=8 entonces imprimir dia,"/ Agosto /",ao si mes=10 entonces imprimir dia,"/ Octubre /",ao si mes=12 entonces imprimir dia,"/ Diciembre /",ao Si mes=2 entonces si dia>28 o dia<0 entonces Imprimir "Error de Dia" sino Imprimir dia,"/ Febrero /",ao Si mes=4 o mes=6 o mes=9 o mes=11 Si dia >30 o dia <1 entonces Imprimir "Error de Dia" Sino Si mes=4 entonces

Imprimir dia,"/ Abril /",ao Si mes=6 entonces Imprimir dia,"/ Junio /",ao Si mes=9 entonces Imprimir dia,"/ Septiembre /",ao Si mes=11 entonces Imprimir dia,"/ Noviembre /",ao Fin. 7.- Escribir un Pseudocodigo que pida la edad y el sexo y dependiendo si es hombre o mujer y si puede votar o no. Inicio variables edad=entero, sexo=caracter. repetir Imprimir "Introduce Tu edad:" Leer edad. Hasta que (edad >0) Hacer Imprimir "Introduce tu sexo (M/H):" leer sexo hasta que (sexo='H' o sexo = 'M') Si sexo= 'M' entonces si edad > 18 entonces Imprimir "Eres Mujer y puedes votar" sino Imprimir "Eres Mujer y no puedes votar" Sino si edad >18 entonces Imprimir "Eres Hombre y puedes votar" sino Imprimir "Eres Hombre y no puedes votar" Fin.

8.- Realice un Pseudocdigo que calcule la nmina salarial neto, de unos obreros cuyo trabajo se paga en horas. El clculo se realiza de la siguiente forma: - Las primeras 35 horas a una tarifa fija. - Las horas extras se pagan a 1.5 ms de la tarifa fija. - Los impuestos a deducir de los trabajadores varian, segun el sueldo mensual si el sueldo es menos a $20,000.00 el sueldo es libre de impuesto y si es al contrario se cobrar un 20% de impuesto.

Inicio Canstante Tarifa= 50. Variables Horas, Sueldo, Impuesto, Sueldo_total.

dif_horas,

tarifa_extra,

Salario_extra,

Sueldo_mes,

Imprimir "Introduce las Horas de Trabajo ==> " Leer Horas. Si Horas <= 35 entonces Sueldo= horas * tarifa. Sino Dif_horas= Horas - 35 tarifa_extra=(tarifa * 1.5) Salario_exta= tarifa_extra * Dif_horas Sueldo=(35*tarifa)+ salario_extra. Sueldo_mes = sueldo * 4 Impuesto=0 Si sueldo_mes > 20000 entonces Impuesto = (Sueldo_mes* 0.20) Salario_total = Sueldo_mes - Impuesto Imprimir "Tu sueldo al mes es: ", sueldo_mes,"Valor de Impuesto: ", Impuesto, " El salario Neto es: ",Salario_total. sino Imprimir "Tu sueldo Neto es: ", sueldo_mes. Fin.

9.- Hacer un Pseudocdigo que calcule el factorial de un nmero. Inicio Variables N,Fact,aux. Imprimir "Introduce el nmero: " Leer N aux= n-1. fact=n Hacer fact=fact * aux. Hasta que aux=1 Imprimir "El factorial de ", n, "es:", fact Fin.

10.- Hacer un Pseudocodigo que despliegue las tablas de multiplicar. Inicio Variables i,k,r. para i=1 hasta 10. para k=1 hasta 10. r:=i*k. Imprimir i," por ",k," = ",r. k=k+1. i=i+1. Fin. 11.- Escribir un Pseudocdigo que encuentre y despliegue los nmeros primos entre uno y cien. Un nmero primo es divisible entre el mismo y la unidad por lo tanto un numero primo no puede ser par excepto el dos (2). Inicio Variables primo, cont, div, res. Primo = 1. Hacer mientras primo<=100 Div =0. Cont =1. Hacer Mientras cont <= primo Res = cont mod primo si res = 0 entonces Div = div +1. Fin si Cont = cont +1. Fin de Hacer mientras si div<=2 entonces imprimir primo Fin si. Primo = primo + 1. Fin de Hacer mientras Fin.

Tabla 1. Prioridad de los operadores en pseudocdigo Operadores Nombres Orden en que se evalan Ms alta prioridad. () Parntesis Las expresiones entre parntesis se
evalan primero.

Corchetes ^
(unario) * / div mod Exponente (equiv. a **)
Menos unario
Multiplicacin real Divisin real Divisin entera o cociente (div) Residuo o resto entero (mod) Suma, Resta Menor, Menor o igual, Mayor, Mayor o igual

Si los parntesis estn anidados, la expresin ms interna se evala primero. Si hay varios pares de parntesis en el mismo nivel, se evalan de izquierda a derecha.

Operadores matemticos
Entre ellos el mismo nivel de precedencia. Si hay varios se evalan de izquierda a derecha. Operadores relacionales. Si hay varios se evalan de izquierda a derecha. Entre ellos el mismo nivel de precedencia.

< >

No Y O

No lgico (not) Y lgico (and) O lgico (or) Concatenacin

Operadores lgicos

Desplazamiento Izq., Desplazamiento Der.

Operador de cadena Permite la concatenacin de valores de tipo entero, real o lgico con valores de tipo caracteres o con cadenas de caracteres (string). El resultado de la concatenacin es un string. Se utiliza principalmente para crear mensajes. Operadores de Desplazamiento de Registro Desplazamiento a la izquierda o a la derecha en un archivo o en una cadena de caracteres

Asignacin

Menor prioridad. La asignacin de valores o resultados a una variable o constante es la ltima operacin que se realiza.

Sintaxis
En la actualidad y por lo general, el pseudocdigo, como su nombre lo indica, no obedece a las reglas de sintaxis de ningn idioma en particular ni es de forma estndar sistemtica, a pesar de que cualquier escritor en particular vaya a pedir prestado las estructuras de control general, la sintaxis y el estilo, por

ejemplo, de algn lenguaje de programacin convencional. Pero en caso de que se quiera ejecutar, se debe llevar a forma tipo, para que no genere mensajes de error. Las fuentes populares incluyen la sintaxis de Pascal, BASIC, C, C++, Java, Lisp, y ALGOL. Por lo general, se omiten las declaraciones de variables. A veces, las llamadas a funciones, los bloques de cdigo y el cdigo contenido dentro de un loop se remplazan por una sentencia de una lnea en lenguaje natural. Dependiendo del escritor, el pseudocdigo puede variar mucho en su estilo, yendo desde en un extremo, una imitacin casi exacta de un lenguaje de programacin real, hasta al acercarse a una descripcin en prosa de formato de pseudocdigo en el otro extremo. Este es un ejemplo de pseudocdigo (para el juego matemtico bizz buzz): Pseudocdigo estilo C: subproceso funcion bizzbuzz para (i <- 1; i<=100; i++) { establecer print_number a verdadero; Si i es divisible por 3 escribir "Bizz"; establecer print_number a falso; Si i es divisible por 5 escribir "Buzz"; establecer print_number a falso; Si print_number, escribir i; escribir una nueva lnea; }

Pseudocdigo estilo Fortran:

Pseudocdigo estilo Pascal:

procedimiento bizzbuzz programa bizzbuzz para i := 1 hasta 100 hacer i = 1 hasta 100 hacer establecer establecer print_number a verdadero print_number a verdadero; si i es divisible por Si i es divisible por 3 3 entonces escribir "Bizz" escribir "Bizz"; establecer establecer print_number a falso print_number a falso; si i es divisible por Si i es divisible por 5 5 entonces escribir "Buzz" escribir "Buzz"; establecer establecer print_number a falso print_number a falso; si print_number, Si print_number, escribir i escribir i; escribir una nueva escribir una nueva lnea lna; fin del hacer fin

Caractersticas y partes
Las principales caractersticas de este lenguaje son: 1. Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX, Maruga Script, Seudocdigo o PSeInt.) 2. Es una forma de representacin sencilla de utilizar y de manipular. 3. Facilita el paso del programa al lenguaje de programacin. 4. Es independiente del lenguaje de programacin que se vaya a utilizar. 5. Es un mtodo que facilita la programacin y solucin al algoritmo del programa.

Todo documento en pseudocdigo debe permitir la descripcin de: 1. Instrucciones primitivas. 2. Instrucciones de proceso.... 3. Instrucciones de control. 4. Instrucciones compuestas. 5. Instrucciones de descripcin. Estructura a seguir en su realizacin: 1. Cabecera. 1. Programa. 2. Mdulo. 3. Tipos de datos. 4. Constantes. 5. Variables. 2. Cuerpo. 1. Inicio. 2. Instrucciones. 3. Fin.

Estructuras de control
En la redaccin del pseudocdigo se utiliza tres tipos de estructuras de control: las secuenciales, las selectivas y las iterativas.

Estructuras secuenciales
Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el nmero de rengln. Es decir que las instrucciones se ejecutan de arriba hacia abajo. Las instrucciones se ejecutan dependiendo de la condicin dada dentro del algoritmo.

Estructuras selectivas
Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse, segn el cumplimiento de una condicin.

Diagrama de flujo que muestra el funcionamiento de la instruccin condicional.

La condicin es una expresin booleana. Instrucciones es ejecutada slo si la condicin es verdadera.

Selectiva doble (alternativa)


La instruccin alternativa realiza una instruccin de dos posibles, segn el cumplimiento de una condicin.

Diagrama de flujo que muestra el funcionamiento de la instruccin condicional.

La condicin es una variable booleana o una funcin reducible a booleana (lgica, Verdadero/Falso). Si esta condicin es cierta se ejecuta Instrucciones1, si no es as, entonces se ejecuta Instrucciones2.

Selectiva mltiple
Tambin es comn el uso de una seleccin mltiple que equivaldra a anidar varias funciones de seleccin.

En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes, si una de ellas se cumple las dems tienen que ser falsas necesariamente, hay un caso si no que ser cierto cuando las dems condiciones sean falsas. En esta estructura si Condicin1 es cierta, entonces se ejecuta slo Instrucciones1. En general, si Condicini es verdadera, entonces slo se ejecuta Instruccionesi

Selectiva mltiple-Casos
Una construccin similar a la anterior (equivalente en algunos casos) es la que se muestra a continuacin.

En este caso hay un Indicador es una variable o una funcin cuyo valor es comparado en cada caso con los valores "Valori", si en algn caso coinciden ambos valores, entonces se ejecutarn las Instruccionesi correspondientes. La seccin en otro caso es anloga a la seccin si no del ejemplo anterior.

Estructuras iterativas
Las instrucciones iterativas representan la ejecucin de instrucciones en ms de una vez.

Bucle mientras
Artculo principal: Bucle while.

El bucle se repite mientras la condicin sea cierta, si al llegar por primera vez al bucle mientras la condicin es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Diagrama de flujo que muestra el funcionamiento de la instruccin mientras

Bucle repetir
Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que se cumpla la condicin:

La estructura anterior equivaldra a escribir:

Bucle hacer
El Bucle hacer se utiliza para repetir un bloque de cdigo mientras se cumpla cierta condicin.

Bucle para
Artculo principal: Bucle for.

Una estructura de control muy comn es el ciclo para, la cual se usa cuando se desea iterar un nmero conocido de veces, empleando como ndice una variable que se incrementa (o decrementa): Plantilla:Definiciones la cual se define como:

Bucle para cada


Por ltimo, tambin es comn usar la estructura de control para cada. Esta sentencia se usa cuando se tiene una lista o un conjunto y se quiere iterar por cada uno de sus elementos:

Si asumimos que los elementos de

son

, entonces esta sentencia equivaldra a:

Que es lo mismo que:

Sin embargo, en la prctica existen mejores formas de implementar esta instruccin dependiendo del problema. Es importante recalcar que el pseudocdigo no es un lenguaje estandarizado. Eso significa que diferentes autores podran dar otras estructuras de control o bien usar estas mismas estructuras, pero con una notacin diferente. Sin embargo, las funciones matemticas y lgicas toman el significado usual que tienen en matemtica y lgica, con las mismas expresiones.

El anidamiento
Cualquier instruccin puede ser sustituida por una estructura de control. El siguiente ejemplo muestra el pseudocdigo del ordenamiento de burbuja, que tiene varias estructuras anidadas. Este algoritmo ordena de menor a mayor los elementos de una lista .

En general, las estructuras anidadas se muestran indentadas, para hacer ms sencilla su identificacin a simple vista. En el ejemplo, adems de la indentacin, se ha conectado con flechas los pares de delimitadores de cada nivel de anidamiento.

Desarrollo de algoritmos
Con este pseudocdigo se puede desarrollar cualquier algoritmo que: Tenga un nico punto de inicio. Tenga un nmero finito de posibles puntos de trmino. Haya un nmero finito de caminos, entre el punto de inicio y los posibles puntos de trmino.

Potrebbero piacerti anche