You are on page 1of 35

ALGORITMOS

INTRODUCCION
En la actualidad las computadoras se han convertido
en una de las herramientas ms importantes en todas
las actividades humanas, por las grandes cantidades
de informacin que procesan a unas velocidades que
el ser humano no podra igualar.
De aqu la importancia de aprender a manejar dicha
herramienta, pero lo mas importante es desarrollar la
habilidad de resolver problemas con la utilizacin de las
computadoras.
DEFINICIN DE
ALGORITMO
Un algoritmo es una secuencia de pasos lgicos y
ordenados con las cuales le damos solucin a un
problema determinado.

En la vida diaria cada uno de nosotros disea y


realiza algoritmos para solucionar los problemas
cotidianos, es as que al levantarnos de la cama ya
tenemos en la mente una serie de pasos que
debemos seguir para llegar al sitio de estudio o al
sitio de trabajo. Una vez en el sitio de estudio,
tenemos en nuestra mente una serie de tareas que
debemos realizar en unos horarios ya definidos.
Si quisiramos realizar una comida especial, en nuestra
mente construimos un algoritmo o serie de pasos que
debemos seguir en un orden especfico para que todo
nos salga como queremos. Si quisiramos transcribir
estos pasos en una hoja de papel, para que otra
persona realizara las mismas tareas y obtenga el mismo
resultado que nosotros, debemos seguir una serie de
normas para que esta otra persona nos entienda.

Por ejemplo debe estar escrito en el idioma que ella


comprende, se deben enumerar los pasos etc. Las
normas que se deben seguir al momento de transcribir
el algoritmo depende de quien ser el encargado de
ejecutarlo, por ejemplo si quisiramos escribir la receta
para que la ejecute una persona adulta las normas
sern diferentes a las que debemos seguir si quisiramos
escribir la receta para que le ejecute una nia.
CARACTERSTICAS DE LOS
ALGORITMOS
1. Un algoritmo debe ser preciso e indicar el orden de realizacin de cada
paso.
2. Un algoritmo debe estar definido. Si se sigue el algoritmo n veces, se
debe obtener el mismo resultado cada vez.
3. Un algoritmo debe ser finito. Se debe terminar en algn momento, o sea
debe tener un nmero finito de pasos.

Clasificacin de los algoritmos, segn quien los ejecute:

Algoritmos para ser ejecutados por personas.


Algoritmos para ser ejecutados por las computadoras.
Representacin de algoritmos
1. Descripcin Narrada
Este algoritmo es caracterizado porque sigue un proceso de
ejecucin comn y lgico, describiendo textualmente paso a
paso cada una de las actividades a realizar dentro de una
actividad determinada.
Ejemplo : Algoritmo para asistir a clases:
1. Levantarse
2. Baarse
3. Vestirse
4. Desayunar
5. Cepillarse los dientes
6. Salir de casa
7. Tomar la movilidad
8. Llegar al centro de estudios
9. Buscar el aula
10. Ubicarse en un asiento
2. Diagramas de Flujo.
Son la representacin grfica de la solucin algortmica de un problema.
Para disearlos se utilizan determinados smbolos o figuras que representan
una accin dentro del procedimiento. Utilizan unos smbolos normalizados,
con los pasos del algoritmo escritos en el smbolo adecuado y los smbolos
unidos con flechas, denominadas lneas de flujo, que indican el orden en
que los pasos deben ser ejecutados.

Para su elaboracin se siguen ciertas reglas:


Se escribe de arriba hacia abajo y de izquierda a derecha
Siempre se usan flechas verticales u horizontales, jams curvas
Evitar cruce de flujos
En cada paso expresar una accin concreta

Secuencia de flujo normal en una solucin de problema


Tiene un inicio
Una lectura o entrada de datos
El proceso de datos
Una salida de informacin
Un final
Simbologa para disear Diagramas de Flujo

Representa un proceso que no es ms que una accin una


orden a ejecutarse de manera clara y concreta. Un ejemplo
tpico de proceso es la asignacin de un valor a una variable.

Representa una Decisin. En su interior podemos escribir la


condicin de la cual depende la decisin y por sus extremos
derecho (o izquierdo) e inferior se pueden colocar las salidas
para los casos en que la condicin sea Falsa o sea Verdadera.

