Você está na página 1de 12

COMPUTACIN

Gua del
Estudiante

INTRODUCCIN
Existen tcnicas para facilitar el entendimiento de un problema en trminos que
permitan desarrollar un algoritmo que ofrezca una solucin y que,
posteriormente, conlleve al desarrollo de un programa que solucione el
problema con la ayuda del computador.
stas tcnicas son:

El diseo Top-Down (de arriba hacia abajo).


Los diagramas de estructura.
Los diagramas de flujo.
El pseudocdigo.

1. DISEO ESTRUCTURADO.
El diseo estructurado es una metodologa para el desarrollo de programas,
que puede ser definida a travs de las siguientes caractersticas:
El sistema desarrollado siguiendo el diseo estructurado tendr una
entrada y una salida, con variaciones ocasionales.
El diseo estructurado divide el problema a resolver en partes o
mdulos.
El diseo estructurado evita el uso de la sentencia GOTO (sentencia
que se utiliza para desviar el flujo normal de un programa; la desventaja
de esta sentencia es que el seguimiento del programa puede ser desde
difcil hasta imposible).

2. DISEO TOP DOWN


El diseo top down o refinamiento paso a paso, establece que debe irse de lo
ms general a lo ms especfico y se define como el proceso de dividir un
problema o sub problemas ms pequeos.
Para entender el diseo top down se presenta a continuacin un problema
ejemplo y se discute cmo se aplica esta tcnica en el diseo de programas.
Enunciado del problema:
Se le ha solicitado que escriba un programa para una tienda de videos que
tenga como objetivo permitir que un cliente previamente registrado en la tienda,
alquile videos.

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

Ya existe un sistema para llevar el control del inventario de pelculas y registro


de clientes.
La tienda tiene un conjunto de normas que deben cumplirse para que un cliente
alquile un video. Estas son:
Un cliente es un miembro registrado.
El cliente no debe tener alquileres vencidos.
El cliente no debe nada a la tienda.
La pelcula est en inventario.
La pelcula no est reservada.
Un programa de alto nivel ser: Alquilar un video.
Al descomponer este programa de alto nivel, se obtiene los siguientes
subprogramas:
Verificar si el cliente es miembro registrado.
Verificar si tiene alquileres vencidos.
Verificar si el miembro debe dinero.
Verificar si la pelcula est en el inventario.
Verificar si la pelcula est reservada.
Al descomponer de nuevo cada uno de los pasos anteriores, se obtiene:
1. Verificar si el cliente es un miembro registrado:
Ingresar una identificacin del cliente en el sistema.
Verificar si el sistema ha encontrado un perfil que coincida con
este cliente.
2. Verificar los alquileres vencidos:
Ver si el perfil refleja cualquier alquiler vencido en el sistema.
3. Verificar si el miembro debe algn dinero:
Ver si el perfil refleja algn cargo pendiente.
4. Verificar si la pelcula est en el inventario:
Ingresar el nombre de la pelcula al sistema.
Verificar si hay alguna copia que no est alquilada.
5. Verificar si la pelcula est reservada:
Ver si las copias que no estn alquiladas estn reservadas.
De nuevo, al descomponer el sub-programa Verificar si el cliente es un
miembro registrado:
1.1.
1.2.

Verificar si el cliente es un miembro registrado:


Preguntar la identificacin al cliente.
Ingresar la identificacin en el sistema:
Unidad II: Conceptos de Diseo Estructurado
Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

Seleccionar del men la opcin de verificar la identificacin del


miembro.
Ingresar la identificacin del cliente en prompt.
Presionar la tecla que indica al sistema que est listo, para que
ste verifique por un nmero que coincida con el que se ha
ingresado.
1.3. Leer la pantalla para ver si el sistema ha encontrado alguna
coincidencia:
Verificar visualmente si el sistema dice si no es un miembro.

3.- DIAGRAMAS DE ESTRUCTURA


Un diagrama de estructura es un manera grfica de representar el diseo top
down. Permite representar en forma clara la organizacin de alto nivel de un
programa.
La Figura 2.1 muestra un diagrama de estructura parcial del problema
presentado en el punto anterior.

Alquilar una
pelcula

Preguntar
identificacin

Verificar si es
un miembro

Verificar
alquileres
vencidos

Ingresar
identificacin

Examinar
perfil

Verificar
deudas
pendientes

Verificar si
pelcula est

Verificar si no
est
reservada

