Introducción a la Ingeniería Informática
Tema: Algoritmo
¿Qué es un Algoritmo?
“(del árabe al-Khowarismi, Se puede decir que un ALGORITMO es una
sobrenombre del celebre matemático secuencia bien definida de pasos o tareas
árabe Mohamed ben Musa). para llevar a cabo una actividad o para
Conjunto ordenado y finito de obtener un producto esperado, disponiendo
operaciones que permite encontrar u haciendo uso de los recursos o elementos
la solución al problema….! necesarios para su elaboración
Un algoritmo es una serie de paso o
instrucciones definidas para llegar a un
objetivo. Se usan para resolver problemas. La
ciencia que los estudia se llama Algoritmia,
siendo estudiada en Matemáticas y en
Informática o Ciencias de la Computación.
¿Qué es un Algoritmo Informático?
Un ALGORITMO INFORMÁTICO es un
conjunto de instrucciones definidas,
ordenadas y acotadas para resolver un
problema, realizar un cálculo o desarrollar
una tarea.
Es decir, un algoritmo es un procedimiento
paso a paso para conseguir un fin. A partir de
un estado e información iniciales, se siguen
una serie de pasos ordenados para llegar a la
solución de una situación.
Los algoritmos pueden ser desde muy
sencillos hasta muy complejos
¿Qué es un Algoritmo Informático?
EN PROGRAMACIÓN:
El algoritmo es el paso previo a escribir el
código fuente.
1) Primero debemos encontrar la forma de
obtener la solución al problema (definir el
algoritmo informático),
2) A través del código, poder indicarle a la
máquina qué acciones queremos que lleve a
cabo.
Un programa informático no sería más que un conjunto de algoritmos ordenados
y codificados en un lenguaje de programación para poder ser ejecutados en una
computadora.
Partes de un Algoritmo Informático
Partes de un Algoritmo Informático
ENTRADA PROCESO SALIDA
PLATANOS
LECHE JUGO DE
AZUCAR LICUAR PLATANOS CON
AGUA LECHE
ENTRADA PROCESO SALIDA
Datos que Resultados que
ingresan a Operaciones que se
harán con los datos se obtienen con
procesar las operaciones
DATOS INFORMACION
Partes de un Algoritmo Informático
PROCESO
ENTRADA
Operaciones que se hacen
con los datos
SALIDA
Son los datos que se le
dan al algoritmo
Resultados final que se obtiene de las
operaciones, en este caso será 3.
Características de los Algoritmos
Los algoritmos presentan una serie de características comunes, son:
1 PRECISOS: Tiene que resolver el problema
ORDENADO: Presentan una secuencia clara y precisa para
2 poder llegar a la solución
3 FINITOS: Contiene un número determinado de pasos
Características de los Algoritmos
Los algoritmos presentan una serie de características comunes, son:
CONCRETOS: Ofrecen una solución determinada para la
4 situación o problema planteados
DEFINIDO: El mismo algoritmo debe dar el mismo resultado
5 al recibir la misma entrada
LEGIBLE: Cualquier persona que vea el algoritmo debe ser
6 capaz de comprenderlo
Etapas para solucionar un Problema
Problema
Analisis
Construcción del Verificación del
profundo de
Algoritmo Algoritmo
Problema
FASE 1 FASE 2 FASE 3
Formas como implementar los Algoritmos
Algoritmo
Implementación 1 Implementación 1
Implementación 1
Algoritmo que puede tener varias implementaciones
Formas como implementar los Algoritmos
Algoritmo 1
PROBLEMA Algoritmo 2
Algoritmo 3
Puede existir varios algoritmos para resolver el mismo problema
Ejemplos
¿Qué hacer cuando una lámpara no funciona?
INICIO
Paso 1: Lampara no funciona
Paso 2: SI (lampara enchufada) entonces
Paso 3: SI (foco quemado) entonces
Paso 4: Reemplazo el foco
Paso 5: Si no
Paso 6: Comprar nueva lampara (Fin)
Paso 7: Si no Entonces.
Paso 8: Enchúfala
FIN
Símbolos: Diagrama de Flujo de Datos
Se les denomina "de flujo" por que los símbolos utilizados se conectan por medio de flechas para
indicar la secuencia de operaciones.
Es así que en diagrama de flujo se compone de varios símbolos, los cuales podemos ver en la
siguiente tabla:
SIMBOLO DESCRIPCIÓN
Inicio/Fin (Terminal): Representan el inicio y final de un programa. Puede
representar una parada o interrupción programada que sea necesaria
realizar en un programa.
Entrada/Salida: Cualquier tipo de introducción de datos en la
memoria de los periféricos, "entrada", o registro de información
procesada en un periférico, "salida",
Símbolos: Diagrama de Flujo de Datos
SIMBOLO DESCRIPCIÓN
Proceso: Cualquier tipo de operación que pueda originar cambio de
valor, formato o posición de la información almacenada en memoria,
operaciones aritméticas, de transferencia etc. En resumen acciones o
cálculos que se ejecutan con los datos de entrada.
Decisión: Indica operaciones lógicas o de comparación entre datos -
normalmente dos- y en función del resultado de la misma determina cuál
de los distintos caminos alternativos debe seguir el programa;
normalmente tiene 2 salidas -respuestas Si o No - pero puede tener 3 o
más según sea el caso.
Conector: sirve para enlazar 2 partes cualesquiera de un ordinograma a
través de un conector en la salida y otro conector en la entrada. Se refiere
a la conexión en la misma página del diagrama.
Símbolos: Diagrama de Flujo de Datos
SIMBOLO DESCRIPCIÓN
Indicador: O flecha para muchos, indica la dirección o el flujo, es decir el
sentido de ejecución de las operaciones.
Línea: Sirve de unión entre dos símbolos.
Conector fuera de pagina: conexión entre 2 puntos del organigrama
situado en páginas diferentes. Este no solo es usado en diagramas de
flujo al igual que el anterior.
Llamada a subrutina: O un proceso predeterminado (una subrutina es
básicamente una función).
Símbolos: Diagrama de Flujo de Datos
SIMBOLO DESCRIPCIÓN
Impresora: Es utilizado para indicar que se imprime un resultado
(utilizado en ocasiones en lugar del símbolo de E/S)..
Multidocumento: Es utilizado para indicar que se imprime un resultado
de varias copias
Teclado: Indica una entrada manual de datos (se utiliza en ocasiones en
lugar del símbolo de E/S).
Símbolos: Diagrama de Flujo de Datos
Realizar el algoritmo :
1. Un procedimiento de lavarnos los dientes, proceso que
realizaremos varias veces al día. Significa además que debemos
tener que verificar si contamos con dentífrico mentolado que
usaremos en nuestras rutinas por ello su disponibilidad es
importante, Si se acabó tendremos que comprar uno nuevo y tiene
que ser un dentífrico mentolado que es la preferencia, para
continuar con la rutina de realizar varias veces el lavado de dientes.
Veamos la forma de expresar este procedimiento en modo
Algoritmo de datos.
Realizar el algoritmo :
2. Procedimiento para cambiar la llanta pinchada de un auto. Tienen que
verificar si cuenta con una llanta de repuesto en el auto. Luego si existe
también verificar si tiene disponible una gata mecánica manual; Así también
si cuenta con una llave de rueda en cruz. Si los 3 productos están
disponibles realizaran el cambio de la rueda pinchada teniendo en cuenta el
procedimiento que deberán aflojar los pernos de la rueda con la llave de
cruz antes de elevar el auto con la gata mecánica (considerar que la gata
debe estar en su lugar para elevar el auto). Una vez elevada, terminaran de
retirar los pernos y la rueda pinchada. Cambiar la rueda, colocar los pernos
n ajustar. Bajar la gata mecánica hasta que la pueda liberar con facilidad.
Ajustar los pernos fuertemente con la llave de cruz. Colocar la rueda
pinchada, la llave de cruz y la gata mecánica en el maletero y continuar la
marcha sin problemas.
Realizar el algoritmo :
3. Procedimiento para elegir una camisa de un ropero, verificar si el
ropero esta abierto o cerrado. Verificar si hay una camisa; Si es
nueva podrá retirarlo de su caja, caso contrario será una camisa que
este colgada o esta doblada que procederá a desdoblarla, Verificar
si esta con arrugas, si esto es así deberá proceder a planchar.
En ambos casos tendrá la camisa en el ropero, verificar; en ambos
casos si esta abrochada, sino tendrá que desabotonarla. Para
probársela, una vez desdoblada y desabotonada meterá una brazo
por una de sus mangas, luego el otro, por la otra manga. Ajustar la
camisa al tronco abrochando botón por botón. Finalmente estará
listo para vestirse un terno y marcharse a su reunión.
Realizar el algoritmo :
4. Diagrama de flujo-freír o hervir
Ordenar el algoritmo de acuerdo a la situación:
Joel y Benny quieren un huevo para el desayuno, en ambos casos
deberán verificar si existen huevos en la nevera, procederán a
coger un huevo si existe, caso contrario deberán ordenar la
compra.
Ya disponible en la nevera de huevos: Joel quiere freír un huevo y
lo hará con sal, pero Benny no lo quiere frito sino cocido y lo
quiere sin sal. Entonces deberán crear un diagrama de flujo
considerando las 2 situaciones para que ambos la final queden
satisfechos y culminando así sirviéndose en un plato para
desayunar.
Método para solucionar problemas
Definir el
Problema
El proceso
continua hasta Buscar
que la evaluación información
sea positiva
Evaluar el
Proponer
resultado
soluciones
obtenido
Construir la Elegir la mejor
solución elegida solución
Método para solucionar problemas
¿Que debemos pensar para resolver un problema?
1 DEFINIR EL PROBLEMA
Presentar la necesidad o problema que
requiere solución técnica. La situación
problemática debe analizarse con
profundidad antes de empezar a buscar
ideas. Este análisis ayudará a razonar los
límites y alcances del problema
Método para solucionar problemas
BUSQUEDA DE INFORMACIÓN
2
Una vez definido el problema que hay que
resolver será necesario localizar la información
necesaria para llevar a cabo el proceso de
resolución; para ello se recurre a los diversos
conocimientos que el ser humano ha ido
acumulando a lo largo de su historia.
Método para solucionar problemas
3 PROPONER SOLUCIONES
Es parte de Creatividad como una
actividad del pensamiento que tiene
como resultado dar soluciones nuevas a
un problema.
Método para solucionar problemas
4 ELEGIR LA MEJOR SOLUCION
Es la toma decisión realista en base a
cumplir ¿Qué se va hacer?, ¿cómo se va
hacer?, ¿cuándo se va hacer?, ¿con qué
medios se va a contar?, ¿qué
dificultades pueden aparecer?, ¿cómo
se pueden solucionar?, ¿qué resultado
se espera obtener?, etc.
Método para solucionar problemas
5 CONSTRUIR LA SOLUCION ELEGIDA
Consiste en HACER lo que se pensó,
resolviendo sobre la marcha los
pequeños problemas que se
presenten. .
Método para solucionar problemas
6 EVALUAR EL RESULTADO OBTENIDO
Observando si es el deseado y si resuelve el
problema planteado. Las soluciones de un
problema deben satisfacer el objetivo para el
que se construyeron. Por otra parte, siempre
pueden mejorarse.
La fase de comprobar significa llevar a cabo
dos tipos de tareas: La evaluación y la
divulgación
DEFINIR EL PROBLEMA
Especificación del Problema
Partimos del hecho de que un programador no
puede resolver un problema que no entiende.
Por esta razón, la primera etapa en todo proceso
de construcción de software consiste en tratar de
entender el problema que tiene el cliente.
Esta etapa se denomina análisis y la salida de
esta etapa la llamamos la especificación del
problema.
Aspecto que hacen parte del ANALISIS de un problema
Ejemplo 1
Especificación del Problema
Objetivo: Identificar los aspectos que hacen
parte de un problema.
El problema: una empresa de aviación
quiere construir un programa que le
permita buscar una ruta para ir de
una ciudad a otra, usando únicamente
los vuelos de los que dispone la
empresa. Se quiere utilizar este
programa desde todas las agencias
de viaje del país.
Cliente La empresa de aviación.
Usuario Las agencias de viaje del país.
R1: dadas dos ciudades C1 y C2, el programa debe dar el itinerario
para ir de C1 a C2, usando los vuelos de la empresa. En este ejemplo
Requerimiento funci
onal sólo hay un requerimiento funcional explícito. Sin embargo, lo usual
es que en un problema haya varios de ellos.
En el enunciado no está explícito, pero para poder resolver el
problema, es necesario conocer todos los vuelos de la empresa y la
lista de ciudades a las cuales va. De cada vuelo es necesario tener la
Mundo del problema ciudad de la que parte, la ciudad a la que llega, la hora de salida y la
duración del vuelo. Aquí debe ir todo el conocimiento que tenga la
empresa que pueda ser necesario para resolver los requerimientos
funcionales.
El único requerimiento no funcional mencionado en el enunciado es
el de distribución, ya que las agencias de viaje están
Requerimiento no fu
ncional geográficamente dispersas y se debe tener en cuenta esta
característica al momento de construir el programa.
Caso de Estudio; Calcular el Salario del
empleado
Para este caso de estudio vamos a considerar un programa que administra la información de un
empleado.
Datos de Entrada: El empleado tiene un nombre, un apellido, un género (masculino o femenino), una
fecha de nacimiento y una imagen asociada (su foto). Además, tiene una fecha de ingreso a la empresa
en la que trabaja y un salario básico asignado.
Desde el programa se debe poder realizar las siguientes operaciones:
(1) Calcular la edad actual del empleado,
(2) Calcular la antigüedad en la empresa,
(3) Calcular las prestaciones a las que tiene derecho en la empresa,
(4) Calcular seguridad social
(5) Calcular el Salario a pagar
(6) De ser necesario: cambiar el salario del empleado, y
(7) Escribir salario a pagar
Datos de Salida: Salario a Pagar
[Link]