Vous êtes sur la page 1sur 6

Curso Remedial de Estructuras Algortmicas

I.T.S.Z.O.

3. TCNICAS DE DISEO

3.1 Top Down

Tambin conocida como de arriba-abajo y consiste en establecer una serie de


niveles de mayor a menor complejidad (arriba-abajo) que den solucin al
problema. Consiste en efectuar una relacin entre las etapas de la estructuracin
de forma que una etapa jerrquica y su inmediato inferior se relacionen mediante
entradas y salidas de informacin.
Este diseo consiste en una serie de descomposiciones sucesivas del problema
inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que
van a formar parte del programa.
La utilizacin de la tcnica de diseo Top-Down tiene los siguientes objetivos
bsicos:
Simplificacin del problema y de los subprogramas de cada
descomposicin.
Las diferentes partes del problema pueden ser programadas de modo
independiente e incluso por diferentes personas.
El programa final queda estructurado en forma de bloque o mdulos lo que
hace ms sencilla su lectura y mantenimiento.

3.2 Bottom Up

El diseo ascendente se refiere a la identificacin de aquellos procesos que


necesitan computarizarse con forme vayan apareciendo, su anlisis como sistema
y su codificacin, o bien, la adquisicin de paquetes de software para satisfacer el
problema inmediato.
Cuando la programacin se realiza internamente y haciendo un enfoque
ascendente, es difcil llegar a integrar los subsistemas al grado tal de que el
desempeo global, sea fluido. Los problemas de integracin entre los subsistemas
son sumamente costosos y muchos de ellos no se solucionan hasta que la
programacin alcanza la fecha lmite para la integracin total del sistema. En esta
fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los
usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se
ignoran.
Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla
al sistema como una entidad global, adolece de ciertas limitaciones por haber
tomado un enfoque ascendente. Uno de ellos es la duplicacin de esfuerzos para
accesar el software y ms aun al introducir los datos. Otro es, que se introducen al
sistema muchos datos carentes de valor. Un tercero y tal vez el ms serio
inconveniente del enfoque ascendente, es que los objetivos globales de la
organizacin no fueron considerados y en consecuencia no se satisfacen.

Academia de Sistemas e Informtica 14


Curso Remedial de Estructuras Algortmicas
I.T.S.Z.O.

4. TCNICAS PARA LA FORMULACIN DE ALGORITMOS

4.1 Diagrama de Flujo

Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se


puede decir que es la representacin detallada en forma grfica de cmo deben
realizarse los pasos en la computadora para producir resultados.
Esta representacin grfica se da cuando varios smbolos (que indican diferentes
procesos en la computadora), se relacionan entre s mediante lneas que indican
el orden en que se deben ejecutar los procesos. Los smbolos utilizados han sido
normalizados por el instituto norteamericano de normalizacin (ANSI).

smbolo descripcin

Indica el inicio y el final de nuestro diagrama de flujo.

Indica la entrada y salida de datos.

Smbolo de proceso y nos indica la asignacin de un


valor en la memoria y/o la ejecucin de una operacin
aritmtica.
Smbolo de decisin indica la realizacin de una
comparacin de valores.

Se utiliza para representar los subprogramas.

Conector dentro de pgina. Representa la continuidad


del diagrama dentro de la misma pgina.

Conector fuera de pgina. Representa la continuidad


del diagrama en otra pgina.

Indica la salida de informacin por impresora.

Indica la salida de informacin en la pantalla o monitor.

Lneas de flujo o direccin. Indican la secuencia en que


se realizan las operaciones.

Academia de Sistemas e Informtica 15


Curso Remedial de Estructuras Algortmicas
I.T.S.Z.O.

Recomendaciones para el diseo de un Diagramas de Flujo

Se deben se usar solamente lneas de flujo horizontal y/o vertical.


Se debe evitar el cruce de lneas utilizando los conectores.
Se deben usar conectores solo cuando sea necesario.
No deben quedar lneas de flujo son conectar.
Se deben trazar los smbolos de manera que se puedan leer de arriba hacia
abajo y de izquierda a derecha.
Todo texto escrito dentro de un smbolo deber ser escrito claramente,
evitando el uso de muchas palabras.

