260 likes | 531 Views
FUNDAMENTOS DE PROGRAMACIÓN. ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ. CONTENIDO TEMÁTICO. Definición de algoritmo. Características de un algoritmo. Estructura básica de un algoritmo. Ejemplos de algoritmos. Representación de algoritmos. Definición de problema.
E N D
FUNDAMENTOSDEPROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ
CONTENIDO TEMÁTICO • Definición de algoritmo. • Características de un algoritmo. • Estructura básica de un algoritmo. • Ejemplos de algoritmos. • Representación de algoritmos. • Definición de problema. • Clasificación de problemas • Ejercicios de problemas en clases. • Trabajo en clase: Algoritmo colaborativo (Wiki), con ayuda del Foro. • Trabajo en casa.
Definición de algoritmo • La Real Academia de la Lengua define la palabra algoritmo como conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. • Los Algoritmos permiten describir claramente una serie de instrucciones que debe realizar el computador para lograr un resultado previsible.
Vale la pena recordar que un procedimiento de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programación que el computador entienda como lo es Scratch. • En resumen, un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema.
Los hay tan sencillos y cotidianos como seguir la receta del médico, abrir una puerta, lavarse las manos, etc; hasta los que conducen a la solución de problemas muy complejos. • Un algoritmo para ordenador está compuesto de un conjunto de pasos muy simples y muy bien definidos.
Un algoritmo para ordenador estácompuesto de un conjunto de pasos muy simples y muy bien definidos. Ejemplos típicos de posibles pasos son: sumar dos números dados, comparar si un número es mayor que otro, comprobar si la tercera letra de la palabra “ejemplo” es una “e”, etcétera.
La palabra Algoritmo proviene del nombre del matemático y astrónomo AL-KHOWARIZMI, que vivió en el siglo IX y escribió un tratado sobre manipulación de números y ecuaciones.
Características de un algoritmo • Precisión.- El algortimo deberá indicar el orden exacto de ejecución de cada taréa. • Definitudo Determinismo.- Si se ejecuta el algoritmo dos o mas veces con los mismos datos de entrada, se deberán obtener siempre los mismos datos de salida (resultado). • Finitud.- El algoritmo deberá terminar en algún momento y deberá usar una cantidad finita de recursos.
Dada una cantidad de datos de entrada de un algoritmo, se dice que la cantidad de un recurso usada por dicho algoritmo para su ejecución determina la complejidad del algoritmo respecto a tal recurso.
En una computadora los recursos son: tiempo de proceso y memoria, por lo tanto a un algoritmo computacional se le pueden calcular sus complejidades temporales y espaciales.
Estructura básica de un algoritmo • Se constituye por tres elementos: • Datos.- Son los que el algoritmo recibe, procesa y entrega como resultado. • Instrucciones.- Son las acciones o procesos que el algoritmo realiza sobre los datos. • Estructuras de control.- Determinan el orden en que se ejecutarán las instrucciones del algoritmo.
Ejemplos de algoritmos • Problema. Un estudiante se encuentra en su casa dormido, pero deberá ir a la universidad a tomar la clase de fundamentos de programación. ¿Que deberá hacer el estudiante?. • Inicio • Paso 1. Dormir. • Paso 2. Hacer 1 hasta que suene el despertador (o grite la mamá). • Paso 3. Mirar la hora. • Paso 4. ¿Hay tiempo suficiente?. • Paso 4.1 Si hay, entonces: • Paso 4.1.1 Bañarse. • Paso 4.1.2 Vestirse. • paso 4.1.3 Desayunar. • Paso 4.2 Sino, • Paso 4.2.1 Vestirse.
Paso 5. Cepillarse los dientes. • Paso 6. Despedirse de los padres. • Paso 7. ¿hay tiempo suficiente?. • Paso 7.1 Si hay, entonces: • Paso 7.1.1 Caminar a tomar el autobús. • Paso 7.2 Sino, Correr a la parada del camión. • Paso 8. Hasta que pase un autobús hacia la universidad, hacer: • Paso 8.1 Esperar el autobús. • Paso 9. tomar el autobús. • Paso 10. Mientras no llegue a la universidad hacer: • Paso 10.1 seguir en el camión. • Paso 10.2 repasar mentalmente lo visto en la clase anterior. • Paso 11 Tocar el timbre del camión. • Paso 12. bajarse del camión. • Paso 13. entrar a la Universidad. • Fin
Problema. Realizar la suma de los números 2448 y 5746. • Inicio • Paso 1. Colocar los números el primero encima del segundo, de tal manera que las unidades, decenas, centenas, etc., de los números queden alineadas. Trazar una línea debajo del segundo número. • Paso 2. Empezar por la columna que se encuentra en el extremo derecho. • Paso 3. Sumar los dígitos de la columna. • Paso 4. Si la suma es mayor a 9 anotar un 1 encima de la siguiente columna a la izquierda y anotar debajo de la línea las unidades de la suma. Si no es mayor anotar la suma debajo de la línea. • Paso 5. Si hay mas columnas a la izquierda, pasar a la siguiente columna a la izquierda y volver a 3. • Paso 6. El número debajo de la línea es la solución. • Fin
Ejercicio 1. A diferencia de los seres humanos que realizan actividades sin detenerse a pensar en los pasos que deben seguir, los computadores son muy ordenados y necesitan que quien los programan les diga cada uno de los pasos que deben realizar y el orden lógico de ejecución. • Numera en orden lógico los pasos siguientes (para pescar): • ___ El pez se traga el anzuelo. • ___ Enrollar el sedal. • ___ Tirar el sedal al agua. • ___ Llevar el pescado a casa. • ___ Quitar el Anzuelo de la boca del pescado. • ___ Poner carnada al anzuelo. • ___ Sacar el pescado del agua.
Ejercicio 2. En una hoja aparte, describe detalladamente los pasos que seguirías para lograr cada una de las siguientes tareas: • 1. Adquirir una revista • 2. Empacar un regalo • 3. Freír un huevo en aceite • 4. Hacer un avión con una hoja de papel • 5. Hacer un barco con una hoja de papel • 6. Tirar la basura • 7. Encender una vela • 8. Tomar una fotografía • 9. Explicar las reglas de un juego a un compañero • 10. Volar un papalote • * Favor de subirlos a la plataforma en formato de texto.
Ejercicio 3. Se necesita hacer el pago del teléfono en las oficinas de Telmex. De preferencia en el cajero, de lo contrario en la caja. El monto es de $469.00, y se tiene un billete de %500.00. Elaborar un algoritmo para hacer el pago.
Representación de algoritmos • Las técnicas para la representación de algoritmos utilizadas mas comúnmente son: • Diagramas de flujo.- Se basan en la utilización de diversos símbolos para representar operaciones específicas. • Pseudocódigo.- Es un lenguaje de especificación de algoritmos. El uso de este lenguaje hace el paso de codificación, relativamente fácil.
Definición de problema • Se tiene un problema cuando se desea encontrar uno o varios objetos desconocidos que cumplen condiciones y/o relaciones, previamente definidas, respecto a uno o varios objetos conocidos. De esta manera, solucionar un problema es encontrar los objetos desconocidos de dicho problema.
Clasificación de problemas • Los problemas se clasifican por la existencia de una solución en solubles, no solubles e indecidibles. • Un problema se dice Soluble si se sabe de antemano que existe una solución para él. • Un problema se dice Insoluble si se sabe que no existe una solución para él. • Un problema se dice Indecidible si no se sabe si existe o no una solución para él.
Problemas solubles: • Se dividen en dos clases: Los algorítmicos y los no algorítmicos. • Un problema se dice Algorítmico si existe un algoritmo que permita darle solución. • Un problema se dice No Algorítmico si no existe un algoritmo que permita encontrar su solución.
Problema 1. Un granjero tiene 50 animales entre cerdos y gallinas. Si la cantidad de patas de los animales es 140, ¿Cuántos cerdos y cuantas gallinas tiene el granjero? • Variables conocidas: La cantidad total de animales, cantidad de patas totales. • Variables desconocidas: La cantidad de cerdos y la cantidad de gallinas. • Condiciones: La suma de los cerdos y las gallinas es igual a 50. la suma de los pies de los cerdos (4 c/u) y de las gallinas (2 c/u) es igual a 150. • Tipo de problema: Soluble-Algorítmico.
Problema 2. realizar la suma de los siguientes números: 124567 y 7834567. • Variables conocidas: Un número natural. • Variables desconocidas: Dos números naturales: 12467 y 7834567. • Condiciones: El número desconocido es igual a la suma de los 2 números dados. • Tipo de problema: Soluble-Algorítmico.
Problema 3. Una partícula se mueve en el espacio de manera aleatoria, si en el instante de tiempo tse encuentra en la posición X, ¿Cuál será la posición exacta de dicha partícula 10 segundos después?. • Variables conocidas: Posición en el instante de tiempo t. • Variables desconocidas: Una posición. • Condiciones: La partícula se mueve en el espacio de forma aleatoria. • Tipo de problema: Insoluble. No se puede solucionar porque no existe forma de predecir la posición de la partícula, ya que el movimiento es aleatorio.
Ejercicios de problemas en clase(Revisar la plataforma moodle)