Expresa un proceso de entrada o salida, teniendo en cuenta


que una entrada en un algoritmo se concibe como el proceso
a travs del cual se recibe informacin y una salida es el
proceso a travs del cual se entrega informacin.

Representa la escritura de un resultado o lo que tcnicamente


se conoce como una salida.
Representa el Inicio el Fin de un Algoritmo. Todo lo que
se tiene que hacer es escribir la palabra Inicio o Fin y
ubicarlo apropiadamente dentro del Diagrama de Flujo.

Representa una entrada de datos utilizando el teclado


del computador. Todo lo que tenemos que escribir en su
interior es el nombre de la variable (o las variables) en
donde queremos que se almacene el dato que entra
por el teclado.
Conector lgico. Nos permite representar la
continuacin de un Diagrama de Flujo en la misma hoja.

Conector lgico. Nos permite representar la


continuacin de un Diagrama de Flujo cuando este es
tan largo que no cabe en una sola hoja.

Este smbolo representa una salida de datos pero escrita


en la pantalla del computador. Es un smbolo un poco
ms moderno para efectos de los diagramas de flujo.

Las flechas son los smbolos que nos van a permitir


representar la forma de conexin entre los dems
smbolos determinando igualmente el Flujo de ejecucin
o realizacin de acciones.
3. Diagramas N-S

Herramienta que favorece la programacin


estructurada y rene caractersticas grficas propias de
diagramas de flujo y lingsticas propias de
pseudocdigos. Constan de una serie de cajas
contiguas que se leern siempre de arriba-abajo y sus
estructuras lgicas son las siguientes:
Estructura Secuencial Estructura Selectiva

Accin A
Accin B
.
..
Accin n
Estructura Repetitiva
4. Descripcin en Seudocdigo

Seudo = falso. El seudo cdigo no es realmente un cdigo sino una


imitacin y una versin abreviada de instrucciones reales para las
computadoras. Es una tcnica para diseo de programas que permite
definir las estructuras de datos, las operaciones que se aplicarn a los
datos y la lgica que tendr el programa de computadora para
solucionar un determinado problema. Utiliza un pseudolenguaje muy
parecido a nuestro idioma, pero que respeta las directrices y los
elementos de los lenguajes de programacin. Se concibi para
superar las dos principales desventajas de los flujogramas: lento de
crear y difcil de modificar sin un nuevo redibujo.

Ejemplo 1
Disear un algoritmo que lea cuatro variables y calcule e imprima su
producto, suma y media aritmtica.
inicio
leer (a, b, c, d)
producto <-- (a * b * c * d)
suma <-- (a + b + c + d)
media <-- (a + b + c + d) / 4
escribir (producto, suma, media)
fin
CUADRO COMPARATIVO

TECNICA VENTAJAS DEVENTAJAS


Diagrama de Flujo - Permite visualizar grficamente el - Dado que los flujos, (representados por
camino que sigue la solucin del flechas) pueden ir de cualquier lugar a
problema. cualquier lugar, el diagrama podra llegar
- Por ser tan simplificado es muy a ser inentendible.
entendible. - Deben conocerse bien los smbolos que
- No se necesitan muchos conocimientos se van a utilizar.
tcnicos para utilizar esta tcnica. - No todos los smbolos estn
estandarizados.
- Algunas veces la analoga entre el
diagrama y la codificacin en el lenguaje
de programacin resulta ser compleja

