You are on page 1of 54

MANUAL DE ALGORITMO

Pgina 1

INDICE
Introduccin..2
Que es programacin3
Que es lgica computacional4
Clasificacin de los lenguajes de programacin.5-7
Que es un algoritmo8-10
Que es un pseudocdigo11-21
Diagramas de flujo...22-24
Que son las variables.25-29
Que es una constante.30-31
Tipos de datos.32
Operadores33-35
Simbolos de diagramas.36-37
Operaciones bsicas.38-52
Bibliografa..53
































MANUAL DE ALGORITMO

Pgina 2


Qu es programacin?

Se conoce como programacin en ciencias de la computacin a los pasos que se abordan para crear el cdigo fuente de un programa
informtico. De acuerdo con estos pasos, el cdigo se escribe, se prueba y se perfecciona.
El software informtico es aquel ejecutado por el hardware o dispositivos de una computadora, permitiendo que el usuario acceda a
funciones y operaciones de todo tipo. As, la programacin es una de las actividades ms determinantes en el desarrollo de sistemas
eficientes, rpidos y amigables para todo tipo de usuarios.
Se conoce como programadores a aquello encargados de desarrollar este cdigo con instrucciones para que el software se comporte
de una u otra manera de acuerdo con las rdenes que reciba. El lenguaje de programacin es, por otro lado, la serie de parmetros y
cdigos de los que el programador se vale para desarrollar software. Existen distintos tipos de lenguajes, como el C, BASIC o Ruby.
Adems, existe la ingeniera el software, que se dedica a desarrollar modelos de software para programas de gran envergadura.
Tpicamente, para programar un software o aplicacin, el programador debe en principio reconocer el principal problema o tarea a la
que se destinar el programa, definir los requisitos y tipo de funcionamiento, disear la arquitectura, implementar el programa,
implantarlo o instalarlo y, luego, perfeccionarlo sobre la base de pruebas y errores.
Hoy en da existen todo tipo de lenguajes de programacin, algunos ms sencillos o que tienen el propsito de facilitar la tarea de
desarrollar pequeas aplicaciones. Entre ellos, Ruby es uno de los ms popularizados en los ltimos aos, desarrollado por un
programador japons y que combina sintaxis de distintos lenguajes como Python o Perl.
As, prcticamente cualquier usuario informtico puede adquirir algunas nociones de programacin y desarrollar aplicaciones a su
medida.














MANUAL DE ALGORITMO

Pgina 3

Qu es un lenguaje de programacin?

Un lenguaje de programacin es un idioma artificial diseado para expresar computaciones que
pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para crear
programas que controlen el comportamiento fsico y lgico de una mquina, para expresar
algoritmos con precisin, o como modo de comunicacin humana.
1
Est formado por un conjunto de
smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus
elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se
mantiene el cdigo fuente de un programa informtico se le llama programacin.
Tambin la palabra programacin se define como el proceso de creacin de un programa de
computadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos:
y El desarrollo lgico del programa para resolver un problema en particular.
y Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin
del programa).
y Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.
y Prueba y depuracin del programa.
y Desarrollo de la documentacin













MANUAL DE ALGORITMO

Pgina 4

Qu es lgica computacional?
Muchas veces afirmamos que una cosa es lgica o un acontecimiento es lgico, y a lo que nos referimos en s
es a que, si a nuestro entender es razonable entonces en consecuencia ser lgico. Sin embargo esta slo
es una definicin intuitiva de lo que es, y adems dependera de la perspectiva de cada quien.

La lgica es una ciencia que estudia los procesos del pensamiento, su estructura sus formas y relaciones.
Teniendo como resultados respuestas claras, precisas y comprobables. Desechando todo resultado que no
sean evidentes y precisos. Cuando hablamos de lgica, se nos viene a la mente todos los procedimientos o
caminos ms cortos para desarrollar o resolver un problema, teniendo la oportunidad de desechar ideas o
razones errneas dando oportunidad a otros pensamientos ms factibles, hasta llegar al resultado vlido. Con
esto podemos tener el concepto siguiente : La lgica es la ciencia de los principios de la inferencia
formalmente vlida.

La lgica estudia la metodologa del pensar, todo lo que implica los procesos de la adquisicin del
conocimiento, y su estudio nos ayuda a formular mtodos cientficos, por lo que es instrumento en la
investigacin cientfica. Es importante notar que a pesar de toda la metodologa que implica la lgica, no es
necesario estudiarla para emplearla; esto es claro si tomamos en cuenta que todos los seres humanos
realizamos de manera implcita operaciones lgicas en nuestras actividades cotidianas, sin que
necesariamente nos demos cuenta de ello. Sin embargo el estudiarla nos sirve de herramienta para actuar
con mayor eficacia en la prctica de nuestra profesin.













MANUAL DE ALGORITMO

Pgina 5

