Algoritmos.

Slides:



Advertisements
Presentaciones similares
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Advertisements

PROF. ING. JULIO CESAR CANO RAMIREZ
CARRERA: INGENIERIA CIVIL UNI-RUACS
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Razonamiento algorítmico
LÓGICA DE PROGRAMACIÓN
Introducción a los Algoritmos
Resolución de Problemas Algoritmos y Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Técnico en programación de Software
Unidad 4. Estructuras de selección
SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN MEDIA SUPERIOR DIRECCIÓN GENERAL DEL BACHILLERATO   ESCUELA PREPARATORIA FEDERAL POR COOPERACIÓN.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Metodología de la Programación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción a la Programación
Objetivos Específicos de la Unidad
METODOLOGIA DE LA PROGRAMACION
FASES EN EL DESARROLLO DE UN PROGRAMA
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
Tema 6. Conceptos básicos de programación
Matemáticas Discretas y Algoritmos
Algoritmos Ing. Sonia Alexandra Pinzón Nuñez
ESTRUCTURAS DE CONTROL
Fundamentos de Programación
Programación de Computadores
ALGORITMOS Y PROGRAMACIÓN GRADO DÉCIMO TEMA 1: CONCEPTOS BÁSICOS
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
Academia de Informática
Diagramas de procesos Unidad V
Fundamentos de programación
ESTRUCTURA DE DATOS ESD-243
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Fundamentos de programación Organización de una computadora.
Juego de Preguntas y Respuestas
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Tema 5 Diagramas de flujo Computacion - FA.CE.NA..
Metodología para solución de problemas
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Metodología para la construcción de programas
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Programación de Computadores (IWI-131)
Representación de Algoritmos
TEMA 2: DIAGRAMAS DE FLUJO
Santiago Pachón Pedroza Jesús Arley Bolaños 1002
DEV- C++ ·include <iostream> Int x x=x+2(x)
ALGORITMO QUE ES ??.
COMPLETA LOS ESPACIOS CON LA PALABRA ADECUADA 1.LOS _______________________ SE DEFINEN COMO LA _________________LÓGICA DE _________PARA SOLUCIONAR UN.
Edward Barrera Barrera Cristian Anderson Isacc
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Metodología de la programación
TEMA: DISEÑO DE LA SOLUCION INTREGRANTES DE EQUIPO: ERIKA CRUZ MARTINEZ RODOLFO LOPEZ ANOTA LUIS ARMANDO LIÑA QUECHA JOSE FRANCISCO MEZO VARELA LUIS ENRIQUE.
Desarrollo de lógica algorítmica.
Diagrama de flujo y Pseudocódigo
Lic. Carla Aguirre Montalvo
Algoritmos Programación
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Informatica I Ing. Nora Costa. Solución de Problemas.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Ing. José David Ortiz Salas
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

Algoritmos

ALGORITMO: Definición Es un conjunto de pasos lógicos ordenados, secuencialmente y finita, escritos de tal forma que permiten visualizar la solución de un problema determinado en un momento específico.

ALGORITMO: Nombre El nombre en latín de algoritmo proviene de la traducción que realizó Fibonacci, de la obra del matemático árabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum.

ALGORITMO: Caracteríticas LEGIBLE CONCRETO Debe tener terminar en algún momento Debe estar bien estructurado para su fácil entendimiento. Debe realizar las operaciones con un mínimo de utilización de recursos. Debe indicar un orden de realización de cada paso. Debe generar el mismo resultado siempre que se siga. Debe realizar las funciones u operaciones para las que fue creado. Debe estar libre de errores. (Validado) EFICIENTE FINITO Debe ser... DEFINIDO NO AMBIGUO PRECISO

ALGORITMO: Estructura Datos Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida) Determinan la organización de las instrucciones que deben ser realizadas. Conforma el grupo de instrucciones que realizan las operaciones con los datos. Procesos Estructuras de Control

ALGORITMO: Elementos Definición de variables y constantes Salida Las instrucciones que se van a realizar deben estar bien estructuradas y tener un orden lógico, con el fin de evitar inconsistencias en el resultado. Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar. Proceso Estructuras de control Entrada Salida Cuerpo del algoritmo