Figura 2.1: Diagrama de estructura del Problema Ejemplo

4. DIAGRAMAS DE FLUJO O FLUJOGRAMA


Un diagrama de flujo es una representacin grfica de la lgica del diseo.
Generalmente, presenta un nivel de detalle mucho mayor que los diagramas de
estructura.
Un diagrama de flujo resulta adecuado cuando se desea obtener mayor detalle,
tal como agregar bifurcacin (atajos) de condicionales y/o iteraciones
(insistencias).
Unidad II: Conceptos de Diseo Estructurado
Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

En todo diagrama de flujo, siempre habr una caja de inicio y otra de fin para el
principio y final del algoritmo.
4.1. Los smbolos:
A continuacin los smbolos ms comunes que se usan en un diagrama de
flujo:
Flechas o Lneas de Flujo: Sirven
para conectar los smbolos del
diagrama. La flecha indica la
secuencia en la que se van a ejecutar
las acciones.
Smbolo de Proceso: Indica la accin
que tiene que realizar la computadora.
Dentro se escribe la accin
Entrada / Salida: Representa las
acciones de entrada y salida. Dentro
se colocan las acciones de lectura y
escritura.
Condicin: En el rombo se coloca una
condicin, al encontrar este signo, se
evala la condicin que hay dentro.
Segn la condicin, sea verdadera o
falsa, se toma un camino u otro. Sirve
para
representar
estructuras
selectivas y repetitivas.

Principio y Fin: Dentro del smbolo va


la palabra inicio o fin del algoritmo.

Subprograma: Dentro se coloca el


nombre del subprograma al que se
llama.
Conectores:
Sirven cuando un
flujorama no cabe en una columna de
la hoja y hay que seguir en otra
columna. Se colocan uno donde
termina la columna y otro donde
empieza. Hay dos tipos:
- Si es en la misma hoja
- Si es en una hoja distinta
Aclaratoria: Se usa para aadir
comentarios que permitan entender
mejor el cdigo, no es parte del
cdigo.
Unidad II: Conceptos de Diseo Estructurado
Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

4.2. Otros Smbolos


Pantalla: Cuando una salida es por
pantalla.

Teclado:
Tambin se usa para
representar una entrada por teclado

Impresora

Entrada/ Salida por disco

Las bifurcaciones condicionales se ejecutan segn una determinada condicin,


es decir, si la condicin es verdadera se ejecuta un bloque del proceso, si es
falsa se ejecuta un bloque diferente.
Una iteracin es cuando en un segmento de un algoritmo, los pasos se repiten
un nmero determinado de veces mientras se cumple una determinad
condicin.
La metodologa para representar un problema utilizando diagramas de flujo, se
describe en la Figura 2.2.

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

4.3. METODOLOGA PARA RESOLVER UN PROBLEMA CON DIAGRAMAS


DE FLUJO.

Inicio

Determinar requerimientos del proceso

Determinar requerimientos del post-proceso

Crear Diagrama de Flujo

Verificar Diagrama de Flujo

Diagrama
Flujo Ok

No

Fin

Figura 2.2.: Metodologa para resolver un problema con Diagramas de Flujo

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

5. RECOMENDACIONES PARA HACER DIAGRAMAS DE FLUJO


El diagrama debe mostrar claramente donde inicia y donde
termina.
Cualquier camino que se siga, debe conducir al fin.
Los smbolos deben estar organizados de tal forma, que
visualmente el flujo vaya de arriba abajo y de izquierda a
derecha.
No debe usarse lenguajes de programacin dentro de los
smbolos.
El diagrama debe estar centrado dentro de la pgina.
Las flechas deben ser verticales u horizontales, nunca
diagonales.
No deben cruzarse las flechas, para evitar para esto estn los
conectores No abusar de los conectores.
A un smbolo slo debe llegar una flecha, si fuese necesario
otras flechas entrantes, stas deben llegar a un conector.
Las flechas deben entrar a los smbolos por arriba o por la
izquierda, preferiblemente.
Debe tratarse de que el diagrama se ajuste a una pgina, de
no ser posible debe usarse un conector.

6. EJEMPLO DE UN DIAGRAMA DE FLUJO


Ejemplo 2.1

Calcular el producto de los nmeros positivos introducidos por teclado. El


proceso finaliza cuando se ingresa un nmero negativo o un cero.

1.
2.
3.
4.
5.

Iniciar la variable que va a contener el producto.