Clasificacin de los lenguajes de programacin?
LENGUAJE MQUINA.
Los ordenadores slo entienden un lenguaje especfico para cada mquina, que se denomina
CDIGO MQUINA o Lenguaje Mquina. Este lenguaje utiliza un cdigo binario (smbolos 0" y 1").
Las rdenes que se dan a un ordenador han de ir codificadas en instrucciones, y estas forman los
programas. Las instrucciones tienen dos partes diferenciadas: cdigo de operacin y cdigo(s) de
operando(s):
CODOP CODOPERANDO(S)
En la primera, se codifica la operacin que realiza la instruccin. Este cdigo de operacin
siempre es nico para cada instruccin. En la segunda se indica(n) la(s) direccin(es) de memoria en la que se
encuentra el operando, hasta un mximo de tres, sobre el/(los) que se aplicar la operacin.
Puesto que cada tipo de ordenador tiene su cdigo mquina especfico, para programar en
este lenguaje el programador debe conocer la arquitectura fsica de la computadora con cierto detalle
(registros de la CPU, palabras de memora,...). La estructura del lenguaje mquina est totalmente
adaptada a los circuitos de la computadora y muy alejada del lenguaje que empleamos normalmente
para expresar y analizar los problemas que hoy da son resolubles con la computadora. Por ejemplo,
para hacer clculos aritmticos disponemos de un lenguaje matemtico fcil de comprender y claro,
que no se parece en nada al cdigo mquina necesario para hacer dichos clculos.
Las ventajas de los lenguajes mquina son:
- Un programa escrito en lenguaje mquina es directamente interpretable por el procesador
central. Una vez introducido el programa en la memoria principal de la computadora, no se necesitan
transformaciones previas para ser ejecutado (como ms adelante veremos que s ocurre con los
programas escritos en lenguajes de alto nivel).
- Los programas escritos en lenguaje mquina se ejecutan muy eficientemente (con rapidez),
debido a que el usuario lo redacta especficamente para los circuitos que lo han de interpretar y
ejecutar, y a que desde el cdigo mquina se puede utilizar la totalidad de los recursos de la
mquina.
Por contra, los lenguajes mquina tienen las siguientes caractersticas-inconvenientes:
- Las instrucciones son cadenas de ceros y unos, aunque estas cadenas se pueden introducir
en la computadora mediante un cdigo intermedio (octal o hexadecimal).
- Los datos se utilizan por medio de las direcciones de memoria donde se encuentran. En las
instrucciones no aparecen nombres de variables (i, j aux...), sino que el programador debe asignar las
direcciones de memoria para las variables y constantes del programa. Para realizar esta asignacin
se debe tener en cuenta la zona de memoria que ocupa el programa, para que no se solape con la
zona en la que se almacenan las variables.
- El repertorio de instrucciones suele ser muy reducido y las instrucciones realizan
operaciones muy simples.
En lenguaje mquina, hay varios tipos de instrucciones:
- De transferencia de informacin.
- De tratamiento o aritmtico-lgicas y de desplazamiento
- De transferencias de control: bifurcaciones, saltos, llamadas a procedimientos y
retornos de procedimientos.
Muchas computadoras, por ejemplo, no disponen de instrucciones especficas de multiplicar y
dividir; en su lugar, el programador debe ingenirselas para descomponer cada una de las
operaciones que desee realizar en trminos de las instrucciones elementales del repertorio mquina.
Por ejemplo, para multiplicar, se deber codificar un algoritmo que realice la multiplicacin por medio
de sumas, comparaciones, desplazamientos, etctera.
- Existe muy poca elasticidad y versatilidad para la redaccin de instrucciones. Estas tienen
un formato rgido en cuanto a posicin de los distintos campos que configuran la instruccin (cdigo
de operacin, direccin o direcciones de memoria, cdigos de puertos, etc.). El cdigo de operacin
debe seleccionarse estrictamente entre los que figuran en una tabla o repertorio fijo. Adems, un
programa mquina no permite el uso de sentencias declarativas, existiendo slo las instrucciones.
- El lenguaje mquina depende y est ligado ntimamente a la CPU del computador. Si dos
computadoras tienen CPUs diferentes, tendrn distintos lenguajes mquina. En particular, dos
MANUAL DE ALGORITMO

Pgina 6

microcomputadoras con el mismo microprocesador e iguales circuitos de control, tienen igual
lenguaje mquina. La dependencia del lenguaje mquina de la configuracin de la CPU hace que los
programas redactados en este lenguaje de programacin sean poco transferibles o transportables de
una computadora a otra.
- En un programa en cdigo mquina, no pueden incluirse comentarios que faciliten la
legibilidad del mismo. Adems, debido a su representacin totalmente numrica, es muy difcil de
reconocer o interpretar por el usuario.

1.4. CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN.
Tradicionalmente los lenguajes de programacin se pueden clasificar atendiendo a varios
factores:
- Segn su nivel. Hace referencia a lo prxima al hombre que est la forma de expresar las
sentencias:
* Lenguajes de bajo nivel y ensambladores (cercanos a la mquina).
* Lenguajes de alto nivel (cercanos al hombre).
- Segn la relacin traduccin-ejecucin.
* Compiladores.
* Intrpretes.
- Segn su campo de aplicacin:
* Aplicaciones Cientficas. Predominan los algoritmos de clculo numrico y matrices.
* Aplicaciones de Procesamiento de Datos. Sobresalen las tareas relativas a la
creacin, mantenimiento, consulta y listado de datos. Estos datos se organizan en registros, ficheros
y bases de datos.
* Aplicaciones de Tratamiento de Textos. Llevan a cabo la manipulacin de textos en
lenguaje natural.
* Aplicaciones en Inteligencia Artificial. Estn constituidas por programas que emulan
un comportamiento inteligente. Ej. juegos inteligentes (ajedrez, tres en raya, ...), robtica, sistemas
expertos, ...
* Aplicaciones de Programacin de Sistemas. Como por ejemplo aqullos que se
utilizan para desarrollar los mdulos de un Sistema Operativo, traductores de lenguajes, ...
- Segn el estilo de programacin:
* Imperativos.
* Declarativos.
Nos centramos en esta ltima clasificacin.
1.4.1. Lenguajes imperativos.
Los lenguajes imperativos o procedurales se basan en la asignacin de valores. Se
fundamentan en la utilizacin de variables para almacenar valores y en la realizacin de operaciones
con los datos almacenados. La mayora de los lenguajes son de este tipo (FORTRAN, BASIC,
COBOL, PASCAL, C, etc.).
Son los que ya hemos analizado:
a) Lenguajes de alto nivel, caracterizados por estar enfocados a la resolucin de problemas en
campos de aplicacin especficos y los programas escritos en ellos ser fcilmente trasladables de
una a otra computadora.
b) Lenguajes ensambladores y mquina, totalmente adaptados y predeterminados por la CPU de la
mquina.
1.4.2. Lenguajes declarativos.
Estn basados en la definicin de funciones o relaciones. No utilizan instrucciones de
asignacin (sus variables no almacenan valores). Son los ms fciles de utilizar (no se requieren
conocimientos especficos de informtica), estn muy prximos al hombre. Se suelen denominar
tambin lenguajes de rdenes, ya que los programas estn formados por sentencias que ordenan
qu es lo que se quiere hacer, no teniendo el programador que indicar a la computadora el proceso
detallado (el algoritmo) de cmo hacerlo.
En este grupo se incluyen ciertos lenguajes especializados en funciones tales como
recuperacin de la informacin en bases de datos (NATURAL e IMS), anlisis de circuitos
electrnicos (SPICE), y realizacin de clculos estadsticos (BMDP, SPSS, SAS, etc.).
MANUAL DE ALGORITMO

Pgina 7

Se dividen en lenguajes funcionales y lgicos.
1.4.2.1. Lenguajes funcionales.
Los lenguajes funcionales son un tipo de lenguajes declarativos, en los que los programas
estn formados por una serie de definiciones de funciones. Ejemplos de estos lenguajes son el LISP
y el SCHEME. Se suelen aplicar a problemas de Inteligencia Artificial.
1.4.2.2. Lenguajes lgicos.
Los lenguajes lgicos son el otro tipo de lenguajes declarativos, y en ellos los programas
estn formados por una serie de definiciones de predicados. Tambin se les denomina lenguajes de
programacin lgica, y el mayor exponente es el lenguaje PROLOG. Se aplican sobre todo en la
resolucin de problemas de Inteligencia Artificial.
















MANUAL DE ALGORITMO

Pgina 8

Qu es un algoritmo?
En matemticas, ciencias de la computacin y disciplinas relacionadas, un algoritmo (del griego y
latin, dixit algorithmus y ste a su vez del matemtico persa Al Juarismi ) es un conjunto preescrito
de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad
mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un
estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene
una solucin. Los algoritmos son el objeto de estudio de la algoritmia.
algoritmos son independientes tanto del lenguaje de programacin en que se expresan como de la computadora que los
ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programacin y ejecutarse en una
computadora distinta.