ALGORITMO: Quienes pueden hacer un algoritmo? Toda persona, implícitamente y diariamente diseña y realiza algoritmos, para dar solución a situaciones cotidianas de forma natural. Sin embargo el programador, diseña el algoritmo conciente de que al realizar cada paso obtendrá la solución de un problema específico.

ALGORITMO: Cómo se hace? El no programador haría lo siguiente: Buscar la página de cines en el diario local y mirar si ve la película anunciada. Si la ve anunciada mira en qué cine la hacen y se va a verla. Si no la ve anunciada, espera a los estrenos de lasemana que viene. Supongamos que deseamos ir al cine a ver la tercera película de La Guerra delas Galaxias, ¿cómo procedemos?

ALGORITMO: Cómo se hace? El programador sin embargo, lo haría de este otro modo: Buscar la página de cines en el diario local, con fecha de hoy 1 2 Revisar la cartelera de arriba abajo y de izquierda a derecha, buscando entre los títulos existentes. 3 Si se encuentra el título La Guerra de las Galaxias, no seguir buscando. Apuntar el nombre del cine, su dirección y los horarios Si no se encuentra el título en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista. 4

ALGORITMO: Otro ejemplo Encender un automóvil 1. Poner la llave. 2. Asegurarse que el cambio esté en neutro. 3. Pisar el el acelerador. 4. Girar la llave hasta la posición “arranque”. 5. Si el motor arranca antes de 6 seg, dejar la llave en la posición “encendido”. 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces). 7. Si el auto no arranca, llamar a la grúa.

ALGORITMO: Requisitos Debe Definirse del problema Seguir los pasos del algoritmo debe llevarnos a la resolución del problema. Siempre que sea posible seguiremos personalmente los pasos de nuestro algoritmo para comprobar que son efectivamente correctos y conducen efectivamente a la solución esperada. Por ejemplo: Si se requiere hallar la velocidad de un automóvil, es necesario, definir si la distancia debe ser en metros, kilómetros, etc y el tiempo estará dado en segundos u horas, ya que la velocidad puede representarse en Km/h ó mts/seg. Los algoritmos se crean para resolver problemas. Es importante que junto al algoritmo, describamos claramente el problema que éste nos permite resolver. No debemos omitir el contexto de nuestros algoritmos. Es necesario establecer lo que se necesita y dónde se debe comenzar. Debe estar dentro de contexto Debe resolver el problema Debe evitar la ambigüedad

ALGORITMO: Técnicas de Diseño Top Down Está técnica permite dividir el problema en pequeñas partes, a las cuales se les da solución por separado, luego se integran las soluciones para resolver el problema principal. Es una técnica de diseño descendente donde se realiza un refinamiento sucesivo, que permite darle una organización a las instrucciones, en forma de módulos o bloques. Divide y vencerás

ALGORITMO: Técnicas de Representación Diagrama de Flujo Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación. Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar, mediante una simbología estándar, con un único punto de inicio y uno de finalización. Pseudocódigo Inicio Instrucción 1 Instrucción 2 Si condición entonces Instrucción 3 . Instrucción n Fin

PSEUDOCÓDIGO:Cómo se Hace? Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc. 1 2 Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras 3 La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc.

PSEUDOCÓDIGO:Cómo se Hace? Inicio : Denota el punto de inicio del algoritmo. Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada. Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida. Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser almacenados en una variable. Fin: Denota el punto de finalización del algoritmo.

DIAGRAMA DE FLUJO: Simbología Proceso Lectura Captura Inicio Fin Permite indicar la Entrada de datos desde un dispositivo estándar Permite indicar la realización de un proceso matemático, o una operación de asignación Se utiliza para indicar el punto de inicio y finalización del diagrama