Leer el primer nmero.
Preguntar si es negativo o positivo.
Si es negativo o cero se sale de la iteracin y se escribe el producto.
Si es mayor que cero, se multiplica el nmero ledo y se lee un nuevo
nmero. Se vuelve al paso 2.

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

Inicio

P=1

Leer num

Num > 0

P=P x num

Escribir P

Fin

Figura 2.3: Diagrama de Flujo para el Clculo del producto de enteros

7. DIAGRAMA N-S O DE NASSI-SCHEDERMAN:


Es una forma de representacin semejante al flujorama o diagrama de flujo,
pero sin flechas y cambiando los smbolos de condicin y repeticin. Est
conformado por una serie de cajas de procesos que constituyen las secuencias
de acciones necesarias para el presentar el algoritmo. Las cajas de proceso o
accin van unidas entre s. Los diagramas N-S son muy tiles para representar
diagramas estructurados.
Unidad II: Conceptos de Diseo Estructurado
Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

A continuacin en la Figura 2.4 se observa la representacin de las


condiciones.

Condicin
Si

No
<Acciones>

<Acciones>

Figura 2.4: Representacin de Condiciones

Seguidamente, se presenta la Figura 2.5 en la cual se representan las


estructuras repetitivas:
Mientras

<Condiciones>

<Acciones>

<Acciones>

Repetir Hasta <Condicin>

Desde Var =
V1 hasta V2
<Acciones>
Figura 2.5: Estructura Repetitivas

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

COMPUTACIN

Gua del
Estudiante

A continuacin se presenta nuevamente el problema de determinar el producto


de un conjunto de enteros, cuya solucin es representada en esa oportunidad
mediante un diagrama de N-S. Para ello, observe la Figura 2.6
INICIO

P=1

Leer num

(Mientras num > 0)

P = P x num

Leer num

Escribir P

FIN
Figura 2.6: Diagrama de N-S para el Clculo del Producto de Enteros.

8. PSEUDOCDIGO
El pseudocdigo es un lenguaje de documentacin de programas similar al
espaol o al ingls (se parece a cualquier lenguaje de programacin de alto
nivel). No necesita seguir ninguna regla especfica, como por ejemplo ser
requerido por los programas que van a ser traducidos o compilados. El
pseudocdigo normalmente no es muy especfico para las reas de E/S.
No hay ningn estndar en la industria definido pseudocdigo y tiene la ventaja
de que se puede crear fcilmente con cualquier editor de texto.

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

10

COMPUTACIN

Gua del
Estudiante

Un ejemplo de pseudocdigo parecido a PL/I, se muestra a continuacin:

Do while (count = 0)
Do process
Count = count 1
End
Ejemplo 2.2
Ejemplo de palabras claves en pseudocdigo:
1.
2.
3.
4.
5.
6.
7.
8.

Inicio y Fin: Por donde empieza y termina el algoritmo.


Si: <condicin>
Entonces <acciones>
Sino <acciones>
Mientras <condicin> hacer
Repetir / hasta <condicin>
Desde / hasta
Segn sea (para evaluar opciones multiples)

NOTA: Se debe tomar en cuenta que los comentarios van encerrados entre
llaves y hay que utilizar sangra al escribir el cdigo.
La estructura recomendada para los algoritmos en pseudocdigo es:
Algoritmo <nombre algoritmo>
Var
<nombre>: <tipo>
Inicio
<Instrucciones>
Fin

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

11

COMPUTACIN

Gua del
Estudiante

Se presenta el pseudocdigo para el ejemplo de determinar el producto de un


conjunto de enteros:
1. Algoritmo Producto
2. Var p, num: entero
3. Inicio
4. P = 1
5. Leer num
6. Mientras num > 0 hacer
7.
P= P*num
8.
Leer num
9.
Fin mientras
10.
Escribir P
11. Fin

RESUMEN
Ahora que ha complementado esta unidad, usted debe ser capaz de:
Listar las caractersticas del Diseo Estructurado.
Definir los conceptos de diseo top-down.
Describir los Diagramas de Estructura, Diagrama de Flujo y
Diagramas de Nassi Schederman.
Dibujar un diagrama de estructura para mostrar la jerarqua de
un programa.
Definir el concepto de Pseudocdigo.

Unidad II: Conceptos de Diseo Estructurado


Licda. Carmen L. Hernndez P / ADI-UNEFM

12

Você também pode gostar