Sei sulla pagina 1di 60

TEMA 1: ALGORITMOS

En todo momento de la vida los algoritmos se


encuentran presentes. Desde que una persona se
levanta, se viste, sale a tomar un ómnibus para
dirigirse a su centro de trabajo o de Estudio, se llevan
a cabo bajo una sucesión de acciones finitas de pasos
para lograr alcanzar un objetivo.
¿QUÉ ES UN
ALGORITMO?
Definición de Algoritmo:

Es una secuencia lógica, finita y bien definida de


pasos para dar solución a un tipo determinado de
problema.
Definición de Algoritmo:

Es una secuencia lógica, finita y bien definida de


pasos para dar solución a un tipo determinado de
problema.
En primer lugar, el algoritmo es una secuencia o
conjunto de pasos que hay que desarrollar para llegar
a la solución del problema. Esa secuencia tiene que
ser lógica, o sea, debe especificar los pasos en un
orden lógico, que guíe hacia la solución. Debe ser,
además, finita y bien definida o precisa, como se
explicará más adelante.
Características de los algoritmos

1. Carácter finito
2. Precisión
3. Entrada
4. Salida
5. Efectividad
Carácter finito

Un algoritmo debe terminar después de un número


finito de pasos.
Precisión

Cada paso del algoritmo debe ser definido de manera


precisa, rigurosa y sin ambigüedades.
Entrada

Antes de comenzar su ejecución, el algoritmo recibe


una entrada, o sea, se le proporciona información que
será procesada por él.
Salida

El algoritmo produce una salida, o sea, genera los


resultados del procesamiento, los cuales guardan una
relación específica con la entrada.
Efectividad

Cuando un algoritmo es efectivo, todas las


operaciones que él realiza son suficientemente
básicas como para que, en principio, puedan ser
desarrolladas exactamente y en un tiempo finito por
una persona, usando papel y lápiz.
Pasos para la resolución de un
problema son:
1. Comprensión y análisis del problema planteado.
2. Desarrollo de un modelo matemático que dé
solución al problema.
3. Desarrollo de la solución del problema mediante
un algoritmo.
4. Programación de la solución para la
computadora.
En el primer paso de este algoritmo se estipula que el
problema ha de entenderse correctamente antes de
acometer su solución, es decir, hay que saber qué es
lo que hay que resolver y cómo hay que resolver el
problema.
El segundo paso plantea que una vez que se ha
comprendido y analizado el problema, se procede al
desarrollo de un modelo que presente la solución
teórica del problema. Es aquí donde debe de quedar
claro cuáles son los datos necesarios para el cálculo, o
sea, los datos de entrada, como serán procesados
estos y cuáles serán los resultados esperados, o sea
la salida.
En el tercer paso se establece que con el modelo
matemático están dadas las condiciones para
desarrollar la secuencia de pasos, o sea el algoritmo,
necesarios para dar solución al problema.
El último de los pasos plantea la traducción del
algoritmo a un lenguaje de programación, para de esta
forma obtener el programa que dé respuesta al
problema.
Precondiciones y poscondiciones

Una de las cuestiones importantes de un buen estilo


de solución de problemas tendrá en cuenta, para cada
paso del algoritmo o para el algoritmo completo, las
siguientes preguntas:
¿QUÉ CONDICIONES DEBEN
CUMPLIRSE PARA PODER
LLEVAR A CABO DICHO PASO?
¿QUÉ CONDICIONES SE
CUMPLEN LUEGO DE HABER
REALIZADO EL PASO?
A las condiciones que dan respuestas a la primera de
las preguntas se les denomina precondiciones y tienen
que cumplirse para poder desarrollar el paso
correspondiente. Esto, sin dudas, garantiza que no se
cometan errores y que se alcancen los resultados
esperados o los correctos.
Ejemplo de precondición: Cuando en un paso de un
algoritmo se vaya a calcular la raíz cuadrada de un
número, como condición, este no puede ser negativo.
Las poscondiciones denotan el estado que se alcanza
después de realizar un paso determinado o después
de terminada la aplicación del algoritmo. Luego, en
cierto modo, las poscondiciones de un paso pudieran
considerarse como precondiciones del o de los
siguientes pasos.
Representaciones más comunes.

Existen varias formas de representar los algoritmos.


Las más comunes son: el seudocódigo y los diagramas
de bloque.

Independientemente de la representación que se