Caractersticas de los algoritmos
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o sea debe de tener un
nmero finito de pasos.

LOS ALGORITMOS SE CLASIFICAN EN:


1.-Ordenamiento Burbuja

Este es el algoritmo ms sencillo probablemente. Ideal para empezar. Consiste en ciclar repetidamente a travs de la
lista, comparando elementos adyacentes de dos en dos. Si un elemento es mayor que el que est en la siguiente
posicin se intercambian.
Ventajas:
Fcil implementacin.
No requiere memoria adicional.
Desventajas:
Muy lento.
Realiza numerosas comparaciones.
Realiza numerosos intercambios.

2.-Ordenamiento por Seleccin

Este algoritmo tambin es sencillo. Consiste en lo siguiente:
Buscas el elemento ms pequeo de la lista.
Lo intercambias con el elemento ubicado en la primera posicin de la lista.
Buscas el segundo elemento ms pequeo de la lista.
Lo intercambias con el elemento que ocupa la segunda posicin en la lista.
Repites este proceso hasta que hayas ordenado toda la lista.
Ventajas:
Fcil implementacin.
No requiere memoria adicional.
MANUAL DE ALGORITMO

Pgina 9

Realiza pocos intercambios.
Rendimiento constante: poca diferencia entre el peor y el mejor caso.
Desventajas:
Lento.
Realiza numerosas comparaciones.

3.-Ordenamiento por Insercin

En este tipo de algoritmo los elementos que van a ser ordenados son considerados uno a la vez. Cada elemento es
INSERTADO en la posicin apropiada con respecto al resto de los elementos ya ordenados.

Ventajas:
Fcil implementacin.
Requerimientos mnimos de memoria.
Desventajas:
Lento.
Realiza numerosas comparaciones.
Este tambin es un algoritmo lento, pero puede ser de utilidad para listas que estn ordenadas o semiordenadas, porque
en ese caso realiza muy pocos desplazamientos.

4.-Ordenamiento Rpido

Esta es probablemente la tcnica ms rpida conocida. Fue desarrollada por C.A.R. Hare en 1960. El algoritmo original
es recursivo, pero se utilizan versiones interactivas para mejorar su rendimiento (los algoritmos recursivos son en general
ms lentos que los iterativos, y consumen ms recursos). El algoritmo fundamental es el siguiente:
Eliges un elemento de la lista.
Buscas la posicin que le corresponde en la lista ordenada.
Acomodas los elementos de la lista a cada lado del elemento de divisin, de manera que a un lado queden todos los
menores que l y al otro los mayores . En este momento el elemento de divisin separa la lista en dos sublistas.
Realizas esto de forma recursiva para cada sublista mientras stas tengan un largo mayor que 1. Una vez terminado
este proceso todos los elementos estarn ordenados.
Una idea preliminar para ubicar el elemento de divisin en su posicin final sera contar la cantidad de elementos
menores y colocarlo un lugar ms arriba. Pero luego habra que mover todos estos elementos a la izquierda del
elemento, para que se cumpla la condicin y pueda aplicarse la recursividad. Reflexionando un poco ms se obtiene un
procedimiento mucho ms efectivo. Se utilizan dos ndices: i, al que llamaremos contador por la izquierda, y j, al que
llamaremos contador por la derecha. El algoritmo es ste:
Recorres la lista simultneamente con i y j: por la izquierda con i (desde el primer elemento), y por la derecha con j
(desde el ltimo elemento).
Cuando lista sea mayor que el elemento de divisin y lista[j] sea menor los intercambias.
Repites esto hasta que se crucen los ndices.
El punto en que se cruzan los ndices es la posicin adecuada para colocar el elemento de divisin, porque sabemos
que a un lado los elementos son todos menores y al otro son todos mayores (o habran sido intercambiados).
Al finalizar este procedimiento el elemento de divisin queda en una posicin en que todos los elementos a su izquierda
son menores que l, y los que estn a su derecha son mayores.
Ventajas:
Muy rpido
No requiere memoria adicional.
Desventajas:
Implementacin un poco ms complicada.
MANUAL DE ALGORITMO

Pgina 10

Recursividad (utiliza muchos recursos).
Mucha diferencia entre el peor y el mejor caso.

Ejemplos de los algoritmos






MANUAL DE ALGORITMO

Pgina 11

Que es un pseudocdigo?
El pseudocdigo (falso lenguaje) es comunmente utilizado por los programadores para omitir
secciones de cdigo o para dar una explicacin del paradigma que tom el mismo programador para
hacer sus cdigos esto quiere decir que el pseudocdigo no es programable sino facilita la
programacin.
El principal objetivo del pseudocdigo es el de representar la solucin a un algoritmo de la forma
ms detallada posible, y a su vez lo ms parecida posible al lenguaje que posteriormente se utilizara
para la codificacin del mismo.
Caractersticas y partes
Las principales caractersticas de este lenguaje son:
1. Se puede ejecutar en un ordenador
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. Modulo.
3. Tipos de datos.
4. Constantes.
5. Variables.
2. Cuerpo.
1. Inicio.
2. Instrucciones.
3. La definicin de datos se da por supuesta, sobre todo en las variables sencillas, si se
emplea formaciones: pilas, colas, vectores o registros, se pueden definir en la cabecera del
algoritmo, y naturalmente cuando empleemos el pseudocdigo para definir estructuras de
datos, esta parte la desarrollaremos adecuadamente Fin.

MANUAL DE ALGORITMO

Pgina 12

Funciones y operaciones
Cada autor usa su propio pseudocdigo con sus respectivas convenciones. Por ejemplo, la
instruccin "reemplace el valor de la variable x por el valor de la variable y" puede ser representado
como:
y asigne a el valor de



Las operaciones aritmticas se representan de la forma usual en matemticas.





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.




MANUAL DE ALGORITMO

Pgina 13


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 selectiva realiza una instruccin de dos posibles, segn el cumplimiento de una
condicin.
MANUAL DE ALGORITMO

Pgina 14



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.




MANUAL DE ALGORITMO

Pgina 15







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.











MANUAL DE ALGORITMO

Pgina 16

En este caso hay un Indicador es una variable o una funcin cuyo valor es comparado en cada caso
con los valores "Valor", si en algn caso coinciden ambos valores, entonces se ejecutarn las
Instrucciones 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
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:

MANUAL DE ALGORITMO

Pgina 17



La estructura anterior equivaldra a escribir:




Bucle para
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 decremento):



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 L y se quiere iterar por cada uno de sus elementos:
MANUAL DE ALGORITMO

Pgina 18




