ALGORITMOS. Es un conjunto finito de instrucciones que especifican una secuencia de operaciones a realizar en orden para resolver un problema específico.

Slides:



Advertisements
Presentaciones similares
ALGORITMOS.
Advertisements

Metodología de la Programación
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Liceo de Curridabat Tema: Conceptos básicos de programación. Alumna: Valeria Garita Sánchez. Sección:8-6 Año:2015.
Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
Figure: Algoritmos. Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Análisis de Proyecto de Software.
Ingreso , proceso y salida de datos
Convenciones de nomenclatura y diseño
CLASE No. 5 ALGORITMOS Asignatura: AutoCAD 3D.
Diagramas de Flujo Algoritmos.
DIAGRAMAS Una Poderosa Herramienta Gráfica para el Análisis e Interpretación de los Procesos.
Fundamentos de programación
LENGUAJES Y REPRESENTACION TECNICA
Lenguajes y representación técnica
5. Fundamentos de algoritmos
INTREGRANTES DE EQUIPO:
PSEUDOCÓDIGO Prof. Rafael Mourglia.
ALGORITMOS Por Carolina R.
CREAR DIAGRAMA DE FLUJO
Tema 6. Conceptos básicos de programación Clase 1
Tema 3 Fundamentos y diseño de algoritmos
Algoritmo Conjunto ordenado y finito de pasos que permite hallar la solución de un problema. Una secuencia de pasos que conducen a la realización de una.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
LÓGICA DE PROGRAMACIÓN
Introducción a la programación
Diagrama de flujo y algoritmo
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Índice temático 2.1 Análisis de problemas. 2.2 Representación de algoritmos: gráfica y pseudocódigo. 2.3 Diseño de algoritmos aplicados a problemas 2.4.
PLAN DE MUESTREO.
TAREA DEFINICIONES: Software: Equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios.
CONCEPTOS PRELIMINARES (Cont)
INTRODUCCIÓN ING. IVONNE MALDONADO. PROGRAMACIÓN Programar no es mas que idear y ordenar las acciones. Lograr que un programa cumpla con una cierta tarea.
“PROYECTO TECNOLOGICO”.
DIAGRAMAS Una Poderosa Herramienta Gráfica para el Análisis e Interpretación de los Procesos.
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
FUNDAMENTOS DE PROGRAMACIÓN
Diagrama de Flujo La presentación gráfica de sistemas es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos.
HERRAMIENTAS DE PROGRAMACIÓN
BLOQUE I – DISEÑAS Y ELABORAS ALGORITMOS PARA LA SOLUCIÓN DE PROBLEMAS. TEMAS: III.- Algoritmos.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
INFORMÁTICA II BLOQUE I: ALGORITMOS Y DIAGRAMAS DE FLUJO
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
M. en TI. Omar Téllez Barrientos DOCENTE DE INFORMÁTICA GENERACIÓN DE PSEUDOCÓDIGOS Y ALGORITMOS
Es el proceso de subdividir los entregables y el trabajo del proyecto en componentes más pequeños y más fáciles de manejar Se puede dar una visión estructurada.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
CURSO LOGICA DE SISTEMAS. Lógica Es una ciencia formal que estudia los principios de la demostración e inferencia válida. Una inferencia es una evaluación.
INTRODUCCIÓN A LA PROGRAMACIÓN ABRAHAM SOPLA MASLUCÁN MAESTRO EN CIENCIAS DE LA COMPUTACIÓN INSTITUTO TECNOLÓGICO DE MONTERREY.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Tema 6. Conceptos básicos de programación (Clase 2)
Fundamentos de la Programación I
PARAMETROS PARA EL DISEÑO DE CONTENIDOS EDUCATIVOS DIGITALES
DIAGRAMA DE FLUJO DE PROCESO
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
CRITICIDAD.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
MODELO EN CASCADA Integrantes: Felipe Alemán Lester Blandón.
Elaboración de procedimientos
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
¿Qué es un Problema? La Real Academia de la Lengua Española define: “Problema” como “Conjunto de hechos o circunstancias que dificultan la.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Diseñas y elaboras algoritmos para la solución de problemas
HOJA DE VERIFICACIÓN DE CALIDAD. Una hoja de verificación es una herramienta expresada en un formato que se utiliza para recolectar de manera estructurada.
FIGURE: Algoritmos. CONCEPTOS BÁSICOS. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Transcripción de la presentación:

ALGORITMOS