DIAGRAMA DE FLUJO: Simbología Conectores Decisión Impresión Permiten enlazar los símbolos de un sentido único pueden ser horizontales o verticales. Estas no pueden entrecruzarse y cada una de ellas debe tener un único símbolo de partida y un único símbolo de destino. Permiten dar continuidad al diagrama si la página o área de trabajo esta llena, el círculo se utiliza como un conector dentro de la misma página, el otro símbolo se define como un conector a otra página. Permite establecer una condición relacional ó lógica que puede tomar un valor de verdadero o falso, de este símbolo se deducen 2 flujos alternativos de ejecución. Indica la realización de operaciones de salida a un dispositivo estándar (el monitor o impresor.)

DIAGRAMA DE FLUJO: Simbología Estructuras de Decisión (Condición) Decisión Anidada Decisión Múltiple Decisión Compuesta Decisión Simple Si condición entonces Instrucciones si no Caso condición Val1: Instrucciones Val2: Val3: Otros: Fin Caso Si condición entonces Instrucciones si no Si condición entonces Instrucciones Condición Si No Condición Si No Val3 Val1 Val2 Otro Condición Si No Condición Si No

DIAGRAMA DE FLUJO: Simbología Estructuras de Ciclo Ciclo Para Ciclo Hasta Ciclo Mientras . Para v=valini, v=valfinal, inc Instrucciones Fin Para v: variable valini: valor inicial valfinal: valor final inc: incremento . Repita Instrucciones Hasta que condición . Mientras que condición Instrucciones Fin Mientras Condición Si No Instrucciones Instrucciones v=valini,v=valfinal, incremento Condición Si No Instrucciones

ALGORITMO: Fases de Diseño Definición del problema Análisis del problema Algoritmo Selección de la mejor alternativa Diagramación Prueba de escritorio

ALGORITMO: Definición del Problema Está dada por el enunciado del problema, el cuál debe ser claro y completo Es importante que conozcamos exactamente que se desea. Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.

ALGORITMO: Análisis del Problema Proceso Los datos de entrada que nos suministran Recursos Fórmulas Área de Trabajo Los datos de salida o resultados que se esperan Entendido el problema para resolverlo es preciso analizar

ALGORITMO: Selección de Alternativa Solución ..1 Solución ..2 Solución ..3 Solución ..5 Se debe tener en cuenta el principio de que las cosas siempre se podrán hacer de una mejor forma. La que produce los resultados Esperados en el menor tiempo y al menor costo Lo importante es determinar cuál es la mejor alternativa Analizado el problema Posiblemente tengamos varias formas de resolverlo

ALGORITMO: Diagramación Dibujar gráficamente la lógica de la alternativa seleccionada Una vez que sabemos cómo resolver el problema Plasmar la solucion mediante el Pseudocódigo

ALGORITMO: Prueba de Escritorio Esta prueba consiste en: Dar diferentes datos de entrada al programa seguir la secuencia indicada hasta obtener los resultados Al realizar lo anterior se puede comprobar si el algoritmo es correcto o si hay necesidad de hacer ajustes (volver al paso anterior) Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solución al problema inicial Es Recomendable Dar diferentes datos de entrada y considerar todos los posibles casos, aún los de excepción o no esperados, para asegurar que el programa no produzca errores en ejecución cuando se presenten estos casos.

ALGORITMO: Conceptos Variable Constante Tipo de Dato Dato Minima parte de la información. Se refiere a los elementos que se utilizan en los algoritmos para realizar alguna operación sobre estos. Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución mantiene siempre su contenido (valor). Corresponde al tipo de valor que puede almacenarse en un espacio de memoria definido y a la cantidad de espacio que requiere para almacenar un valor. Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución cambia o varía su contenido (valor)..

ALGORITMO: Tipos de Datos Boleano Real cadena Tipos de Datos Lógicos Entero Caracter Numéricos Carácter

ALGORITMO: Operadores + - Aritméticos > < = / ^ % >= <= Relacionales != <> Lógicos No Y && O ||

BIBLIOGRAFIA Fundamentos de Programación. Algoritmos y Estructuras. Luis Joyanes Aguilar. Editorial Mc Graw Hill. http://fuxion.tripod.cl/fundamentos.htm#QUE%20HERRAMIENTAS