Si asumimos que los elementos de L son , entonces esta sentencia equivaldra
a:




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 L.
MANUAL DE ALGORITMO

Pgina 19

En general, las estructuras anidadas se muestran endentadas, para hacer ms sencilla su
identificacin a simple vista. En el ejemplo, adems de la indotacin, 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:
y Tenga un nico punto de inicio.
y Tenga un nmero finito de posibles puntos de trmino.
y Haya un nmero finito de caminos, entre el punto de inicio y los posibles puntos de trmino.
Funciones y procedimientos
Muchas personas prefieren distinguir entre funciones y procedimientos. Una funcin, al igual que una
funcin matemtica, recibe uno o varios valores de entrada y regresa una salida mientras que un
procedimiento recibe una entrada y no genera ninguna salida aunque en algn caso podra devolver
resultados a travs de sus parmetros de entrada si estos se han declarado por referencia (ver
formas de pasar argumentos a una funcin o procedimiento).
En ambos casos es necesario dejar en claro cules son las entradas para el algoritmo, esto se hace
comnmente colocando estos valores entre parntesis al principio o bien declarndolo
explcitamente con un enunciado. En el caso de las funciones, es necesario colocar una palabra
como regresar o devolver para indicar cul es la salida generada por el algoritmo. Por ejemplo, el
pseudocdigo de una funcin que permite calcular a
n
(un nmero a elevado a potencia n).

MANUAL DE ALGORITMO

Pgina 20
























MANUAL DE ALGORITMO

Pgina 21

Un ejemplo de procedimiento seria el algoritmo de Ordenamiento de burbuja, por el que partiendo de
una lista de valores estos se ordenan, ntese que en un procedimiento, no se calcula el valor de una
funcin, sino que se realiza una accin, en este caso ordenar la lista.











Ventajas del pseudocdigo sobre los diagramas de flujo
1. Ocupan mucho menos espacio en el desarrollo del problema.
2. Permite representar de forma fcil operaciones repetitivas complejas.
3. Es ms sencilla la tarea de pasar de pseudocdigo a un lenguaje de programacin formal.
4. Si se siguen las reglas de identacin se puede observar claramente los niveles en la estructura del
programa.
5. En los procesos de aprendizaje de los alumnos de programacin, estos estn ms cerca del paso
siguiente (codificacin en un lenguaje determinado, que los que se inician en esto con la modalidad
Diagramas de Flujo).
6. Mejora la claridad de la solucin de un problema



MANUAL DE ALGORITMO

Pgina 22

DIAGRAMA DE FLUJO DE DATOS


Componentes de un Diagrama de Flujo de Datos (DFD) segn la notacin de Yourdon y DeMarco.
Un diagrama de flujo de datos (DFD por sus siglas en espaol e ingls) es una representacin
grfica del "flujo" de datos a travs de un sistema de informacin. Un diagrama de flujo de datos
tambin se puede utilizar para la visualizacin de procesamiento de datos (diseo estructurado). Es
una prctica comn para un diseador dibujar un contexto a nivel de DFD que primero muestra la
interaccin entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explot" para
mostrar ms detalles del sistema que se est modelando.
Los diagramas de flujo de datos fueron inventados por Larry Constantine, el desarrollador original del
diseo estructurado, basado en el modelo de computacin de Martin y Estrin: "flujo grfico de datos"
. Los diagramas de flujo de datos (DFD) son una de las tres perspectivas esenciales de Anlisis de
Sistemas Estructurados y Diseo por Mtodo SSADM. El patrocinador de un proyecto y los usuarios
finales tendrn que ser informados y consultados en todas las etapas de una evolucin del sistema.
Con un diagrama de flujo de datos, los usuarios van a poder visualizar la forma en que el sistema
funcione, lo que el sistema va a lograr, y cmo el sistema se pondr en prctica. El antiguo sistema
de diagramas de flujo de datos puede ser elaborado y se compar con el nuevo sistema de
diagramas de flujo para establecer diferencias y mejoras a aplicar para desarrollar un sistema ms
eficiente. Los diagramas de flujo de datos pueden ser usados para proporcionar al usuario final una
idea fsica de cmo resultarn los datos a ltima instancia, y cmo tienen un efecto sobre la
estructura de todo el sistema. La manera en que cualquier sistema es desarrollado puede
MANUAL DE ALGORITMO

Pgina 23

determinarse a travs de un diagrama de flujo de datos. El desarrollo de un DFD ayuda en la
identificacin de los datos de la transaccin en el modelo de datos.
niveles, los cuales son:
y Nivel 0: Diagrama de contexto.
y Nivel 1: Diagrama de nivel superior.
y Nivel 2: Diagrama de detalle o expansin.
Caractersticas de los niveles
Diagrama de Contexto: Nivel 0
En el diagrama de contexto se caracterizan todas las interacciones que realiza un sistema con su
entorno (entidades externas), estas pueden ser otros sistemas, sectores internos a la organizacin, o
factores externos a la misma. Se dibuja un slo proceso que representa al sistema en cuestin y se
escribe su nombre en dicha burbuja como un sustantivo comn ms adjetivos. De l solamente
parten los flujos de datos que denotan las interrelaciones entre el sistema y sus agentes externos, no
admitindose otros procesos ni almacenamientos en el dibujo.
Resulta de gran utilidad de balanceo para los niveles posteriores de anlisis como herramienta de
balanceo.
Diagrama de Nivel Superior: Nivel 1
En el diagrama de nivel superior se plasman todos los procesos que describen al proceso principal.
En este nivel los procesos no suelen interrelacionarse directamente, sino que entre ellos debe existir
algn almacenamiento o entidad externa que los una. Esta regla de construccin sirve como ayuda
al analista para contemplar que en un nivel tan elevado de abstraccin (DFD Nivel 1) es altamente
probable que la informacin que se maneja requiera ser almacenada en el sistema aunque no est
especificado por un Requisito funcional, siendo en realidad un requisito no-funcional.
Diagrama de Detalle o Expansin: Nivel 2
En un diagrama de nivel 2 o mayor, comienzan a explotarse las excepciones a los caminos
principales de la informacin dado que aumenta progresivamente el nivel de detalle. De aqu en
adelante se permiten los flujos entre procesos.
El DFD nivel 2 puede considerarse el mximo para ser validado en forma conjunta con el usuario
dado que en los niveles posteriores el alto grado de complejidad del diagrama puede resultar de muy
difcil lectura para personas ajenas al equipo de sistemas. Tambin se recomienda el diagrama de
nivel superior.


MANUAL DE ALGORITMO

Pgina 24

