Está en la página 1de 48

ALGORITMOS

Un algoritmo es el
conjunto de operaciones y
procedimientos que deben
seguirse para resolver un
problema
CARACTERÍSTICAS DE
LOS ALGORITMOS

Dado que un algoritmo es una lista


precisa de pasos, el orden de ejecución
será casi siempre crítico para su
funcionamiento. En general, se asume
que las instrucciones se enumeran
explícitamente, y deben ejecutarse
“desde arriba hacia abajo”, lo cual se
establece más formalmente según el
concepto de flujo de control.
Dada entonces, la complejidad en
sus instrucciones, Los algoritmos
presentan las siguientes
características:
Ordenado: el orden de ejecución de
sus pasos o instrucciones debe ser
riguroso, algunos tendrán que ser
ejecutados antes de otros, de
manera lógica, por ejemplo, no se
podrá imprimir un archivo, si
previamente no se ha encendido la
impresora y no se podrá encender la
impresora si previamente no se tiene
una. Cada uno de ellos debe ser lo
sufi cientemente claro para que
determine con exactitud lo que se
debe hacer.
Defi nido: si el algoritmo se ejecuta
en repetidas ocasiones, usando los
mismos datos, debe producir
siempre el mismo resultado.

Finito: todo algoritmo posee un


inicio, de igual forma debe tener un
fi nal; la ejecución de sus
instrucciones debe terminar una vez
procese los datos y entregue
resultados.

Adicionalmente, el algoritmo debe


plantear soluciones generales, es
decir, que puedan ser utilizadas en
varios problemas que tengan las
mismas características.
Clasifi cación de los
algoritmos

Existen diferentes clasificaciones de los


algoritmos. Algunos autores contemplan
la categoría de algoritmos matemáticos y
computacionales. Otros autores, por su
parte los dividen en algoritmos
computacionales y no computacionales,
también denominados algoritmos
informales
Algoritmos matemáticos: mediante un
conjunto de pasos, describen como se
realiza una operación matemática.

Algoritmo informal: son aquellos que


son ejecutados por el ser humano. Por
ejemplo, cepillarse los dientes o preparar
un alimento.
Aunque muchos de las actividades que
en la actualidad se pueden numerar en
esta categoría, podrán cambiar debido a
los adelantos tecnológicos

Algoritmos computacionales: son


aquellos que se diseñan para que luego
puedan ser ejecutados por un
computador.
Algoritmos matemáticos: mediante un
conjunto de pasos, describen como se
realiza una operación matemática.

Algoritmo informal: son aquellos que


son ejecutados por el ser humano. Por
ejemplo, cepillarse los dientes o preparar
un alimento.
Aunque muchos de las actividades que
en la actualidad se pueden numerar en
esta categoría, podrán cambiar debido a
los adelantos tecnológicos

Algoritmos computacionales: son


aquellos que se diseñan para que luego
puedan ser ejecutados por un
computador.
REPRESENTACIÓN DE UN
ALGORITMO
Para representar algoritmos debe usarse
una notación simple y lo
suficientemente clara para que no se de
lugar a ambigüedades.
Estas notaciones son muy útiles para
entender la lógica de los problemas y
poder luego traducirlas a cualquier
lenguaje de programación de una
manera simple y casi mecánica.
Dentro de las formas más utilizadas
para representar algoritmos se
encuentran las siguientes:
1. Descripción narrada.
2. Diagramas de flujo.
3. Pseudocódigo.
un granjero fue al mercado y compró
un lobo, una cabra y una col. Para
volver a su casa tenía que cruzar un
río. El granjero dispone de una barca
para cruzar a la otra orilla, pero en la
barca solo caben él y una de sus
compras.

Si el lobo se queda solo con la cabra se


la come, si la cabra se queda sola con
la col se la come.

El reto del granjero era cruzar él


mismo y dejar sus compras a la otra
orilla del río, dejando cada compra
intacta. ¿Cómo lo hizo?
REPRESENTACIÓN DE UN
ALGORITMO
Descripción narrada
Los pasos o instrucciones se describen
mediante un lenguaje natural, usando
palabras o frases normales y corrientes. Su
uso principal se da en el diseño de algoritmos
informales. Son ejemplos de ellos:
 Indicar como se llega a una dirección.
 Preparar una deliciosa receta de cocina.
 Registrarse en Netflix para disfrutar de su
contenido.
Antes de entrar en detalle con los diagramas
de flujo y pseudocódigos, que son las formas
de más uso para la representación de
algoritmos computacionales, se debe
establecer que este tipo de algoritmos siguen
un patrón de ejecución en 3 etapas:

Entrada Proceso Salida


