Algoritmos ¿Que es un algoritmo?

Slides:



Advertisements
Presentaciones similares
Resolución de Problemas Algoritmos y Programación
Advertisements

Tema Algoritmos Universidad Politécnica de Nicaragua UPOLI.
Sesión 3 Estructuras Repetitivas
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.
PROF. ING. JULIO CESAR CANO RAMIREZ
ESTRUCTURA DE DECISION LOGICA
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Estructuras de Repetición Algoritmos
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
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
Curso de Programación I Parte III
Introducción a la Programación
Estructuras de Repetición
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Matemáticas Discretas y Algoritmos

ESTRUCTURAS DE CONTROL
ESTRUCTURAS CONTROL SECUENCIAL
Programación de Computadores
Tema 1 Algoritmos.
Academia de Informática
Programación en Matlab
Fundamentos de programación
Capítulo 1 “Elementos de Programación”
WHILE Estructuras Repetitivas
ESTRUCTURA DE DECISION LOGICA
ESTRUCTURA DE DATOS ESD-243
ALGORITMOS ALGORITMOS - UASF.
Fundamentos de programación Organización de una computadora.
Juego de Preguntas y Respuestas
Teoría – Alejandro Gonzalez
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.

Estructuras de Control.
Introducción a la Ingeniería de Sistemas
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
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ó.
A continuación… Repaso Repaso Estructuras de Decisión Ejemplos
Programación de Computadores (IWI-131)
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
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
ESTRUCTURAS REPETITIVAS
Metodología de la programación
Estructuras de Decisió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.
Estructuras básicas Sentencias de control
Lenguaje Programación
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Equipo: Erika López Coyotecatl María José Cuazitl Popocatl CETis - Centro de Estudios Tecnológicos de Servicio Industrial y Servicio “Daniel Cabrera Rivera”
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Tema 1 Algoritmos. IWI Tema 1 Algoritmos Algoritmos ¿Que es un algoritmo? –“Una lista de instrucciones donde se especifica una sucesión de operaciones.
Transcripción de la presentación:

Algoritmos ¿Que es un algoritmo? “Una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”. Ejemplo sumar dos números

Algoritmos

491 + 25 516 Algoritmos 5+1=6 Anotar 6 2+9=11 Anotar 1 y guardar 1 4+0=4 4+1=5 Anotar 5 El resultado es 516 491 + 25 516

Algoritmos V + F F + V F

Algoritmos san + sano sansano

Algoritmos Entrada Salida Tipos de datos ¿Qué se necesita para realizar los pasos? Salida ¿Que se obtiene al final del algoritmo? Tipos de datos Números: enteros, reales, complejos Texto: letras, palabras, frases Otros

Algoritmos Sirven para resolver un tipo de problema especifico. Son secuencias de pasos concretos. Requiere la definición de la entrada y la salida. Adecuados para ser ejecutados por un computador

Algoritmos ¿Qué tiene que ver con la programación? La programación consiste en crear programas de computador que resuelvan problemas específicos. Un programa de computador es la implementación de un algoritmo.

Algoritmos ¿Qué es un programa de computador? Es una secuencia de pasos a ejecutar Los pasos están descritos en un lenguaje especial. Este lenguaje se puede traducir al lenguaje del computador. Por lo general es un archivo de texto. El texto escrito en dicho lenguaje se denomina el código del programa.

Descripción de un algoritmo Es necesario contar con formas de expresar algoritmos Diseño del algoritmo antes de codificar Diseño del algoritmo de manera independiente del lenguaje de programación Diferentes alternativas Pseudo - código Diagramas de flujo Diagramas de Nassi-Schneidermann

Descripción de un algoritmo Pseudo – código El algoritmo se expresa en lenguaje natural Expresa de manera genérica los pasos del algoritmo No provee detalles de la implementación particular del código final

Descripción de un algoritmo Diagramas de flujo Presentan el algoritmo de manera gráfica. De gran utilidad para seguir la “ruta” de un algoritmo. Aplicables a muchas otras disciplinas.

Construcción de un algoritmo Definir el problema a resolver Identificar las entradas del algoritmo Identificar la salida del algoritmo Definir los pasos a seguir para convertir las entradas en la salida Seguir los pasos y comprobar que el algoritmo sea correcto analizando la salida. Revisar los pasos y hacer las correcciones. Resolver el problema.

Construcción de un algoritmo Construcción de un programa Definir el problema a resolver Definir el algoritmo que lo resuelve Escribir el programa Escribir cada uno de los pasos del algoritmo en el lenguaje de programación Ejecutar el programa en el computador Verificar que las salidas sean correctas Hacer correcciones al programa Resolver el problema