PROGRAMACIN
LOS DATOS Y OPERACIONES BSICAS.
1. IDENTIFICADOR. Un identificador es una serie de caracteres formados por letras, dgitos y el carcter
subrayado ( _ ) que no inicie con dgito, as mismo es el nombre que damos a todo lo que manipulamos dentro de
un programa (variables, constantes, funciones, etc. . Por ejemplo variables, constantes, funciones, tipos definidos
por el usuario etc.
2. TIPOS DE DATOS. Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal
como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede
tomar una variable.














MANUAL DE ALGORITMO

Pgina 25

Que son las variables
Una variable es un identificador que puede tomar diferentes valores dependiendo del tipo que esta se declare.
Una variable es un identificador que puede cambiar de valor durante la ejecucin de un programa.
Una variable es una posicin de memoria donde se puede almacenar una valor para uso de un programa.
INICIALIZACIN DE VARIABLES
Inicializar una variable es el darle un valor despus que se ha declarado pero antes de que se ejecuten las
sentencias en las que se emplea.
CONSTANTES. Constantes son los valores que no pueden ser modificados. En C, pueden ser de cualquier tipo de
datos.
Adems de los ejemplificados anteriormente, Podemos crear constantes de caracteres con barra invertida. Estos
corresponden a los caracteres que son imposibles introducir desde el teclado.

Recomendaciones para el diseo de Diagramas 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 como 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 si 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).
y
y Todo diagrama debe tener un inicio y un fin.
y
y Se deben se usar solamente lneas de flujo horizontales y/o verticales.
y
y Se debe evitar el cruce de lneas utilizando los conectores.
y
y Se deben usar conectores solo cuando sea necesario.
y
y No deben quedar lneas de flujo son conectar.
y
y Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.
y
y Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras.
y
y Evitar la terminologa de un lenguaje de programacino maquina.
y
y Utilizar comentarios ya sea al margen o mediante el smbolo grafico comentarios para que este sea entendible
por cualquier persona que lo consulte.
y
MANUAL DE ALGORITMO

Pgina 26

y Si el diagrama abarca mas de una hoja es conveniente enumerarlo e identificar de donde viene y a donde se
dirige.
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.
El pseudocdigo se concibi para superar las dos principales desventajas del Diagrama de Flujo: el diagrama de
flujo es lento de crear y difcil de modificar sin un nuevo redibujo. Por otra parte el pseudocdigo es mas fcil de
utilizar ya que es similar al lenguaje natural.
Al contrario de los lenguajes de programacin de alto nivel como Pascalo Basic no existe un conjunto de reglas que
definan con precisin lo que es y lo que no es pseudocdigo. Varia de un programador a otro.
El pseudocdigo requiere de ciertos smbolos que ya tienen significado preciso y establecido a los que se les
conoce como palabras clave. Es necesario que exista una palabra clave para la seleccin y otra para la iteracin
condicional, as como para las instrucciones adicionales y otras estructuras de control.
Programacin estructurada
Mtodo disciplinado de escribir programas que sean claros, que se demuestren que son correctos y fciles de
modificar
Un programa se compone de:
a.
b. Estructuras de datos.- Los hechos reales, representacin en forma de datos, manera en que se organizan
los datos.
c. Operaciones primitivas elementales.- Son accionesque se ejecutan sobre los datos para transformarlos en
informacin.
d. Estructuras de control.- Son los mtodosque existen para dirigir el flujo de acciones que la computadora
deber ejecutar sobre los datos manejados por el programa.
Estructura de control secuencial
La computadora ejecutar automticamente enunciados uno despus del otro, en el orden en el cual se han escrito
de inicio a fin.
MANUAL DE ALGORITMO

Pgina 27


Ejemplo Sumar dos nmeros:
Pseudocdigo
Inicio
Entero a,b,c declara las variables a utilizar
Leer a,b solicita el valor de a y b
c= a+b suma a y b y lo almacena en c
Imprimir c muestra el resultado almacenado en la variable c
fin
Diagrama de flujo





MANUAL DE ALGORITMO

Pgina 28

ESTRUCTURA DE CONTROL SELECTIVA
Existen tres tipos de estructuras de control selectivas, estas se basan en una condicin o en una opcin para
decidir la parte del programa por el que pasar.
a.
b. Simple b)Doble o compuesta c)Mltiple
Selectiva simple.- evala una condicin, si esta es verdadera ejecuta la accin o acciones especificadas, si es falsa
no realiza ninguna accin.

Nota:Si existe sola una instruccin o sentencia dentro de la condicin no es necesario marcarlos con inicio y fin, en
caso contrario si, como se muestra en el diagrama anterior.
Selectiva doble o compuesta .- evala una condicin, si esta es verdadera ejecuta la accin o acciones
especificadas, si es falsa ejecuta otra accin o acciones.

Nota: Si existe sola una instruccin o sentencia dentro de la condicin no es necesario marcarlos con inicio y fin
como en este caso que la condicin fue falsa, en caso contrario si, en este ejemplo cuando la condicin fue
verdadera.




MANUAL DE ALGORITMO

Pgina 29

Ejemplo: Imprimir si un nmero es positivo o negativo

Nota: las variables no se especifican en el diagrama de flujo, pero si en el pseudocdigo .







En programacin, las variables son estructuras de datos que, como su nombre indica, pueden
cambiar de contenido a lo largo de la ejecucin de un programa. Una variable corresponde a un rea
reservada en la memoria principal del ordenador pudiendo ser de longitud:
y Fija.- Cuando el tamao de la misma no variar a lo largo de la ejecucin del programa.
Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones
como las colecciones de otras variables (arrays) o las cadenas.
y Variable.- Cuando el tamao de la misma puede variar a lo largo de la ejecucin.
Tpicamente colecciones de datos.




MANUAL DE ALGORITMO

Pgina 30

Que es una constante
Una constante representa a un valor (dato almacenado en memoria) que no puede cambiar
durante la ejecucin de un programa.

En C, una constante puede ser de tipo entero, real, carcter, cadena o enumerado. Las
constantes de tipo enumerado se van a estudiar en el apartado 4.1 Datos de tipos
enumerados. En cuanto a las dems, se pueden expresar de dos formas diferentes:
1. Por su valor.
2. Con un nombre (identificador).
Ejemplo 1: Las siguientes constantes de tipo entero estn expresadas por su valor:

-5
10

Para expresar una constante con un nombre, la constante debe ser declarada previamente.
Todas las constantes que se declaran en un programa son definidas de la misma forma,
indicando de cada una de ellas:
1. Su nombre (mediante un identificador).
2. El valor que simboliza (mediante una expresin).
En pseudocdigo, para declarar una constante, vamos a utilizar la sintaxis:

<nombre_de_la_constante> = <expresin>


Y para declarar ms de una constante en una misma lnea, las separaremos por medio de
comas (,).

Ejemplo 2: De modo que, si se quieren declarar las constantes de tipo entero del ejemplo 1,
asignndoles un identificador, se puede escribir, por ejemplo:

TEMPERATURA = -5
MES = 10

O tambin:

