1 Tema 1 Algoritmos
2 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 IWI Tema 1 Algoritmos
3 Algoritmos IWI Tema 1 Algoritmos
4 491 + 25 516 Algoritmos 5+1=6 Anotar 6 2+9=11 Anotar 1 y guardar 14+0=4 4+1=5 Anotar 5 El resultado es 516 491 + 25 516 IWI Tema 1 Algoritmos
5 Algoritmos V + F F + V F IWI Tema 1 Algoritmos
6 Algoritmos san + sano sansano IWI Tema 1 Algoritmos
7 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 IWI Tema 1 Algoritmos
8 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 IWI Tema 1 Algoritmos
9 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. IWI Tema 1 Algoritmos
10 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. IWI Tema 1 Algoritmos
11 Descripción de un algoritmoEs 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 IWI Tema 1 Algoritmos
12 Descripción de un algoritmoPseudo – 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 IWI Tema 1 Algoritmos
13 Descripción de un algoritmoDiagramas de flujo Presentan el algoritmo de manera gráfica. De gran utilidad para seguir la “ruta” de un algoritmo. Aplicables a muchas otras disciplinas. IWI Tema 1 Algoritmos
14 Descripción de un algoritmoDiagrama de Nassi-Schneidermann También se denominan diagramas de caja. Menos usado que el diagrama de flujo Mas ordenado Ocupa mucho espacio para representar algoritmos complejos. IWI Tema 1 Algoritmos
15 Construcción de un algoritmoDefinir 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. IWI Tema 1 Algoritmos
16 Construcción de un algoritmoConstrucció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 IWI Tema 1 Algoritmos
17 Construcción de un algoritmoEjemplo: 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] IWI Tema 1 Algoritmos
18 Construcción de un algoritmoInicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Devolver el valor de M Fin. IWI Tema 1 Algoritmos
19 Construcción de un algoritmoIngresar K y P G=K/1000 M=G x P Devolver M IWI Tema 1 Algoritmos
20 Construcción de un algoritmoIngresar K y P G=K/1000 M=G x P Devolver M IWI Tema 1 Algoritmos
21 Construcción de un algoritmoOperaciones 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 IWI Tema 1 Algoritmos
22 Entrada de datos Los algoritmos son para solucionar tipos de problemasEs imprescindible poder entregar entradas distintas en cada ejecución La entrada de datos se realiza mediante algún dispositivo IWI Tema 1 Algoritmos
23 Entrada de datos Dispositivos de entrada Teclado Mouse BotonesCensores de tacto Cámaras digitales Scanners Archivos IWI Tema 1 Algoritmos
24 Entrada de datos IWI Tema 1 Algoritmos
25 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. IWI Tema 1 Algoritmos
26 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. IWI Tema 1 Algoritmos
27 Salida de datos Dispositivos de salida Pantalla Impresora ParlantesTableros luminosos Motores Tarjeta de red Archivos IWI Tema 1 Algoritmos
28 Salida de datos C:\ IWI Tema 1 Algoritmos
29 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. IWI Tema 1 Algoritmos
30 Utilización de variablesDurante 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. IWI Tema 1 Algoritmos
31 Utilización de variablesK 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. IWI Tema 1 Algoritmos
32 Utilización de variablesLa 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”. IWI Tema 1 Algoritmos
33 Utilización de constantesAdemá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 = IWI Tema 1 Algoritmos
34 Utilización de constantesG=K/1000 La constante “1000” sirva para transformar el valor Por kilo a un valor por gramo IWI Tema 1 Algoritmos
35 Aplicación de operadoresPara 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. IWI Tema 1 Algoritmos
36 Aplicación de operadoresoperandos M=G * P operador IWI Tema 1 Algoritmos
37 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 IWI Tema 1 Algoritmos
38 Asignación de valores Operador de asignación M=G * PEl resultado de GxP se asigna a la variable M IWI Tema 1 Algoritmos
39 Combinación de operaciones básicasSecuencial Un conjunto de operaciones básicas pueden ser ejecutadas en forma secuencial. Una operación no inicia hasta que la anterior termina IWI Tema 1 Algoritmos
40 Combinación de operaciones básicasDiagrama de flujo G=K/1000 M=G * P Ingresar K y P Devolver M Diagrama de Nassi-Schneidermann G=K/1000 M=G * P Ingresar K y P Devolver M Ingresar K=200 y P=250 G tiene el valor 0,2 M tiene el valor 50 IWI Tema 1 Algoritmos
41 Combinación de operaciones básicasSelectiva 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. IWI Tema 1 Algoritmos
42 Combinación de operaciones básicas1 2 C 3 4 C: Condición IWI Tema 1 Algoritmos
43 Combinación de operaciones básicas1 2 C si no 3 4 C: Condición IWI Tema 1 Algoritmos
44 Combinación de operaciones básicasInicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4 fin IWI Tema 1 Algoritmos
45 Combinación de operaciones básicasEjemplo: 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 IWI Tema 1 Algoritmos
46 Combinación de operaciones básicas1 2 si no C 3a 3b 4 C: Condición IWI Tema 1 Algoritmos
47 Combinación de operaciones básicas1 2 C si no 3a 3b 4 C: Condición IWI Tema 1 Algoritmos
48 Combinación de operaciones básicasInicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3a si no Ejecutar 3b fin si Ejecutar 4 fin IWI Tema 1 Algoritmos
49 Combinación de operaciones básicasEjemplo: 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 IWI Tema 1 Algoritmos
50 Combinación de operaciones básicasEstructura 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? IWI Tema 1 Algoritmos
51 Combinación de operaciones básicasEstructura 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… IWI Tema 1 Algoritmos
52 Combinación de operaciones básicas1 x mayor que 0 x menor que 0 x? x igual a 0 2a 2b 2c 3 IWI Tema 1 Algoritmos
53 Combinación de operaciones básicas1 x mayor que 0? si no x menor que 0? no si 2a 2b 2c 3 IWI Tema 1 Algoritmos
54 Combinación de operaciones básicas1 x mayor que 0? si no 2a x menor que 0? no si 2b 2c 3 IWI Tema 1 Algoritmos
55 Combinación de operaciones básicasInicio 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 IWI Tema 1 Algoritmos
56 Combinación de operaciones básicasEjemplo: 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 IWI Tema 1 Algoritmos
57 Combinación de operaciones básicasEstructura 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. IWI Tema 1 Algoritmos
58 Combinación de operaciones básicasetoc Botón 1 2 3 giro saldo clave … error salir IWI Tema 1 Algoritmos
59 Combinación de operaciones básicasBotón etoc 1 2 3 giro saldo clave … error salir IWI Tema 1 Algoritmos
60 Combinación de operaciones básicasInicio 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 IWI Tema 1 Algoritmos
61 Combinación de operaciones básicasRepetitiva 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. IWI Tema 1 Algoritmos
62 Combinación de operaciones básicasMIENTRAS 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. IWI Tema 1 Algoritmos
63 Combinación de operaciones básicas1 no C si 2 3 C: Condición IWI Tema 1 Algoritmos
64 Combinación de operaciones básicas1 C 2 3 C: Condición IWI Tema 1 Algoritmos
65 Combinación de operaciones básicasInicio ejecutar 1 mientras se cumpla la condición ejecutar 2 fin mientras ejecutar 3 fin IWI Tema 1 Algoritmos
66 Combinación de operaciones básicasEjemplo 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 IWI Tema 1 Algoritmos
67 Combinación de operaciones básicasHASTA 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. IWI Tema 1 Algoritmos
68 Combinación de operaciones básicas1 2 no C si 3 C: Condición IWI Tema 1 Algoritmos
69 Combinación de operaciones básicas1 2 C 3 C: Condición IWI Tema 1 Algoritmos
70 Combinación de operaciones básicasInicio ejecutar 1 repetir ejecutar 2 hasta que se cumpla condición ejecutar 3 fin IWI Tema 1 Algoritmos
71 Combinación de operaciones básicasEjemplo Mismo ejemplo anterior Inicio definir variable x repetir ingresar x por teclado Hasta que x sea mayor que cero mostrar valor de x fin IWI Tema 1 Algoritmos
72 Combinación de operaciones básicasRepetir 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. IWI Tema 1 Algoritmos
73 Combinación de operaciones básicas1 Inicio contador, fin contador 2 3 IWI Tema 1 Algoritmos
74 Combinación de operaciones básicas1 Inicio contador, fin contador 2 3 IWI Tema 1 Algoritmos
75 Combinación de operaciones básicasInicio ejecutar 1 desde contador inicial hasta contador final ejecutar 2 fin desde ejecutar 3 fin IWI Tema 1 Algoritmos
76 Combinación de operaciones básicasEjemplo 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 IWI Tema 1 Algoritmos
77 Combinación de operaciones básicasCombinació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 IWI Tema 1 Algoritmos
78 Combinación de operaciones básicasEjemplos Cachi-pun Ordenar objetos IWI Tema 1 Algoritmos
79 Fin tema 1 Algoritmos