You are on page 1of 12

Qu es el pseudocdigo y sus ventajas frente a los diagramas de flujos y

las definiciones de los diagramas estructurados y las estructuras


algortmicas.

Pseudocdigo
Mezcla de lenguaje de programacin y espaol (o ingles 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:

Explicamos las estructuras secuenciales, cmo se representan en


pseudocdigo y algunos ejemplos prcticos de las mismas.

La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra


en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada
de la siguiente y as sucesivamente hasta el fin del proceso.
En Pseudocdigo una Estructura Secuencial se representa de la siguiente forma:

Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos


representados en Pseudocdigo y en diagramas de flujos:
Tengo un telfono y necesito llamar a alguien pero no s como hacerlo.

El anterior ejemplo es un sencillo algoritmo de un problema cotidiano dado como


muestra de una estructura secuencial. Ahora veremos los componentes que
pertenecen a ella:
Asignacin
La asignacin consiste, en el paso de valores o resultados a una zona de la
memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el
valor. La asignacin se puede clasificar de la siguiente forma:

Simples: Consiste en pasar un valor constante a una variable (a


15)
Contador: Consiste en usarla como un verificador del numero de veces que
se realiza un proceso (a
a + 1)
Acumulador: Consiste en usarla como un sumador en un proceso (a
a+
b)
De trabajo: Donde puede recibir el resultado de una operacin matemtica
que involucre muchas variables (a
c + b*2/4).

En general el formato a utilizar es el siguiente:


< Variable >
El smbolo

<valor o expresin >

debe leerse asigne.

Escritura o salida de datos


Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un
resultado o mensaje. Esta instruccin presenta en pantalla el mensaje escrito entre
comillas o el contenido de la variable. Este proceso se representa as como sigue:

Lectura o entrada de datos


La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada
(p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que
aparece a continuacin de la instruccin. Esta operacin se representa as:

DECLARACION DE VARIABLES Y CONSTANTES


La declaracin de variables es un proceso que consiste en listar al principio del
algoritmo todas las variables que se usarn, adems de colocar el nombre de la
variable se debe decir qu tipo de variable es.
Contador: ENTERO
Edad, I: ENTERO
Direccion : CADENA_DE_CARACTERES
Salario_Basico : REAL
Opcion : CARACTER
En la anterior declaracin de variables Contador, Edad e I son declaradas de tipo
entero; Salario_Basico es una variable de tipo real, Opcion es de tipo carcter y la
variable Direccion est declarada como una variable alfanumrica de cadena de
caracteres.
En el momento de declarar constantes debe indicarse que lo es y colocarse su
respectivo valor.
CONSTANTE Pi 3.14159
CONSTANTE Msg Presione una tecla y continue
CONSTANTE ALTURA 40
Cuando se trabaja con algoritmos por lo general no se acostumbra a declarar las
variables ni tampoco constantes debido a razones de simplicidad, es decir, no es
camisa de fuerza declarar las variables. Sin embargo en este curso lo haremos para
todos los algoritmos que realicemos, con esto logramos hacerlos ms entendibles y
organizados y de paso permite acostumbrarnos a declararlas ya que la mayora de
los lenguajes de programacin (entre ellos el C++) requieren que necesariamente
se declaren las variables que se van a usar en los programas.
Veamos algunos ejemplos donde se aplique todo lo que hemos visto hasta el
momento sobre algoritmos:

Ejemplo 1: Escriba un algoritmo que pregunte por dos nmeros y muestre como
resultado la suma de estos. Use Pseudocdigo y diagrama de flujos.

Ejemplo 2: Escriba un algoritmo que permita conocer el rea de un tringulo a


partir de la base y la altura. Exprese el algoritmo usando Pseudocdigo y diagrama
de flujos.

Algoritmos
Un algoritmo es una serie de pasos lgicos, que se estructuran para resolver un
problema.
Generalmente un algoritmo se compone de sentencias simples y sentencias de
control.
Los algoritmos estn delimitados por la palabras : INICIO y FIN

Sentencias simples
Asignacin de variables
Se le asigna un valor a una variable, a travs del simbolo de flecha(<--) que dice
que el valor a la derecha tiene que ser asignado a la variable que est a la
izquierda.
ej:
a <-- 10
Se asigna un valor 10 a la variable a. Al escribir esta sentencia por primera vez en
un algoritmo, da por entendido su declaracin o creacin.
Comunmente al lado derecho de la flecha, se pueden realizar operaciones
aritmticas (+,-,/,*), para que su resultado se le asigne a la variable. Adems en
estas operaciones se puede incluir la misma variable u otras.
ejemplo :
INICIO
x <-- 5
y <-- 10
z <-- x + y
z <-- y * x + 7
z <-- x/8 + y/9 + (7 + x/8)
z <-- z + 1
z <-- z * z + y * y
FIN

x <-- -x + -y + -3

Ejemplo : determinar cunto vale (a,b,c) despus de las siguientes sentencias de


asignacin
INICIO

a <-b <-a <-b <-a <-b <-FIN

2
a*4
/* b <-- 2 * 4 = 8 */
b+2*a
/* a <-- 8 + 2 * 2 = 12 */
2-a*b
/* b <-- 2 - 12 * 8 = 2 - 96 = -94 */
a-b
/* a <-- 12 - -94 = 12 + 94 = 106 */
-b + 6
/* b <-- --94 + 6 = 94 + 6 = 100 */

Para seguir en forma ordenada, el cambio de valores en las variables, se utiliza una
tabla llamada traza.
a 2
--------------b
a 2
--------------b 8
a 2 12
--------------b 8
a 2 12
--------------b 8 -94
a 2 12 106
---------------b 8 -94 100
valores finales : a = 106 , b = 100

Por lo tanto si se pide una traza, se debe mostrar la ltima tabla. Los pasos
anteriores son slo pasos explicativos.
ejercicio : hacer la traza del siguiente algoritmo
INICIO
t <-- 1
p <-- 4
t <-- 3 * t
p <-- p - 12
t <-- -t + 6
p <-- -p * -2
FIN
valores finales : t = 3 y p = -16
<BR

Lectura de variables

En muchos algoritmos, el valor de alguna variable debe ser introducido


dinmicamente por el usuario a travs del teclado o algn otro medio. A esa accin
le llamaremos "leer", que consiste en la asignacin del valor de entrada, a la
variable correspondiente.
ejemplo:
INICIO
a <-- 12
leer b
a <-- a + b
FIN
Si se tiene que leer ms de una variable, se pueden escribir usando el
separado coma.
Ej : Leer a, b, c

/* lee en ese orden las variables a, b y c */

Declaracin de una constante


Si se necesita incluir en el algoritmo alguna constante, se debe seguir la misma
metodologa de la asignacin de variables, pero con la limitacin que el identificador
debe estar escrito con letras maysculas y que la declaracin se haga a
continuacin del inicio del algoritmo.

Comentarios
Todo comentario de alguna sentencia, debe ir entre los simbolos /* */.
Los comentarios son tiles para explicar mejor alguna sentencia que puede estar no
clara, para alguien que se enfrenta a las sentencias por primera vez.
Ej :
INICIO
PI <-- 3.14 /* constante */
Leer radio
area <-- 4 * PI * radio * radio
FIN

/* area de una esfera */

Comparaciones
Para comparar dos variables se usar la siguiente nomenclatura :
a < b /* esta sentencia es verdadera (true) si a es menor que b, y es falsa (false)
en caso contrario */
a > b /* esta sentencia es verdadera (true) si a es mayor que b , y es falsa
(false) en caso contrario */
a <= b /* esta sentencia es verdadera (true) si a es menor o igual que b, y ees
falsa " " */
a >= b /* esta sentencia es verdadera (true) si a es mayor o igual que b , y es
falsa " " */

a == b /* esta sentencia es verdadera si a tiene el mismo valor de b, y es falsa en


caso contrario */
a != b /* esta sentencia es verdadera si a no tiene el mismo valor de b, y es falsa
en caso contrario */

Mtodo imprimir
Se usara un mtodo llamado "imprimir", para identificar una salida estndar (ej :
pantalla o consola).
El mtodo consiste de la palabra "imprimir", seguido de un conjunto de
argumentos, delimitado entre parntesis.
imprimir(..argumentos..)
Los argumentos pueden ser de dos tipos : constantes alfanumricas o variables. Si
se quiere encadenar una constante con una variable, se debe usar el separador '+'.
Ej:
INICIO
imprimir("Ingrese radio : ") /* imprime el mensaje constante "Ingrese x : " */
leer radio
imprimir("El valor del radio ingresado es : " + radio) /* se encadena lo
constante con lo variable */
imprimir(r * 2) /* imprime el resultado de la operacin aritmtica */
FIN
En el caso que la operacin tenga el operador suma, se deben adicionar parntesis
para su correcta interpretacin. Debe ser interpretado como un operador aritmtico
y no de concatenacin.

imprimir("la suma de a y b es : " + (a + b) )


imprimir("a + b + c +++") /* como el simbolo suma esta dentro de la cadena
constante, limitada
por comillas "", es interpretado como caracter */

SENTENCIA SI
SI (condicion) ENTONCES
sentencia_1
sentencia_2
:
sentencia_n
FIN SI
Si la condicin es verdadera, entonces se ejecutarn en orden las sentencias
delimitadas por el FIN SI.
Si la condicin es falsa o no se cumple, el punto de algoritmo ejecutar la sentencia
posterior al FIN SI.

Ejemplo : Una vez leidos b y c, si c es mayor que b, entonces asignar a b el valor


de c y a continuacin asignar a c el valor del doble de b.
INICIO
leer b
leer c
SI (c > b) ENTONCES
b <-- c
c <-- 2 * b
FIN SI
FIN
Ejemplo : Si a es igual a b, entonces imprimir "Diferencia cero". A continuacin
imprimir "Concluida la comparacin"
INICIO
leer b,c
SI (c == b) ENTONCES
imprimir("Diferencia cero")
FIN SI
imprimir("Concluida la comparacin")
FIN
EN GENERAL : Es vlido, ejecutar un conjunto de sentencias de control, dentro de
otra del mismo tipo.
Para una ordenada notacin, todas las sentencias contenidas dentro de otra
sentencia, se escribiran dejando un nmero positivo (recomendado : 4) de espacios
a la derecha, de la columna correspondiente al inicio de la sentencia.
Para el caso de la sentencia SI, a continuacin se muestra una abertura del ciclo de
segundo orden :
INICIO
SI (c + a > 0 ) ENTONCES
imprimir("c + a es mayor que cero")
SI (c - a > 0) ENTONCES
imprimir("a es menor que c );
FIN SI
FIN SI
FIN

SENTENCIA SI - SINO

SI (condicion) ENTONCES
sentencia(s)
SINO
sentencia(s)
FIN SI

Si la condicin es verdadera, entonces se ejecutarn las sentencias anteriores al


SINO.
Si la condicin es falsa, el punto de algoritmo ejecutar las sentencias posteriores al
SINO.
Ejemplo :
SI (a != b) ENTONCES
imprimir("a es distinto de b")
SINO
imprimir("a es igual b ")
FIN SI

SENTENCIA DE SELECCIN
SELECCION (variable)
constante_1 : sentencia(s)
constante_2 : sentencia(s)
:
:
constante_n : sentencia(s)
FIN SELECCION
Para eliminar el problema de tener muchas condiciones "SI (variable == valor_i)
ENTONCES", se agrupan las instrucciones, en funcin del valor que tome cierta
variable.
Ejemplo :

Algoritmo de la Calculadora
INICIO
imprimir("1.imprimir("2.imprimir("3.imprimir("4.-

suma");
resta");
multiplicacion")
division")

imprimir("Ingrese opcion : ")


Leer a,b,opcion
SELECCION(opcion)
1 : imprimir("suma de " + a + " y " + b + " igual a : " + (a + b))
2 : imprimir("resta de " + a + " y " + b + " igual a : " + (a - b))
3 : imprimir("multiplicacion de " + a + " y " + b + " igual a : " + (a * b))
4 : SI (b != 0) ENTONCES
imprimir("division de " + a + " y " + b + " igual a : " + (a / b))
SINO
imprimir("division por cero --> infinito ")

FIN SI
FIN SELECCION
FIN

You might also like