Construcción de un algoritmo Ejemplo: Objetivo: Calcular el precio de una manzana Entradas Precio (en pesos) del kilo de manzanas [K] Peso (en gramos) promedio de una manzana[P] Salida Precio (en pesos) de una manzana [M]

Construcción de un algoritmo Inicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Mostrar el valor de M Fin.

Construcción de un algoritmo Ingresar K y P G=K/1000 M=G x P Mostrar M

Construcción de un algoritmo Operaciones básicas Entrada de datos Salida de datos Utilización de variables Utilización de constantes Aplicación de operadores Asignación de valores Combinación de operaciones básicas Secuencial Selectiva Repetitiva

Entrada de datos Los algoritmos son para solucionar tipos de problemas Es imprescindible poder entregar entradas distintas en cada ejecución La entrada de datos se realiza mediante algún dispositivo

Entrada de datos Dispositivos de entrada Teclado Mouse Botones Sensores de tacto Cámaras digitales Scanners Archivos

Entrada de datos Cada dispositivo tiene distintas características. Por lo general, sirven para cosas distintas Los sistemas definen un dispositivo de entrada por defecto Este dispositivo se denomina la entrada estándar. En un computador suele ser el teclado.

Salida de datos De nada sirve implementar un algoritmo si no podemos saber su resultado. Al finalizar el algoritmo (o durante), es imprescindible obtener la información resultante de su ejecución. La salida de datos se realiza mediante dispositivos.

Salida de datos Dispositivos de salida Pantalla Impresora Parlantes Tableros luminosos Motores Tarjeta de red Archivos

Salida de datos Al igual que con la entrada, cada dispositivo tiene finalidades distintas. Los sistemas definen un dispositivo de salida por defecto Este dispositivo se denomina la salida estándar. En un computador suele ser la pantalla.

Utilización de variables Durante la ejecución del algoritmo, es importante recordar los resultados parciales de cada paso. Estos resultados se etiquetan con un nombre. Al invocar con posterioridad ese nombre, recuperamos el resultados parcial.

Utilización de variables K es un dato de entrada, y también Se considera una variable G=K/1000 Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana.

Utilización de variables La principal característica de una variable es que su valor puede cambiar en el tiempo. Usualmente se compara con una caja donde se puede almacenar una sola “cosa”. Por lo general, las variables se definen con un tipo de dato. El tipo de dato restringe que tipo de “cosas” se pueden guardar en las “cajas”.

Utilización de constantes Además de las variables, un algoritmo requiere de constantes. A diferencia de las variables, su valor no puede cambiar en el tiempo. Las constantes también pueden recibir nombres para mayor claridad. Ej.: PI = 3.1415

Utilización de constantes G=K/1000 La constante “1000” sirve para transformar el valor Por kilo a un valor por gramo

Aplicación de operadores Para obtener resultados, generalmente es necesario “transformar” las entradas en la salida. Para esto se aplican operadores de distinta índole Aritméticos ( + , - , * , / ) Lógicos (igual que, mayor que, menor que, y, o, no) Etc. Los operadores requieren de operandos y entregan un resultado. Por lo general, los operadores son unarios o binarios.

Aplicación de operadores operandos M=G * P operador

Asignación de valores El resultado de un operador se puede almacenar en una variable. Para esto se utiliza un tipo especial de operador. Este es el operador de asignación. Solo se pueden asignar valores a variables, no a constantes

Asignación de valores Operador de asignación M=G * P El resultado de GxP se asigna a la variable M

Combinación de operaciones básicas Secuencial Un conjunto de operaciones básicas pueden ser ejecutadas en forma secuencial. Una operación no inicia hasta que la anterior termina

Combinación de operaciones básicas Diagrama de flujo G=K/1000 M=G * P Ingresar K y P Mostrar M Ingresar K=200 y P=250 G tiene el valor 0,2 M tiene el valor 50

Combinación de operaciones básicas Selectiva Un algoritmo puede optar por ejecutar o no una operación (SI –ENTONCES). Un algoritmo puede optar por ejecutar una u otra operación (SI-ENTONCES-SINO). Esta decisión se basa en un condición. Esta decisión controla el flujo del algoritmo. Por esto, se denomina una estructura de control.

Combinación de operaciones básicas 1 2 C 3 4 C: Condición

Combinación de operaciones básicas Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4 fin

Combinación de operaciones básicas Ejemplo: levantarse en la mañana Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si tomar la mochila tomar la micro fin

Combinación de operaciones básicas 1 2 si no C 3a 3b 4 C: Condición