TEMPERATURA = -5, MES = 10
MANUAL DE ALGORITMO

Pgina 31



En programacin es una buena prctica escribir los identificadores de las constantes en
maysculas, de esta forma es ms fcil localizarlos en el cdigo de un programa (o
algoritmo). Durante la ejecucin de un programa, por medio del identificador de una
constante, se puede hacer referencia al valor (dato) que simboliza, tantas veces como sea
necesario
















MANUAL DE ALGORITMO

Pgina 32

Tipos de datos
Precisin. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a
cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".

Entrada. "Un algoritmo tiene cero o ms entradas: cantidades que le son dadas antes de que el
algoritmo comience, o dinmicamente mientras el algoritmo corre. Estas entradas son tomadas de
conjuntos especficos de objetos".

Salida. "Un algoritmo tiene una o ms salidas: cantidades que tienen una relacin especfica con las
entradas".

Eficacia. "Tambin se espera que un algoritmo sea eficaz, en el sentido de que todas las
operaciones a realizar en un algoritmo deben ser suficientemente bsicas como para que en
principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lpiz y
papel".

Knuth admite que, aunque su descripcin pueda ser intuitivamente clara, carece de rigor formal,
puesto que no est exactamente claro qu significa "precisamente definido", "de manera rigurosa y
no ambigua", o "suficientemente bsicas", y as sucesivamente.











MANUAL DE ALGORITMO

Pgina 33

OPERADORES

Operadores y Operandos
Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas
variables y/o constantes. Es decir, los operadores nos permiten manipular valores.
Los Tipos de Operadores que existen son tres: los relacinales, los Aritmticos y por ltimo los
lgicos
Operadores Aritmticos: Los operadores aritmticos permiten la realizacin de operaciones
matemticas con los valores (variables y constantes).
Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos
son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
Operando (Operador) Operando
Valor
(constante o variable)
Operadores Aritmticos
+ Suma
- Resta
* Multiplicacin
/ Divisin
Mod Modulo (residuo de la divisin entera)
Ejemplos:
Expresin Resultado
7 / 2 3.5
12 mod 7 5
4 + 2 * 5 14
Prioridad de los Operadores Aritmticos
* Todas las expresiones entre parntesis se evalan primero. Las expresiones con parntesis
anidados se evalan de dentro a fuera, el parntesis mas interno se evala primero.
* Dentro de una misma expresin los operadores se evalan en el siguiente orden.
1.- ^ Exponenciacin
2.- *, /, mod Multiplicacin, divisin, modulo.
3.- +, - Suma y resta.
* Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a
derecha.
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2 46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
MANUAL DE ALGORITMO

Pgina 34

3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
Operadores Relacinales:
* Se utilizan para establecer una relacin entre dos valores.
* Compara estos valores entre si y esta comparacin produce un resultado de certeza o falsedad
(verdadero o falso).
* Los operadores relacinales comparan valores del mismo tipo (numricos o cadenas)
* Tienen el mismo nivel de prioridad en su evaluacin.
* Los operadores relacinales tiene menor prioridad que los aritmticos.
Los operadores Relacinales son:
> Mayor que
< Menor que
> = Mayor o igual que
< = Menor o igual que
< > Diferente
= Igual
Ejemplos:
Si a = 10 b = 20 c = 30
a + b > c Falso
a - b < c Verdadero
a - b = c Falso
a * b < > c Verdadero
Ejemplos no lgicos:
a < b < c
10 < 20 < 30
T < 30 (no es lgico porque tiene diferentes operandos)
Operadores Lgicos:
* Estos operadores se utilizan para establecer relaciones entre valores lgicos.
* Estos valores pueden ser resultado de una expresin relacional.
Operadores Lgicos
And Y
Or O
Not Negacin
Operador And
Operando1 Operador Operando2 Resultado
T AND T T
T F F
F T F
F F F
Operador Or
Operando1 Operador Operando2 Resultado
T OR T T
MANUAL DE ALGORITMO

Pgina 35

T F T
F T T
F F F
Operador Not
Operando Resultado
T F
F T

Ejemplos:
(a < b) and (b < c)
(10<20) and (20<30)
T and T
T
Prioridad de los Operadores Lgicos
Not
And
Or

Prioridad de los Operadores en General
1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.- >, <, > =, < =, < >, =, Or

Ejemplo:
a = 10 b = 12 c = 13 d =10
((a > b)or(a < c)) and ((a = c) or (a > = b))
F T F F
T F
F







MANUAL DE ALGORITMO

Pgina 36


MANUAL DE ALGORITMO

Pgina 37

SIMBOLOS DE DIAGRAMAS DE FLUJO

REPRESENTACION SIMBOLO EXPLICACION SIMBOLO




Smbolo utilizado para marcar el inicio y el fin de diagrama de
flujo.




Smbolo utilizado para introducir los datos de entrada. Expresa
lectura.





Smbolo utilizado para representar una decisin. En su interior
se almacena una condicin y dependiendo del resultado de la
evaluacin de la misma se sigue por una de las ramas o
caminos alternativos. Este smbolo se utiliza en la estructura
selectiva si entonces y en las estructuras repetitivas repetir y
mientras.







Smbolo utilizado para representar la estructura selectiva doble
si entonces/sino. En su interior se almacena una condicin. Si
el resultado es verdadero se contina por el camino de la
izquierda, y si es falso por el camino de la derecha.





Smbolo utilizado para representar una decisin mltiple. En su
interior se almacena un selector, y dependiendo del valor de
dicho selector se sigue por una de las ramas o caminos
alternativos. Este smbolo se utiliza en la estructura selectiva
si mltiple,


NO
SI
MANUAL DE ALGORITMO

Pgina 38












Smbolo utilizado para representar la impresin de un
resultado. Expresa escritura.




Smbolos utilizados para expresar la direccin del flujo del
diagrama.




Smbolo utilizado para expresar conexin dentro de una
misma pagina.




Smbolo utilizado para expresar conexin entre paginas
diferentes.




Smbolo utilizado para expresar un modulo de un problema.
En realidad expresa que para continuar con el flujo normal del
diagrama debemos primero resolver el subproblema que
enuncia en su interior.


MANUAL DE ALGORITMO

Pgina 39


(OPERACIONES BASICAS)

IF

EJEMPLOS:

1.- Construya un diagrama de flujo tal que dadas la base y la altura de un triangulo, calcule e
imprima su superficie.



















INICIO
BASE, ALTU
SUP =(BASE*ALTU)/2
SUP
FIN
MANUAL DE ALGORITMO

Pgina 40



2.- Construya un diagrama de flujo tal que dado como datos el radio y la altura de un cilindro,
calcule e imprima el rea y su volumen.













3.-Construya el diagrama de flujo que calcule e imprima el numero de segundos que hay en un
determinado numero de das.