Diagrama N-S - Permite tener un marco referencial - Exige una fundamentacin tcnica que
concreto y definido para la permite representar la solucin a
representacin de los algoritmos. cualquier problema a travs de las 3
- Slo tiene tres esquemas que le estructuras bsicas
permiten a su vez representar las 3 - No es una tcnica muy popularizada
estructuras bsicas.
- Exige orden en la representacin de un
algoritmo
- Es muy entendible
- La analoga entre la codificacin y el
diagrama, normalmente es directa y por
lo tanto muy sencilla.
Seudocdigo - Permite expresar la solucin algortmica - Exige mucho orden para ser utilizada
a un problema en nuestro propio eficientemente
lenguaje y casi con nuestras propias - Exige entendimiento claro de los
reglas conceptos de algoritmos como tales.
- La codificacin se facilita demasiado - Las decisiones deben estar encasilladas
dado que la trasncripcin es directa. dentro de los alcances de los operadores
- Si el programador es ordenado, esta lgicos y booleanos
puede llegar a ser la tcnica ms
entendible
ELEMENTOS DE UN ALGORITMO
Datos
Identificadores (nombres de variables)
Expresiones
Funciones
Estructuras de Control
Palabras Reservadas
Caracteres especiales
ESTRUCTURAS BSICAS DE
CONTROL
Se refieren a el orden en que las instrucciones de un
algoritmo se ejecutarn.
El orden de ejecucin de las sentencias o instrucciones
determinan el flujo de control.
Las tres estructuras de control bsico son:
Secuencial
Seleccin
Repeticin
Estructura secuencial
Se caracteriza porque una accin se ejecuta detrs de
otra.
Dentro de este tipo podemos encontrar operaciones de
inicio/fin, inicializacin de variables, operaciones de
asignacin, clculo, sumarizacin, etc.
Se representa de la siguiente manera:
INICIO
Accin A
Accin B
Accin A
.
..
Accin A
B
Accin n

. INICIO
ACCIN A
ACCIN B
.

FIN .
FIN
Ejemplos:
a) Realizar las cuatro operaciones bsicas de dos
nmeros
b) Calcular el precio de venta de un producto, teniendo
en cuenta lo siguiente:
PV = PC + PG
donde:
PV= Precio de venta
PC= Precio de Compra
PG= Porcentaje de ganancia
ESTRUCTURAS SELECTIVAS
De decisin
Este es el caso cuando existen un nmero de posibles
alternativas resultantes de la evaluacin de una
determinada condicin.
Estas estructuras se identifican porque en la fase de
solucin del problema existe algn punto en el cual es
necesario establecer una pregunta, para decidir si
ciertas acciones deben realizarse o no.
Las condiciones se especifican usando expresiones
lgicas.
Selectiva Simple
cond F condicin
V F
V
Acciones
Acciones

Si condicin1 entonces
accin 1
accin 2
.
accin n
Fin Si
Selectiva Simple Anidada o
Compuesta

Si condicin1 entonces
Si condicin 2 entonces
.
.
Accin

Fin si
Fin Si
Selectiva Doble
condicin
cond V F

Accin S1 Accin S2

Accin S1 Accin S2

Si condicin1 entonces
acciones
Si no entonces
acciones
Fin Si
Selectiva Mltiple: (SEGN SEA, CASO DE / CASE)
Selectiva Mltiple: (SEGN SEA, CASO DE /
CASE)
segn sea expresin ( E ) hacer
e1: accin s1
accin s2
.
.
e2: accin s1
accin s2
.
.
.
en: accin s1
accin s2
.
.
si_no
accin sx
fin_segn
ESTRUCTURAS ITERATIVAS
repeticin, reiteracin.
Las estructuras iterativas o repetitivas controlan el
nmero de veces que una accin o grupo de acciones
deben ejecutarse.
Son utilizadas para repetir una o varias acciones un
nmero determinado de veces.
La repeticin de una secuencia de instrucciones un
determinado nmero de veces, se denomina bucle.
El hecho de repetir la ejecucin de una secuencia de
acciones se le denomina iteracin.
MIENTRAS (WHILE)

mientras condicin

F
COND

acciones
V

ACCIONES

Diagrama de flujo Diagrama N-S


mientras condicin hacer while condicin do
accin 1 accin 1
accin 2 accin 2
. .
. .
accin n accin n
fin-mientras endwhile

Pseudocdigo en espaol e ingls


HACER MIENTRAS (DO-
WHILE)
HACER MIENTRAS (DO-WHILE)

hacer

acciones
acciones

mientras
condicin
V
Hacer
F acciones
.
.
Mientras (condiccin)
REPETIR (REPEAT)

acciones

acciones

REPETIR condiciones

condicin
F Repetir
acciones
V .
.
hasta
DESDE/PARA (FOR)

V= mi, m2, m3
desde v= m1, hasta m2 (m3) hacer

acciones
proceso

Fin desde

You might also like