Entrada: en esta etapa se le proporciona al
algoritmo los datos que se poseen del
problema y que son necesarios para su
solución.
Proceso: hace referencia a los pasos,
actividades, instrucciones o cálculos que
realiza el algoritmo para solucionar el
problema o encontrar un resultado.
Generalmente, en esta etapa se transforman
los datos de entrada en resultados de salida.
Salida: es la entrega de resultados o la
respuesta dada por el algoritmo.
DIAGRAMAS DE FLUJOS
Es la representación grafica de un
algoritmo. Lo conforma un conjunto
de componentes que permiten representar
acciones, decisiones o cálculos con los
cuales se soluciona un problema
determinado. Cuando el diagrama de flujo
esta correctamente diseñado, la
concepción de un programa en un lenguaje
de programación, en fácilmente
codificable.
SIMBOLOGÍA DE DIAGRAMAS DE
FLUJOS
Símbolo Nombre Función
Representa el inicio y el final
del algoritmo. Se rotula con la
palabra Inicio o la palabra
Inicio/final Final.
En cada algoritmo solo puede
estar presente un inicio y un
final.
Indica el orden de ejecución

Línea de flujo de las operaciones.

La flecha indica la siguiente

instrucción.
Permite la interacción con el

Entrada entorno, a través de este

símbolo el algoritmo recibe


SIMBOLOGÍA DE DIAGRAMAS DE
FLUJOS
Símbolo Nombre Función
Se usa para indicar la
Proceso ejecución de una acción.

Permite la interacción con el

Salida/Mostrar por pantalla entorno, a través de este

Símbolo muestra resultados.

Indica escritura.
una toma de
decisiones.
No Si Decisión Se Marca con una expresión
Condición
relacional o lógica,
dependiendo de su resultado
se toma un camino de
ejecución.
PASOS PARA EL DISEÑO DE
ALGORITMOS

1. Análisis del problema. En el análisis del


problema se requiere del máximo de creatividad e
imaginación. Debido a que se busca una solución
se debe examinar cuidadosamente el problema a
fin de identificar que tipo de información es
necesaria producir. Enseguida se deben identificar
aquellos elementos de información ofrecidos por el
problema y que resulten útiles para obtener la
solución al problema
PASOS PARA EL DISEÑO DE
ALGORITMOS

2. Identificar datos de entradas y salidas. Se


trata de los datos necesarios para realizar la tarea
o solución del problema, se debe definir que
formato deben tener los datos de entrada, de
donde provienen los datos de entrada, como se
obtienen esos datos, cómo interactúan los datos
entre sí para obtener el resultado, muy importante
tener claro cuál será el resultado que se desea
obtener, tampoco dejar de lado las restricciones
que puede haber al momento de procesar los
datos.
PASOS PARA EL DISEÑO DE
ALGORITMOS

3. Diseño del algoritmo. Una vez que tenemos claro


el problema, después de haber definido todas las entradas y
salidas que va tener el programa, también las tareas a realizar,
es hora de diseñar el algoritmo y que irá de acuerdo a todas
las especificaciones anteriores y posteriormente será
implementado en un lenguaje de programación para ser
ejecutado por la computadora.
El algoritmo se lo puede hacer de cualquier
forma: Pseudocódigo o Diagrama de Flujo, la idea principal
es que sea entendible, y no solo por el que lo diseñó si no por
cualquier persona.
PASOS PARA EL DISEÑO DE
ALGORITMOS
4. Verificación y prueba de escritorio. es la fase que nos
permite saber si el algoritmo cumplió o no su objetivo, para realizar la
comprobación se le dan variables de entrada al algoritmo y se observan
los resultados que arroja, por otra parte y haciendo uso de papel y lápiz
se realiza una prueba de escritorio que consiste en realizar las
operaciones que el algoritmo debe realizar y se comprueban los
resultados obtenidos del algoritmo contra los resultados obtenidos en la
prueba de escritorio, en caso de que ambos coincidan, se concluye que
el algoritmo funciona para resolver el problema planteado, en caso
contrario se debe volver a la fase de definición del problema para
buscar el error.
Ejercicio

Diseñe un algoritmo que


permita calcular el área
de un triangulo
PASOS PARA EL DISEÑO DE
ALGORITMOS

5. Implementación en programa de
computadora.
Una vez verificado el algoritmo, se procede a
implementarse en lenguaje de programación
en una computadora, en el caso de los
diagramas de flujo se usara el programa DFD
de la universidad del magdalena
Para el uso de los símbolos de diagrama de
flujo, se deben tener presentes las
siguientes consideraciones:

Terminal
En un diagrama deben existir solamente
dos de estos símbolos, uno marcado con
la palabra Inicio y otro con la palabra Fin