Es un conjunto finito de instrucciones que especifican una secuencia de operaciones a realizar en orden para resolver un problema específico. En otras palabras, un algoritmo es un método para la solución de problemas.

PROPIEDADES DE UN ALGORITMO Secuencialidad Ausencia de Ambigüedades Generalidad Limitaciones

SECUENCIALIDAD Se debe especificar sin lugar a dudas la secuencia a utilizar. Un algoritmo debe tener una instrucción inicial única y un sucesor único en cada secuencia. Las instrucciones son llevadas a cabo de arriba hacia abajo a menos que las mismas especifiquen lo contrario. Las entradas son las partidas de datos presentadas al algoritmo. Las salidas son partidas de datos procesados que son el resultado de la ejecución un programa basado en el algoritmo.

AUSENCIA DE AMBIGÜEDAD En algoritmo debe ser defino, claro, preciso y no ambiguo. La representación de cada paso de un algoritmo debe dar lugar a una sola interpretación posible. Esta condición significa que cada vez que se presente para su ejecución u algoritmo con los mismos datos de entrada, se obtendrán los mismos resultados. Las instrucciones de un algoritmo debe ordenar a la computadora que solo lleve a cabo tareas que sea capaz de hacer. Una computadora no puede efectuar una instrucción si tiene información insuficiente o si el comando no está definido.

GENERALIDAD Un algoritmo se puede realizar para varios problemas que se relacionan entre sí. Un algoritmo se aplica a un problema o clase de problemas específicos; el rango de las entradas o dominios se tiene que definir previamente, ya que está determinado el alcance o la generalidad del algoritmo.

LIMITACIÓN Un algoritmo es finito en tamaño y tiempo. La ejecución de un algoritmo programado debe finalizar después de que se haya llevado a cabo una cantidad finita de operaciones.

DOMINIO DE UN ALGORITMO La clase o el conjunto de datos y condiciones para las cuales un algoritmo trabaja concretamente se llama dominio. Cuando se trata de resolver cualquier problema es necesario definir el dominio del algoritmo y después verificar que trabaja para todos los casos que se encuentran dentro del dominio. Es necesario incluir en el dominio todas las situaciones similares, pero los casos remotos o poco probables se permiten omitir.

ERRORES EN LA CONTRUCCIÓN DEL DOMINIO. Errores del dominio: se presentan cuando se no han especificado todas las situaciones que se pueden presentar en la práctica o se han descuidado la apreciación de su importancia. A medida que se presenta el problema, se tiene que clasificar y hay tres opciones: 1. Ignorarlo porque es improbable y quizás nunca ocurra. 2. Restringir el dominio del algoritmo para excluirlo. 3. Corregir el algoritmo.

ERRORES DE LÓGICA: Son aquellos errores que se detectan, después que se ha definido en forma adecuada el dominio de un algoritmo, en la etapa de prueba o verificación. se deben principalmente a las siguientes causas: 1. Etapas incorrectas. 2. Secuencia incorrecta de etapas 3. El criterio de elección de un algoritmo debe hacerse en base a criterios tales como: a) Que el algoritmo sea simple, es decir, fácil de entender y de escribir. b) Que el algoritmo sea eficiente.

MÉTODO HEURÍSTICO La heurística proporciona un esquema o plan para abordar los problemas poco conocidos, mejora la capacidad de crear soluciones y asegura que el método que se va a usar sea eficiente. En la etapa de planificación es donde se tiene la oportunidad de comparar métodos y seleccionar el más adecuado.

Surge la pregunta: ¿ Cómo se pueden resolver los problemas para los que no hay un método establecido o para los cuales conocemos un algoritmo?.

DISEÑO DE UN ALGORITMO Un método heurística para diseñar algoritmo es el denominado DIVIDE AND CONQUER, el cual es una técnica TOP-DOWN. Este método permite implementar la segmentación, descomposición de un problema largo y complejo en problemas independientes más pequeños y fáciles de resolver que el problema de partida. La técnica consiste en varias etapas.

DESCOMPOSICIÓN DEL PROBLEMA DE PARTIDA EN SUBPROBLEMAS INDEPENDIENTES Y DETERMINACIÓN DE LAS RELACIONES ENTRE ELLOS. P P1P2P3

RESOLUCIÓN DE CADA SUBPROBLEMA Si un sub-problema es grande, por descomposición y continuando hasta que resulten de la descomposición sub - problemas fácilmente resolubles. P1 P1.1P1.2P1.3