INICIO
RADIO, ALTU
VOL= 3.1416*(RADIO**2)/ALTU
VOL, ARE
FIN
INICIO
DIAS
SEG= DIAS*24 * 60 * 60
En, DIAS, hay, SEG
Segundos
FIN
MANUAL DE ALGORITMO

Pgina 41





EJERCICIOS PARA RESOLVER:
1.- Construya un diagrama de flujo tal que dado el costo de un artculo vendido y la cantidad de
dinero entregada por el cliente, calcule e imprima el cambio que se debe entregar al mismo.

2.- Escriba un diagrama de flujo tal que dado como datos el nombre de un dinosaurio, su peso y su
longitud, expresados estos dos ltimos en libras y pies respectivamente; escriba el nombre del
dinosaurio, su peso expresado en kilogramos y su longitud expresada en metros.

3.- Construya un diagrama de flujo que resuelva el problema que tienen en una gasolinera. Los
surtidores de la misma registran lo que surten en galones, pero el precio de la gasolina esta fijada
en litros. El diagrama de flujo debe calcular e imprimir lo que hay que cobrarle al cliente.

4.- Dada la matricula y 5 calificaciones de un alumno obtenidas a lo largo del semestre, construya
un diagrama de flujo que imprima la matricula del alumno y el promedio de sus calificaciones.

5.-Escriba un diagrama de flujo que permita calcular e imprimir el cuadrado y el cubo de un numero
entero positivo NUM.


IF ANIDADOS

Un if anidado es un if que es el objeto de otro if o else. Una sentencia else siempre se refiere
al if ms prximo que est en el mismo bloque. Un compilador bajo el estndar ANSI permite
tener como mximo 15 niveles de profundidad.
Es posible encadenar varios ifs y varios elses en algo conocido como escalera if- else -if por su
apariencia visual.

MANUAL DE ALGORITMO

Pgina 42

Las condiciones son evaluadas de arriba hacia abajo. Tan pronto se cumpla con una
condicin, las sentencias asociadas a ella son ejecutadas y el resto de la escalera es brincado.
Si ninguna de las condiciones son ciertas, el ltimo else es ejecutado (si est presente).

EJEMPLOS:
1.- Construya un diagrama de flujo tal que dado como dato la calificacin de un alumno en un
examen, escriba aprobado en caso de que esa calificacin sea mayor a 8.






















INICIO
CAL
CAL> 8
Aprobado
FIN
NO
SI
MANUAL DE ALGORITMO

Pgina 43

2.- Dado como dato el sueldo de un trabajador, aplique un aumento del 15% si su sueldo es
inferior a $ 1000. Imprima en este caso el nuevo sueldo del trabajador. Haga el diagrama de flujo
correspondiente.


























INICIO
SUE
SUE<1000
NSUE
FIN
AUM= SUE + 0.15
NSUE=SUE+AUM
NO
SI
MANUAL DE ALGORITMO

Pgina 44

3.- Construya un diagrama de flujo tal que dado como dato la calificacin de un alumno en un
examen, escriba aprobado si su calificacin es mayor o igual que 8 y reprobado en caso
contrario.














EJERICICIOS PARA RESOLVER:
1.- construya un diagrama de flujo talque dado como dato el sueldo de un trabajador, le aplique un
aumento del 15% si su sueldo es inferior a $1000 y 12% en caso contrario. Imprima el nuevo
sueldo del trabajador.

2.- Construya un diagrama de flujo tal que dado como datos los valores enteros P y Q, determine
si los mismos siguiente expresin. P
3
+ Q
4
2*P
2
< 680

3.-Construya un diagrama de flujo que le permita calcular la temperatura, teniendo en cuenta el
numero de sonidos emitidos por el grillo.

4.- Construya un diagrama de flujo tal que dado como datos de entrada tres nmeros enteros,
determine si los nmeros estn en orden decreciente.

FIN
INICIO
CAL
CAL > 8
Aprobado
Reprobado
MANUAL DE ALGORITMO

Pgina 45



SWITCH
Esta estructura permite considerar decisiones para ms de dos posibilidades
EJEMPLOS:
EJERCICIOS PARA RESOLVER:
1.- Un almacn de alimentos, atendiendo al monto anual que los clientes compran al almacn, los
clasifica y les otorga descuentos permanentes segn la tabla que se muestra a continuacin:
a.- Cliente Preferente
recibe el 5% de descuento en montos menores a 500.00 pesos
recibe el 10% de descuento en montos de 500.00 pesos o ms
b.- Cliente especial
recibe el 2% de descuento en montos menores a 500.00 pesos
recibe el 5% de descuento en montos de 500.00 pesos o ms
c.- Cliente Ordinario
no recibe descuento
2.-
SWITCH ANIDADOS
EJEMPLOS:
EJERCICIOS PARA RESOLVER:

-






MANUAL DE ALGORITMO

Pgina 46

CICLOS REPETITIVOS, (SIMPLES Y ANIDADOS).
FOR
La estructura repetir conocida comnmente como FOR, es la estructura algortmica adecuada
para utilizar en un ciclo que se ejecutara en un numero definido de veces. Este tipo de estructura
esta presente en todos los lenguajes de programacin, ya sean estructurados u orientados a
objetos. Por ejemplo cuando necesitamos calcular la nomina total de la empresa, tenemos que
sumar los sueldos de los N empleados de la misma. Cuando necesitamos obtener el promedio de
calificaciones de un curso, debemos sumar N calificaciones de los alumnos y dividir esa suma
entre N. es decir sabemos de antemano cuantas veces tenemos que repetir una determinada
operacin, accin o tarea. El nmero de veces se obtiene del planteamiento del problema o de
una lectura que indica que el nmero de iteraciones se debe realizar para N ocurrencias.
EJEMPLOS:
1.- Construya un diagrama de flujo tal que dado como datos los sueldos de 10 trabajadores de una
empresa, obtenga el total de nomina de la misma. Considere que adems que no puede utilizar
estructuras algortmicas repetitivas en la solucin del problema.
Datos: SUE1, SUE2, SUE3, SUE4, SUE5, SUE6, SUE7, SUE8, SUE9, SUE10.












NOMINA
FIN
INICIO
NOMINA=0
I = 1
1<10
SUE
NOMINA= NOMINA +
SUE
I = I + 1
NO
SI
MANUAL DE ALGORITMO

Pgina 47

2.- Escriba un diagrama de flujo tal que dado como datos N nmeros enteros, obtenga el numero
de ceros que hay entre estos nmeros.
Datos: N, NUM
1
, NUM
2
,,NUM
N