Inicio
Del Inicio solo puede salir
una única línea de flujo.
El Fin, recibe una única
Fin línea de flujo.
Entrada
A este símbolo entra y sale una única línea
de flujo.
Se marca con el identificador de la variable
que recibirá el valor que proporcione el
usuario del algoritmo. La variable debe ser
uno de los datos disponibles para la
solución del problema.

Variable
Proceso
A este símbolo entra y sale una única línea
de flujo . Se escribe la instrucción que se
vaya a ejecutar, puede ser, por ejemplo,
una instrucción de asignación.

Instrucción
Salida
A este símbolo entra y sale una única línea
de flujo. Se utiliza para mostrar resultados o
mensajes. Dentro de él se puede escribir
el nombre de una variable o una constante,
una operación matemática, un mensaje con
alguna variable o constante o combinar
varios de estos elementos
Diseñar un algoritmo que permita identificar
si un número es par o no
Operadores

En algoritmo, se usan diferentes tipos de


Operadores, entre los que
encontramos Matemáticos, Relacionales, Lógicos y
con operaciones sobre Cadenas.

Los operadores son símbolos que representan una


acción a realizar con los números o elementos que se
encuentran antes o después. Otra definición de
operadores es que son elementos que relacionan de
forma diferente, los valores de una o más variables
y/o constantes. Es decir, los operadores nos permiten
manipular valores.
OPERADORES MATEMÁTICOS

Los operadores Matemáticos, nos sirven para


realizar la representación de fórmulas. En la
Programación, los operadores nos sirven como para
utilizarse en fórmulas dentro de un algoritmo
además de realizar comparaciones y también para
agrupar elementos. A continuación se muestra una
lista con los operadores mas usados en algoritmos.
OPERADORES RACIONALES
Operación Símbolo Sintaxis
Mayor que > valor1 > valor2
Menor que < valor1 < valor2

Mayor igual que >= valor1 >= valor2

Menor igual que <= valor1 <= valor2

Igual que = valor1 = valor2


Diferente de != valor1 != valor2

Tanto los operadores relacionales como los operadores lógicos,


retornan valores de tipo lógico o booleano, en el caso de FreeDFD,
retornan “.V.” (verdadero o 1) o “.F.” (falso o 0).
OPERADORES MATEMÁTICOS

Operación Símbolo Sintaxis


Suma + valor1 + valor2
Resta – valor1 – valor2
Multiplicación * valor1 * valor2
División / valor1 / valor2
Residuo mod valor1 mod valor2
Potencia ^ valor1 ^ valor2
Raíz Cuadrada sqrt sqrt(valor)
Valor Absoluto abs abs(valor)
Seno sin sin(valor)
Coseno cos cos(valor)
Tangente tan tan(valor)
ALGORITMOS: PSEUDOCÓDIGO

Pseudocódigo: Es un lenguaje de
especificación de algoritmos. El uso de tal
lenguaje hace el paso de codificación final
(esto es, la traducción a un lenguaje de
programación) relativamente fácil.

El pseudocódigo nació como un lenguaje


similar al lenguaje natural y era un medio
para representar básicamente las
estructuras de control de programación
estructurada.
ALGORITMOS: PSEUDOCÓDIGO

Se considera un primer borrador, dado


que el pseudocódigo tiene que traducirse

posteriormente a un lenguaje de
programación. La ventaja del
pseudocódigo es que en su uso en la
planificación de un programa, el
programador se puede concentrar en la
lógica y en las estructuras de control y no
preocuparse de las reglas de un lenguaje
específico.
ALGORITMOS: PSEUDOCÓDIGO

Es también fácil modificar el pseudocódigo


si se descubren errores o anomalías en la
lógica del programa, además de todo esto
es fácil su traducción a lenguajes como
Pascal, C o Basic. El pseudocódigo utiliza
para representar las acciones sucesivas
palabras reservadas (similares a sus
homónimos en los lenguajes de
programación), tales como inicio, fin, si‐
entonces‐sino, mientras,….etc.
ALGORITMOS: PSEUDOCÓDIGO

EJEMPLO: Si se desea crear un


programa que calcule la suma de
dos números enteros
cualesquiera introducidos por el
usuario y después, muestre por
pantalla el resultado obtenido:
ALGORITMOS: PSEUDOCÓDIGO
Algoritmo_Pseudocódigo_Sumar_variables

entero a, b, c

inicio

escribir (“Introduzca el primer número (entero): “)

leer (a)

escribir (“Introduzca el segundo número (entero): “)

leer (b)

c=a+b

