Anda di halaman 1dari 30

+

Solución de
Tecnologías de información
para ingeniería

Sesión 1
Algoritmos y diagramas de flujo

Tec Milenio
Campus Sinaloa
MTI., MBA. Carlos Joaquín Duarte Camacho

Agosto-diciembre 2018
+Datos, información y
conocimiento
¿En qué se diferencia el conocimiento de los datos y de la
información?
+
Datos

!  Datos
"  Los datos son la mínima unidad semántica, y se corresponden con
elementos primarios de información que por sí solos son
irrelevantes como apoyo a la toma de decisiones. También se
pueden ver como un conjunto discreto de valores, que no dicen
nada sobre el por qué de las cosas y no son orientativos para la
acción.
+
Información

!  Información
"  La información se puede definir como un conjunto de datos procesados y que tienen un
significado (relevancia, propósito y contexto), y que por lo tanto son de utilidad para
quién debe tomar decisiones, al disminuir su incertidumbre. Los datos se pueden
transforman en información añadiéndoles valor:

•  Contextualizando: se sabe en qué contexto y para qué propósito se generaron.


•  Categorizando: se conocen las unidades de medida que ayudan a interpretarlos.
•  Calculando: los datos pueden haber sido procesados matemática o
estadísticamente.
•  Corrigiendo: se han eliminado errores e inconsistencias de los datos.
•  Condensando: los datos se han podido resumir de forma más concisa
(agregación).

"  Por tanto, la información es la comunicación de conocimientos o inteligencia, y es


capaz de cambiar la forma en que el receptor percibe algo, impactando sobre sus
juicios de valor y sus comportamientos.
"  Información = Datos + Contexto (añadir valor) + Utilidad (disminuir la incertidumbre)
+
Conocimiento

!  El conocimiento es una mezcla de experiencia, valores,


información y know-how que sirve como marco para la
incorporación de nuevas experiencias e información, y es útil para
la acción. Se origina y aplica en la mente de los conocedores. En
las organizaciones con frecuencia no sólo se encuentra dentro de
documentos o almacenes de datos, sino que también esta en
rutinas organizativas, procesos, prácticas, y normas.

!  El conocimiento se deriva de la información, así como la


información se deriva de los datos. Para que la información se
convierta en conocimiento es necesario realizar acciones como:
"  Comparación con otros elementos.
"  Predicción de consecuencias.
"  Búsqueda de conexiones.
"  Conversación con otros portadores de conocimiento.
+

Davenport y Pruzak (1999)


+
Programa, algoritmo y lenguaje

!  ¿Cómo resolvemos un problema en computación?

"  Conocer las herramientas, los formalismos y los métodos para


transformar un problema en un programa escrito en un lenguaje
"  Saber transformar el problema inicial en un algoritmo y luego en un
programa
+
Algoritmo

!  ¿Qué es un algoritmo?

"  Un algoritmo constituye un conjunto de pasos, procedimientos o acciones que


nos permiten alcanzar un resultado o resolver un problema determinado.

"  Una gran cantidad de problemas requieren de un análisis profundo y de un


procedimiento flexible y estructurado para su solución:

•  ¿Podemos enseñar a resolver problemas?


•  ¿Podemos enseñar a analizar el mismo?
•  ¿Podemos enseñar a pensar…?

!  El conjunto de técnicas y herramientas metodológicas que permitan flexibilizar y


estucturar el razonamiento utilizado en la solución del problema, provoca la
construcción de algoritmos eficientes.
+
Construcción de un algoritmo

!  Un algoritmo puede ser expresado en:

"  Lenguaje natural (a veces, este no resulta muy claro, pero es muy
útil en problemas simples)
"  Pseudocódigo
"  Diagramas de flujo
"  Programas
+
Descripción de un algoritmo

La descripción de un algoritmo usualmente se realiza en tres


niveles:

1.  Descripción de alto nivel. El primer paso es la descripción


del problema; luego, se selecciona un modelo matemático y
se explica el algoritmo de manera verbal, posiblemente con
ilustraciones, pero omitiendo detalles

2.  Descripción formal. En este nivel se usa el pseudocódigo o


diagrama de flujo para describir la secuencia de pasos que
conducen a la solución

3.  Implementación. Por último en este nivel se muestra en


algoritmo expresado en un lenguaje de programación
+
Etapas para la solución de un
problema

PROBLEMA

Análisis Verificación e
Construcción
profundo del implementación
del algoritmo
problema del algoritmo

¿QUÉ? ¿CÓMO? ETAPA 3


Implementación
ETAPA 1 ETAPA 2
Descripción de alto nivel Descripción formal
+
Análisis del problema

!  Para poder identificar y definir bien un problema es


conveniente responder a las siguientes preguntas:

"  ¿Qué entradas se requieren?


"  ¿Cuál es la salida esperada?
"  ¿Qué método produce la salida deseada?
"  Requisitos o requerimientos adicionales y restricciones a la solución
+
Etapas de desarrollo de un
algoritmo
Con base en la lógica las etapas de desarrollo de un algoritmo
son:

1.  Definición. En esta etapa se especifica el propósito del


algoritmo y se ofrece una definición clara del problema a
resolver.

2.  Análisis. En este punto se analiza el problema y sus