WHILE
La estructura algortmica mientras, comnmente conocida como while, es la estructura adecuada
para utilizar en un ciclo cuando no sabemos el nmero de veces que este se ha de repetir. Dicho
numero depende de las proposiciones dentro del ciclo por ejemplo, supongamos que tenemos que
obtener el total de una serie de gastos, pero no sabemos exactamente cuantos son; o cuando
tenemos que sacar el promedio de calificaciones de un examen, pero no sabemos precisamente
cuantos alumnos lo aplicaron. Tenemos que sumar las calificaciones e ir contando el numero de
alumnos, esto con el fin de poder obtener posteriormente el promedio. El ciclo se repite mientras
tengamos calificaciones de alumnos.
En la estructura mientras se distinguen dos partes:
Ciclo: conjunto de instrucciones que se ejecutaran repetidamente.
Condicin de terminacin: la evaluacin de esta condicin permite decidir cuando finalizara la
ejecucin del ciclo, La condicin se evalua al inicio del mismo.

CUECER
FIN
INICIO
CUECER=0
N
I = 1
1<N
NUM
NUM=0
CUECER= CUECER+1
I = I + 1
NO
NO
SI
SI
MANUAL DE ALGORITMO

Pgina 48

EJEMPLOS:
1.- Supongamos que debemos obtener la suma de los gastos que hicimos en nuestro ultimo viaje,
pero no sabemos exactamente cuantos fueron. Los datos son expresados en forma:
Datos: GASTO
1
, GASTO
2
,, -1












2.- Escriba un diagrama de flujo tal que dado un grupo de numero naturales positivos, calcule e
imprima el cubo de estos nmeros.







FIN
NOMINA
INICIO
SUMGAS=0
GASTO
GASTO <>-1
NOMINA= NOMINA + SUE
I = I + 1
NO
SI
INICIO
NUM
NUM <>-1
CUB=NUM**3
NUM
FIN
NO
SI
MANUAL DE ALGORITMO

Pgina 49

3.- Escriba un diagrama de flujo que lea un numero entero N y calcule la suma de la
siguiente serie: 1
1
+ 2
2
+ 3
3
+ N
N
















EJERCICIOS PARA RESOLVER
1.- Realiza un diagrama de flujo que calcule el trmino nmero 180 de la secuencia
FIBONACCI. Recuerde que los dos primeros nmeros de la serie son 0 y 1. El resto se
calcula como la suma de los nmeros inmediatos que le preceden.
2.-De una empresa con N empleados, necesitamos obtener el numero de empleado y
sueldo del trabajador con el mayor sueldo de la empresa. Haga el diagrama de flujo
correspondiente.
INICIO
SERIE=0
N
I = 1
1 < N
SERIE= SERIE + 1*1
I = I + 1
SERIE
FIN
MANUAL DE ALGORITMO

Pgina 50

3.-En el centro meteorolgico de Argentina se llevan los promedios mensuales de las
lluvias cadas en las principales regin es cerealeras del pas. Existen 3 regiones
importantes denominadas NORTEM CENTRO Y SUR. Haga un diagrama de flujo para
calcular lo siguiente.
a) el promedio anual de la regin centro.
b) el mes y registro con menor lluvia en la regin sur
c) La regin con mayor anual (considere que los registros anuales de las regiones son
diferentes)

4.- Escriba un diagrama de flujo tal que dado como datos 270 nmeros enteros, obtenga
la suma de los nmeros impares y el promedio de los nmeros pares.

5.- Escriba un diagrama de flujo que obtenga la suma e imprima los trminos de la
siguiente serie. 2, 5, 7, 10, 12, 15,17, . . . , 1 800

DO WHILE












MANUAL DE ALGORITMO

Pgina 51

VECTORES.
Vector es un arreglo unidimensional de tipo entero que se encuentra ordenado en forma
ascendente.
Ejemplos:
Ejercicios por resolver:
1.- Escriba un diagrama de flujo tal que dado como entrada un arreglo unidimensional nmeros reales,
obtenga como resultado la suma de los mismos.
2.- Construya un programa tal que dado como entrada un arreglo unidimensional de enteros y un
numero entero, determine cuantas veces se encuentra el numero dentro de arreglo.
3.- Construya un diagrama de flujo que permita insertar y eliminar elementos en un arreglo
unidimensional que se encuentra desordenado.
4.- Construya un diagrama de flujo que permita insertar y eliminar elementos en un arreglo
unidimensional de tipo entero que se encuentra desordenado.
5.- Construya un diagrama de flujo para almacenar en un arreglo unidimensional los 100 primeros
nmeros Fibonacci. Imprima al final el arreglo correspondiente.
-









MANUAL DE ALGORITMO

Pgina 52

MATRICES


Dada una matriz A(M X N) de tipo entero, construya un diagrama de flujo para calcular la
traspuesta de dicha matriz. La traspuesta de una matriz se obtiene al escribir las filas de la matriz A
como columnas. Por ejemplo si tenemos la siguiente matriz A.


A


La transpuesta de dicha matriz es la siguiente.


AT










-5 6 8 4
2 5 7 9
1 3 4 6
-5 2 1
6 5 3
8 7 4
4 9 6
MANUAL DE ALGORITMO

Pgina 53



BIBLIOGRAFIA
y D Appleby, y J.J. VandeKopple, Lenguajes de
programacin: paradigma y prctica, McGraw-Hill Interamericana,
1998
y
y T.W. Pratt y M.V. Zelkowitz, Lenguajes de programacin: diseo e
implementacin, Prentice-Hall Hispanoamericana, 3 ed., 1998
y
y R. Sethi, Lenguajes de programacin: conceptos y constructores ,
Addison-Wesley Iberoamericana, 1992

Este libro fue distribuido por cortesa de:
Para obtener tu propio acceso a lecturas y libros electrnicos ilimitados GRATIS
hoy mismo, visita:
http://espanol.Free-eBooks.net
Comparte este libro con todos y cada uno de tus amigos de forma automtica,
mediante la seleccin de cualquiera de las opciones de abajo:
Para mostrar tu agradecimiento al autor y ayudar a otros para tener
agradables experiencias de lectura y encontrar informacin valiosa,
estaremos muy agradecidos si
"publicas un comentario para este libro aqu".
INFORMACIN DE LOS DERECHOS DEL AUTOR
Free-eBooks.net respeta la propiedad intelectual de otros. Cuando los propietarios de los derechos de un libro envan su trabajo a Free-eBooks.net, nos estn dando permiso para distribuir dicho
material. A menos que se indique lo contrario en este libro, este permiso no se transmite a los dems. Por lo tanto, la redistribucin de este libro sn el permiso del propietario de los derechos, puede
constituir una infraccin a las leyes de propiedad intelectual. Si usted cree que su trabajo se ha utilizado de una manera que constituya una violacin a los derechos de autor, por favor, siga nuestras
Recomendaciones y Procedimiento de Reclamos de Violacin a Derechos de Autor como se ve en nuestras Condiciones de Servicio aqu:
http://espanol.free-ebooks.net/tos.html

You might also like