escribir (“La suma es: ", c)

fin
ALGORITMOS: PSEUDOCÓDIGO
Algoritmo_Pseudocódigo_Sumar_variables

Entero a, b, c

inicio

Escribir (“Introduzca el primer número (entero): “)

Leer (a)

Escribir (“Introduzca el segundo número (entero): “)

Leer (b)

c=a+b

Cscribir (“La suma es: ", c)

fin
ALGORITMOS: PSEUDOCÓDIGO
¿Cómo se escribe en Pseudocódigo?

Como ya dijimos es un lenguaje intermedio entre el


lenguaje de programación que usemos y el nuestro.

No hay unas reglas fijas para escribir en pseudocódigo,


pero la mayoría de la gente usa más o menos el mismo
vocabulario.

Por ejemplo si queremos escribir algo en pantalla, en


pseudocódigo podríamos poner:

Escribir "Hola" , Escribir 20 o Escribir Variable

OJO escribir 20 y escribir "20" son dos cosas diferentes. Lo


que sea texto siempre se pone entre comillas, los número
ALGORITMOS: PSEUDOCÓDIGO

Instrucciones básicas

Inicio: Inicia un bloque de instrucciones

Fin: Finaliza un bloque de instrucciones

Tipo de variable:

Entero, Real, Carácter, Lógico.

Leer: Obtiene un dato introducido por


teclado por el usuario.

Escribir: Visualiza en pantalla un dato


ALGORITMOS: PSEUDOCÓDIGO

Instrucciones básicas

Si: Inicia un bloque de instrucción de una


condición.

Entonces: Indica lo que sucederá al


cumplirse la condición Si.

Si No: Indica lo que sucederá al No


cumplirse la condición Si.
Fin Si: Finaliza un bloque de instrucción de
una condición.
ALGORITMOS: PSEUDOCÓDIGO

Realice un programa que pueda identificar si un


numero es par.

Numero_par

Entero a,b

Inicio

Escribir “ Digite el numero a identificar”

Leer a

b = a mod 2
ALGORITMOS: PSEUDOCÓDIGO

Realice un programa que permita leer 3 valores


numéricos e imprima cual de ellos es el mayor.
Además se debe constatar que los tres valores
ingresados sean diferentes. De no serlo, se
deben leer nuevamente los valores.
ALGORITMOS: PSEUDOCÓDIGO
ESTRUCTURA DE UN PSEUDOCÓDIGO
La estructura de un algoritmo sirve para organizar a
los elementos que aparecen en él. En
pseudocódigo, todos los algoritmos tienen la misma
estructura, la cual viene definida por tres
secciones:
Cabecera.
Declaraciones.
Cuerpo.
ALGORITMOS: PSEUDOCÓDIGO
Cabecera de un algoritmo
En la cabecera de un algoritmo se debe indicar el nombre
–identificador– asignado al mismo.
La sintaxis es: algoritmo <nombre_del_algoritmo>
EJEMPLO: Si se quiere diseñar el algoritmo de un
programa que:
1o) Pida por teclado el radio (dato real) de una
circunferencia.
2o) Calcule el área de la circunferencia.
3o) Muestre por pantalla el resultado (dato real).
Nota: Área de una circunferencia =
ALGORITMOS: PSEUDOCÓDIGO
El algoritmo puede llamarse Area_de_una_circunferencia.
Por tanto, en la cabecera se puede escribir: algoritmo
Area_de_una_circunferencia
DECLARACIONES DE UN ALGORITMO
En esta sección se declaran las constantes, los tipos de datos y las
variables que se usan en el algoritmo. La sintaxis es:
[ constantes
<declaraciones_de_constantes> ]
[ tipos_de_datos
<declaraciones_de_tipos_de_datos> ]
[ variables
<declaraciones_de_variables> ]
ALGORITMOS: PSEUDOCÓDIGO
Para resolver el problema planteado en el ejemplo
anterior, es necesario declarar una
constante y dos variables:
constantes
PI = 3.141592
variables
real área, radio
En este caso, no es necesario declarar ningún tipo de
dato.
ALGORITMOS: PSEUDOCÓDIGO
CUERPO DE UN ALGORITMO
En el cuerpo se escriben todas las instrucciones del algoritmo. La
sintaxis es:
inicio
<instrucción_1>
<instrucción_2>
...
<instrucción_n>
fin
inicio y fin son palabras reservadas que marcan el principio y final de
la sección cuerpo, que es donde está el bloque de instrucciones
principal del algoritmo.
ALGORITMOS: PSEUDOCÓDIGO

Area_de_una_circunferencia_es:
inicio
escribir( "Introduzca radio: " )
leer( radio )
área = PI * radio ** 2
escribir( "El área de la circunferencia es: ", area )
fin

También podría gustarte