4.2 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.
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.

4.3 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 presenta en la siguiente forma:

inicio
accin1
accion2

fin

Academia de Sistemas e Informtica 16


Curso Remedial de Estructuras Algortmicas
I.T.S.Z.O.

5. ESTRUCTURAS ALGORITMICAS

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:

Estructuras Algortmicas
Secuenciales Condicionales Cclicas
Asignacin Simples Hacer para
Entrada Mltiples Hacer mientras
Salida Repetir hasta

5.1. Estructuras Secuenciales

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. Una
estructura secuencial se representa de la siguiente forma:

inicio
accion1
accion2
.
.
accionN
fin

La asignacin consiste, en el paso de valores o resultados a


una zona de la memoria. Dicha zona ser reconocida con el
Asignacin
nombre de la variable que recibe el valor. La asignacin se
puede clasificar de la siguiente forma
Consiste en pasar un valor constate a una (a = 15)
Simples
variable
Consiste en usarla como un verificador del (a = a + 1)
Contador
nmero de veces que se realiza un proceso
Consiste en usarla como un sumador en un
Acumulador
proceso (a = a + b)
Donde puede recibir el resultado de una (a = c + b * 2 / 4)
De trabajo operacin matemtica que involucre muchas
variables

Academia de Sistemas e Informtica 17


Curso Remedial de Estructuras Algortmicas
I.T.S.Z.O.

La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el


Lectura teclado) un valor. Esta operacin se representa en un pseudocdigo
como sigue:

Leer a, b
Donde a y b son las variables que recibirn los valores

Consiste en mandar por un dispositivo de salida (p.ej. monitor o


Escritura impresora) un resultado o mensaje. Este proceso se representa en un
pseudocdigo como sigue:

Escribe El resultado es: , R


Donde El resultado es: es un mensaje que se desea aparezca y R es una
variable que contiene un valor.

Problemas Secuenciales

1) Suponga que un individuo desea invertir su capital en un banco y desea saber


cunto dinero ganar despus de un mes si el banco paga a razn del 2%
mensual.

Inicio
Leer cap_inv
ganancia = cap_inv * 0.02
Imprimir ganancia
Fin

2) Un vendedor recibe un sueldo base ms un 10% extra por comisin de sus


ventas, el vendedor desea saber cunto dinero obtendr por concepto de
comisiones por las tres ventas que realiza en el mes y el total que recibir en
el mes tomando en cuenta su sueldo base y comisiones.

Inicio
Leer sueldo_base, v1, v2, v3
total_vta = v1 + v2 + v3
comision = total_vta * 0.10
total_pag = sueldo_base + comision
Imprimir total_pag, comision
Fin

Academia de Sistemas e Informtica 18


Curso Remedial de Estructuras Algortmicas
I.T.S.Z.O.

3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un


cliente desea saber cunto deber pagar finalmente por su compra.

Inicio
Leer tc
d = tc * 0.15
tp = tc - d
Imprimir tp
Fin

4) Un alumno desea saber cul ser su calificacin final en la materia de


Algoritmos. Dicha calificacin se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificacin del examen final.
15% de la calificacin de un trabajo final.

Inicio
Leer c1, c2, c3, ef, tf
prom = (c1 + c2 + c3)/3
ppar = prom * 0.55
pef = ef * 0.30
ptf = tf * 0.15
cf = ppar + pef + ptf
Imprimir cf
Fin

5) Un maestro desea saber qu porcentaje de hombres y que porcentaje de


mujeres hay en un grupo de estudiantes.

Inicio
Leer nh, nm
ta = nh + nm
ph = nh * 100 / ta
pm = nm * 100 / ta
Imprimir ph, pm
Fin

6) Realizar un algoritmo que calcule la edad de una persona.


7)
Inicio
Leer fnac, fact
edad = fact - fnac
Imprimir edad
Fin

Academia de Sistemas e Informtica 19

Vous aimerez peut-être aussi