Composición de las soluciones de los sub- problemas para lograr la solución final El diseño del algoritmo que resuelve un problema, realizado con esta técnica recibe el nombre de DISEÑO DESCENDENTE y resulta en algoritmo muy legibles, claros, fáciles de entender, seguir y corregir. El diseño de un algoritmo no se hace de una sola vez, sino que se va resolviendo en una secuencia de pasos ( llamados PASOS DE REFINAMIENTO). En cada paso el problema es refinado agregando detalles significativos, por lo que el método se conoce como: MÉTODO DE LOS REFINAMIENTOS SUCESIVOS.

UN INGENIERO ES CONVOCADO PARA CONSTRUIR UN EDIFICIO CONSTRUCCIÓN DEL EDIFICIO CONFECCICÓN DE LOS PLANOS CONTRATACIÓN DEL PERSONAL COMPRA DE MATERIALES DIRECCIÓN DE LA OBRA

UN SUB- PROBLEMA CONFECCIÓN DE LOS PLANOS DISEÑO DEL ANTEPROYECTO APROBACIÓN DEL ANTEPROYECTO ELABORACIÓN DE LOS PLANOS APROBACIÓN DE LOS PLANOS

OTRO SUB- PROBLEMA CONTRATACIÓN DEL PERSONAL PEDIDO DE CURRICULUM VITAE ANÁLISIS DE LOS CURRÍCULUM VITAE ENTREVISTAS PERSONALES REDACCIÓN DE LOS CONTRATOS

OTRO SUB- PROBLEMA COMPRA DE MATERIALES CÁLCULO DE MATERIALES PEDIDO DE PRECIOS SELECCIÓN DE PROVEEDORES

Al utilizar el refinamiento por pasos el diseñador de un algoritmo debe saber donde detenerse, es decir, debe saber cuando un paso específico del algoritmo es lo suficientemente claro para no necesitar más refinamiento. Se necesita CONOCER LAS CAPACIDADES DE UN PROCESADOR no sólo para terminar los refinamientos, sino para dirigir la forma en que el refinamiento avanza.

Una computadora puede interpretar cualquier cosa expresadas de manera adecuada en un lenguaje de programación. Así el diseñador de un algoritmo de computadora puede orientar los pasos y la terminación del refinamiento hacia el tipo de lenguaje que se trate.

Programación estructurada Los principios metodológicos básicos de la programación estructurada son los de subdividir el problema inicial o de partida en partes manejables para su análisis y hacer de esta manera que se agilice el proceso de entender el problema y la solución.

Básicamente, estas subdivisiones deseadas( llamadas módulos) deben satisfacer los siguientes requisitos: 1. Los módulos deben estas jerarquizados. 2. Deben ser pequeños y sencillos. 3. Se deberán utilizar tantos módulos de menor jerarquía como sea necesario para cumplir con la restricción de ser pequeños y sencillos. 4. Se deberán usar las estructuras de control y datos adecuadas para cumplir con el requisito de pequeños y sencillos. 5. Los módulos deben ser legibles para cualquier persona aunque tenga solamente conocimientos elementales de progrmación.

LENGUAJE DE DISEÑO DE PROGRAMAS Como la meta es escribir algoritmos que sean procesados en una computadora, se va a producir un lenguaje de diseño adecuado. Se llamará LENGUAJE DE DESCRIPCIÓN DE PROGRAMAS a la herramienta que permitirá diseñar programas de codificación.

Este pseudo- lenguaje tiene las siguientes características: 1. Permite expresar de manera informal las estructuras de 2. Permite expresar las ideas en frases del lenguaje propio o natural. 3. Es similar al lenguaje de programación pero no está ligado a ninguna regla formal de sintaxis como aquellos. 4. No es un lenguaje compilable 5. Por convención se hace un sangrado en el texto que ayuda a la percepción visual de la lógica del diseño. 6. Permite expresar diseños de fácil comprensión que podrá convertirse sin dificultad a código en el lenguaje de implementación. 7. El pseudo- código generado es más fácil de cambiar y corregir que el código del programa.

DIAGRAMA DE FLUJO Un diagrama de flujo es otra técnica de diseño de algoritmos. Consiste en una serie de símbolos que denotan acciones, decisiones o procedimientos que se unen mediante flechas y conectores. Esta representación nos ayudará a conocer la información que tenemos, donde la tenemos, que debemos hacer con ella y como presentarla. Debe tener las cualidades de sencillez, claridad y normalización en su diseño.