características, y se determinan las entradas y salidas del
problema.

3.  Diseño. Aquí es donde se plasma la solución del problema.

4.  Implementación. En este último paso es donde se realiza o se


ve concretado el programa y, por ende, se hacen varias pruebas
+
Características de un algoritmo

!  Los algoritmos deben reunir las siguientes características:

"  Precisión: los pasos a seguir en el algoritmo deben ser precisados


claramente
"  Determinismo: El algoritmo, dado un conjunto de datos idénticos
de entrada siempre debe arrojar los mismos resultados
"  Finitud: El algoritmo, independientemente de la complejidad del
mismo, siempre debe ser de longitud finita
+
Secciones de un algoritmo

!  Un algoritmo se constituye de tres secciones o módulos


principales:

"  Datos de entrada. Representa la operación o acción que permite el


ingresod e los datos del problema.
"  Procesamiento de los datos. Representa la operación o conjunto
de operaciones secuenciales cuyo objetivo es obtener la solución
del problema.
"  Presentación de resultados. Representa una operación o
conjunto de operaciones que permiten comunicar al exterior el o los
resultados alcanzados.
+
Algoritmo: preparar taza de café

Incorrecto

Correcto
+
Ejemplo 1

!  Supóngase un número entero N del que se requiere probar si es divisible o no


entre 3

!  En este caso la definición del problema es el enunciado mismo: “Probar si un


número entero N es o no divisible entre 3”. Este caso se trata de un problema
muy simple de aritmética

!  En la etapa de análisis, identificamos las entradas y salidas:


"  Entradas:
"  Salidas:

!  Para la solución del problema de este ejemplo, conocemos la definición de


divisibilidad: “un número N es divisible entre otro número k, si la división N ÷ k
es exacta (o el resto es 0)
+
Ejercicios

!  Ejercicio 1: Genere un algoritmo que solucione la entrega de un


pedido a un cliente. Un cliente ejecuta un pedido a una fábrica. La
fábrica examina en su banco de datos la ficha del cliente, si el
cliente es solvente entonces la empresa acepta el pedido; en caso
contrario, lo rechazará. Redactar el algoritmo correspondiente:

1.  Inicio
2.  Leer el pedido
3.  Analizar el historial crediticio del cliente
4.  Si el cliente es solvente, aceptar el pedido;
en caso contrario rechazar el pedido
5.  Fin
+

!  Ejercicio 2: Genere un algoritmo que sume los números entre


el 3 y el 30.

1.  Inicio
2.  Hacer SUMA igual a 0
3.  Establecer NUMERO igual a 3
4.  Sumar NUMERO a SUMA
5.  Incrementar NUMERO en 1
6.  Si NUMERO es menor o igual que 30 ir al punto 4;
en caso contrario imprimir a SUMA
1.  Fin
+

!  Ejercicio 3: Genere un algoritmo que determine el mayor de


tres números enteros

1.  Inicio
2.  Leer tres números y guardarlos en NUM1, NUM2 y NUM3
respectivamente
3.  Comparar NUM1 y NUM2; el número mayor se guarda en AUX
4.  Comparar AUX y NUM3; imprimir el número mayor
+
Diagramas de flujo
+
Diagramas de flujo (DFD)

!  Representa la esquematización gráfica de un algoritmo

!  Muestra gráficamente los pasos o procesos a seguir para


alcanzar la solución de un problema

!  Muchos problemas de lógica pueden ser diagramados para


mostrar el proceso de solución de manera práctica y entendible

!  A partir del algoritmo se lleva a cabo la construcción del


programa en algún lenguaje de programación

!  Algunos de los diagramas más usados son los de Gantt, Euler,


Venn, HIPO, UML, ASME, de árbol, de red, de flujo y mapas.
+
Símbolos de un diagrama de flujo
+
Ventajas de un diagrama de flujo

1. Observar de forma gráfica la solución de un problema.

2. Proponer mejoras sin tener que reestaurar todo el diagrama.

3. Identificar pasos duplicados sin tener que reestructurar todo el


diagrama.

4. Permiten ser codificables en los diferentes lenguajes de


programación.

5. Una vez elaborados, pueden servir como parte de un


programa mucho más grande o podría ser un módulo de un
sistema.
+
Ejemplos
INICIO

h, b

area = (b * h) / 2

area

FIN
+
Reglas para la construcción de un
DFD
1.  Todo diagrama debe tener un inicio y un fin
+

2. Las líneas utilizadas para indicar la dirección del flujo del


diagrama deben ser rectas, verticales y horizontales
+

3. Todas las líneas utilizadas para indicar la dirección del flujo del
diagrama deben estar conectadas. La conexión puede ser un
símbolo que exprese lectura, proceso, decisión, impresión,
conexión o fin de diagrama
+

4. El diagrama de flujo debe ser construido de arriba hacia abajo


(top-down) y de izquierda a derecha (left-right).

5. La notación utilizada en el diagrama de flujo debe de ser


independiente del lenguaje de programación.

6. Si el diagrama de flujo requiere más de una hoja para su


construcción, debemos utilizar los conectores adecuados y
enumerar las páginas adecuadamente.

7. No puede llegar más de una línea a un símbolo


+

Anda mungkin juga menyukai