Combinación de operaciones básicas Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3a si no Ejecutar 3b fin si Ejecutar 4 fin

Combinación de operaciones básicas Ejemplo: levantarse en la mañana Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar la parca si no llevar la chaqueta fin si tomar la mochila tomar la micro fin

Combinación de operaciones básicas Estructura de control selectiva Una condición es cualquier proposición lógica que tenga un valor verdadero o falso definido. Este esquema selectivo se denomina “decision binaria”. ¿Y si hay más de dos opciones?

Combinación de operaciones básicas Estructura de control selectiva Toda decisión se puede llevar a un esquema de decisión binaria. Basta con decidir entre una alternativa y todo el resto Si se elige “el resto”, se decide entre una alternativa y el resto del resto. Etc…

Combinación de operaciones básicas 1 x mayor que 0 x menor que 0 x? x igual a 0 2a 2b 2c 3

Combinación de operaciones básicas 1 x mayor que 0? si no x menor que 0? no si 2a 2b 2c 3

Combinación de operaciones básicas Inicio Ejecutar 1 Si x es mayor que cero entonces Ejecutar 2a Si no Si x es menor que cero entonces Ejecutar 2c Ejecutar 2b fin si Ejecutar 3 fin

Combinación de operaciones básicas Ejemplo: levantarse en la mañana Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar la parca si no esta lloviendo pero hace frío llevar la chaqueta si no llevar un chaleco fin si tomar la mochila tomar la micro fin

Combinación de operaciones básicas Estructura de selección múltiple Para algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE) Ejemplo: ingreso de opción de menú de un cajero automático Si el usuario presionó el botón 1, hacer un giro Si el usuario presionó el botón 2, entregar saldo Si el usuario presionó el botón 3, cambiar la clave Etc.

Combinación de operaciones básicas etoc Botón 1 2 3 giro saldo clave … error salir

Combinación de operaciones básicas Inicio en el caso que el botón presionado sea el 1 hacer giro sea el 2 entregar saldo sea el 3 cambiar clave … En cualquier otro caso Error fin caso fin

Combinación de operaciones básicas Repetitiva Además de combinar operaciones en forma secuencial y selectiva, se puede repetir la ejecución de una operación cuantas veces se desee. Existen varios esquemas Repetir MIENTRAS se cumpla una condición. Repetir HASTA QUE se cumpla una condición. Repetir un número de veces.

Combinación de operaciones básicas MIENTRAS Se repite una operación mientras una condición sea verdadera. Al dejar de serlo, se rompe el ciclo Si la condición nunca es falsa, se tiene un ciclo infinito.

Combinación de operaciones básicas 1 no C si 2 3 C: Condición

Combinación de operaciones básicas Inicio ejecutar 1 mientras se cumpla la condición ejecutar 2 fin mientras ejecutar 3 fin

Combinación de operaciones básicas Ejemplo validar ingreso de valor positivo Inicio definir variable x asignar el valor -1 a x mientras x sea menor que cero ingresar x por teclado fin mientras mostrar valor de x fin

Combinación de operaciones básicas HASTA QUE Se repite la ejecución de una operación hasta que se cumpla una condición. La principal diferencia con MIENTRAS es que la operación se ejecuta al menos una vez.

Combinación de operaciones básicas 1 2 no C si 3 C: Condición

Combinación de operaciones básicas Inicio ejecutar 1 repetir ejecutar 2 hasta que se cumpla condición ejecutar 3 fin

Combinación de operaciones básicas Ejemplo Mismo ejemplo anterior Inicio definir variable x repetir ingresar x por teclado Hasta que x sea mayor que cero mostrar valor de x fin

Combinación de operaciones básicas Repetir un número fijo de veces Muy útil cuando se sabe el numero de repeticiones a ejecutar. Por lo general se define una variable que sirve de contador El contador mantiene el número de cada iteración. También se puede definir el incremento del contador en cada iteración.

Combinación de operaciones básicas 1 Inicio contador, fin contador 2 3

Combinación de operaciones básicas Inicio ejecutar 1 desde contador inicial hasta contador final ejecutar 2 fin desde ejecutar 3 fin

Combinación de operaciones básicas Ejemplo Inicio definir variable “sumatoria” asignar el valor 0 a “sumatoria” desde i igual a 0 hasta i igual a 5 sumatoria = sumatoria + i fin desde mostrar valor de “sumatoria” fin

Combinación de operaciones básicas Combinación de estructuras de control seriales, selectivas y repetitivas Cualquier combinación es posible Pueden existir estructuras anidadas Es importante definir el comienzo y el termino de cada estructura