utilice, en esta asignatura, la descripción del algoritmo
se realizará especificando los siguientes aspectos:
Algoritmo: < Nombre del algoritmo >
El nombre que se utilice para identificar a dicho
algoritmo debe ser adecuado y debe expresar en muy
pocas palabras lo que hace el algoritmo.
Descripción: < Texto de la descripción >
El texto de la descripción ha de ser breve y en él se
deben explicar, en líneas generales, los objetivos y
características del algoritmo.
Entrada: < Lista de variables de entrada >
Se especifican todas las variables de entrada, o sea,
todas aquellas informaciones que necesita el
algoritmo para procesar y alcanzar un resultado, en la
solución al problema.
Salida: < Lista de resultados >
Se especifican los resultados que se obtendrán con la
ejecución del algoritmo. Nótese que no se habla de
variables de salida, sino de resultados, ya que el
resultado de un algoritmo no tiene que ser siempre un
valor.
Tipos de lenguajes algorítmicos

1. No gráficos: Representa en forma descriptiva las


operaciones que debe realizar un algoritmo
(pseudocódigo).

2. Gráficos: Es la representación gráfica de las


operaciones que realiza un algoritmo (diagrama de
bloques).
SEUDOCÓDIGO
El seudocódigo, como su nombre lo indica, es una
forma de representación que se asemeja al código que
se usa para la representación del algoritmo en un
lenguaje de programación.
Diagrama de bloque

El diagrama de bloque es una representación gráfica


de un algoritmo. Se basa en el uso de figuras
geométricas, cada una de las cuales representa una
estructura.
Las figuras geométricas son enlazadas entre sí por
flechas que establecen el flujo de la ejecución del
algoritmo, o sea, el orden en que deben ejecutarse sus
operaciones o instrucciones.
Todo diagrama de bloque tiene que empezar con un
círculo que en su interior tendrá escrito el texto de
Inicio y tiene que terminar igualmente con un círculo
con el texto Fin.
Inicio
I

Fin
I
Las instrucciones se representan a través de
rectángulos.
Las salidas se representan con un rectángulo donde el
extremo inferior derecho tiene una muesca.
Las alternativas se representan en forma de rombo
No
Condición

Si
Las instrucciones de entrada se representan con un
rectángulo con la esquina superior derecha cortada,
según se muestra:
Ejemplos

Se desea establecer un algoritmo para calcular el


volumen de un tanque de combustible, cuya geometría
se corresponde con la de un cilindro circular recto.
Se debe mostrar al estudiante mediante un gráfico, la
geometría de interés y alcanzar las primeras nociones
del modelo matemático a emplear.
Modelo matemático:
Conocidos el radio de la base (r) y la altura (h) del
tanque cilíndrico se tiene que:

Vc = Ab * h (1)
Donde Ab es el área de la base y se calcula según (2):

Ab=π* r^2 (2)

También puede expresarse así:


Vc=π* r^2*h

Entonces el algoritmo se describe de esta forma:


Algoritmo: Cálculo del volumen de un recipiente
cilíndrico.
Descripción: Se calcula el volumen de un recipiente
cuya geometría se corresponde con la de un cilindro
circular recto, conocidos el radio de la base (r) y la
altura (h).
Entrada: r, h

Salida: V
Seudocódigo:
Inicio
Entrar r, h
Ab=π* r^2
Vc=Ab*h
Mostrar V
Fin
Diagrama de bloques:
Inicio

𝑟, ℎ

𝐴𝑏 = 𝜋 ∗ 𝑟 2

𝑉𝑐 = 𝐴𝑏 ∗ h

𝑉𝑐

Fin
Algoritmos Informales.

Definidos como todos aquellos algoritmos que no son


realizables a través de un computador o al menos no
fácilmente. Son aquellos algoritmos en donde el
ejecutor real es el ser humano como el algoritmo para
dar un beso, el algoritmo para freír unos huevos o el
algoritmo para conseguir un libro.
De manera que vamos a considerar aquellos
algoritmos informales como los que son
preferiblemente realizables por el ser humano.

Veamos entonces un ejemplo: Desarrollar un algoritmo


que permita hacer un merengue con tres huevos.
Algoritmo: Realizar un merengue.

Descripción: Realizar un merengue a partir de tres huevos y


azúcar.

Entrada: Huevo, azúcar

Salida: Merengue
Inicio
Romper los 3 huevos.
Verter las claras en el plato.
Coger el tenedor.
Batir las claras hasta que se conviertan en merengue.
Verter el azúcar en el plato.
Batir el contenido del plato hasta que se mezcle
uniformemente.
Fin
E.I

Potrebbero piacerti anche