01 algoritmos

1,651 views
1,587 views

Published on

Algoritmos Básico

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,651
On SlideShare
0
From Embeds
0
Number of Embeds
81
Actions
Shares
0
Downloads
71
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

01 algoritmos

  1. 1. Introducción A los Algoritmos Grado: DECIMO Docente: CARLOS DIAZ
  2. 2. Algoritmos <ul><li>¿Que es un algoritmo? </li></ul><ul><ul><li>“ Una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”. </li></ul></ul><ul><ul><li>Ejemplo sumar dos números </li></ul></ul>
  3. 3. Algoritmos
  4. 4. Algoritmos <ul><li>5+1=6 </li></ul><ul><li>Anotar 6 </li></ul><ul><li>2+9=11 </li></ul><ul><li>Anotar 1 y guardar 1 </li></ul><ul><li>4+0=4 </li></ul><ul><li>4+1=5 </li></ul><ul><li>Anotar 5 </li></ul><ul><li>El resultado es 516 </li></ul>491 + 25 516
  5. 5. Algoritmos <ul><li>Entrada </li></ul><ul><ul><li>¿Qué se necesita para realizar los pasos? </li></ul></ul><ul><li>Salida </li></ul><ul><ul><li>¿Que se obtiene al final del algoritmo? </li></ul></ul><ul><li>Tipos de datos </li></ul><ul><ul><li>Números: enteros, reales, complejos </li></ul></ul><ul><ul><li>Texto: letras, palabras, frases </li></ul></ul><ul><ul><li>Otros </li></ul></ul>
  6. 6. Algoritmos <ul><li>Sirven para resolver un tipo de problema especifico. </li></ul><ul><li>Son secuencias de pasos concretos. </li></ul><ul><li>Requiere la definición de la entrada y la salida. </li></ul><ul><li>Adecuados para ser ejecutados por un computador </li></ul>
  7. 7. Algoritmos <ul><li>¿Qué tiene que ver con la programación? </li></ul><ul><ul><li>La programación consiste en crear programas de computador que resuelvan problemas específicos. </li></ul></ul><ul><ul><li>Un programa de computador es la implementación de un algoritmo. </li></ul></ul>
  8. 8. Algoritmos <ul><li>¿Qué es un programa de computador? </li></ul><ul><ul><li>Es una secuencia de pasos a ejecutar </li></ul></ul><ul><ul><li>Los pasos están descritos en un lenguaje especial. </li></ul></ul><ul><ul><li>Este lenguaje se puede traducir al lenguaje del computador. </li></ul></ul><ul><ul><li>Por lo general es un archivo de texto. </li></ul></ul><ul><ul><li>El texto escrito en dicho lenguaje se denomina el código del programa. </li></ul></ul>
  9. 9. Descripción de un algoritmo <ul><li>Es necesario contar con formas de expresar algoritmos </li></ul><ul><ul><li>Diseño del algoritmo antes de codificar </li></ul></ul><ul><ul><li>Diseño del algoritmo de manera independiente del lenguaje de programación </li></ul></ul><ul><li>Diferentes alternativas </li></ul><ul><ul><li>Pseudo - código </li></ul></ul><ul><ul><li>Diagramas de flujo </li></ul></ul><ul><ul><li>Diagramas de Nassi-Schneidermann </li></ul></ul>
  10. 10. Descripción de un algoritmo <ul><li>Pseudo – código </li></ul><ul><ul><li>El algoritmo se expresa en lenguaje natural </li></ul></ul><ul><ul><li>Expresa de manera genérica los pasos del algoritmo </li></ul></ul><ul><ul><li>No provee detalles de la implementación particular del código final </li></ul></ul>IWI-131 - Tema 1 Algoritmos
  11. 11. Descripción de un algoritmo <ul><li>Diagramas de flujo </li></ul><ul><ul><li>Presentan el algoritmo de manera gráfica. </li></ul></ul><ul><ul><li>De gran utilidad para seguir la “ruta” de un algoritmo. </li></ul></ul><ul><ul><li>Aplicables a muchas otras disciplinas. </li></ul></ul>
  12. 12. Descripción de un algoritmo <ul><li>Diagrama de Nassi-Schneidermann </li></ul><ul><ul><li>También se denominan diagramas de caja. </li></ul></ul><ul><ul><li>Menos usado que el diagrama de flujo </li></ul></ul><ul><ul><li>Mas ordenado </li></ul></ul><ul><ul><li>Ocupa mucho espacio para representar algoritmos complejos. </li></ul></ul>
  13. 13. Construcción de un algoritmo <ul><li>Definir el problema a resolver </li></ul><ul><li>Identificar las entradas del algoritmo </li></ul><ul><li>Identificar la salida del algoritmo </li></ul><ul><li>Definir los pasos a seguir para convertir las entradas en la salida </li></ul><ul><li>Seguir los pasos y comprobar que el algoritmo sea correcto analizando la salida. </li></ul><ul><li>Revisar los pasos y hacer las correcciones. </li></ul><ul><li>Resolver el problema. </li></ul>
  14. 14. Construcción de un algoritmo <ul><li>Construcción de un programa </li></ul><ul><ul><li>Definir el problema a resolver </li></ul></ul><ul><ul><li>Definir el algoritmo que lo resuelve </li></ul></ul><ul><ul><li>Escribir el programa </li></ul></ul><ul><ul><ul><li>Escribir cada uno de los pasos del algoritmo en el lenguaje de programación </li></ul></ul></ul><ul><ul><li>Ejecutar el programa en el computador </li></ul></ul><ul><ul><li>Verificar que las salidas sean correctas </li></ul></ul><ul><ul><li>Hacer correcciones al programa </li></ul></ul><ul><ul><li>Resolver el problema </li></ul></ul>IWI-131 - Tema 1 Algoritmos
  15. 15. Construcción de un algoritmo <ul><li>Ejemplo: </li></ul><ul><ul><li>Objetivo: Calcular el precio de una manzana </li></ul></ul><ul><ul><li>Entradas </li></ul></ul><ul><ul><ul><li>Precio (en pesos) del kilo de manzanas [K] </li></ul></ul></ul><ul><ul><ul><li>Peso (en gramos) promedio de una manzana[P] </li></ul></ul></ul><ul><ul><li>Salida </li></ul></ul><ul><ul><ul><li>Precio (en pesos) de una manzana [M] </li></ul></ul></ul>
  16. 16. Construcción de un algoritmo Inicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Devolver el valor de M Fin.
  17. 17. Construcción de un algoritmo G=K/1000 M=G x P Ingresar K y P Devolver M
  18. 18. Construcción de un algoritmo G=K/1000 M=G x P Ingresar K y P Devolver M
  19. 19. Construcción de un algoritmo <ul><li>Operaciones básicas </li></ul><ul><ul><li>Entrada de datos </li></ul></ul><ul><ul><li>Salida de datos </li></ul></ul><ul><ul><li>Utilización de variables </li></ul></ul><ul><ul><li>Utilización de constantes </li></ul></ul><ul><ul><li>Aplicación de operadores </li></ul></ul><ul><ul><li>Asignación de valores </li></ul></ul><ul><li>Combinación de operaciones básicas </li></ul><ul><ul><li>Secuencial </li></ul></ul><ul><ul><li>Selectiva </li></ul></ul><ul><ul><li>Repetitiva </li></ul></ul>
  20. 20. Entrada de datos <ul><li>Los algoritmos son para solucionar tipos de problemas </li></ul><ul><li>Es imprescindible poder entregar entradas distintas en cada ejecución </li></ul><ul><li>La entrada de datos se realiza mediante algún dispositivo </li></ul>
  21. 21. Entrada de datos <ul><li>Dispositivos de entrada </li></ul><ul><ul><li>Teclado </li></ul></ul><ul><ul><li>Mouse </li></ul></ul><ul><ul><li>Botones </li></ul></ul><ul><ul><li>Censores de tacto </li></ul></ul><ul><ul><li>Cámaras digitales </li></ul></ul><ul><ul><li>Scanners </li></ul></ul><ul><ul><li>Archivos </li></ul></ul>
  22. 22. Entrada de datos
  23. 23. Salida de datos <ul><li>De nada sirve implementar un algoritmo si no podemos saber su resultado. </li></ul><ul><li>Al finalizar el algoritmo (o durante), es imprescindible obtener la información resultante de su ejecución. </li></ul><ul><li>La salida de datos se realiza mediante dispositivos. </li></ul>
  24. 24. Salida de datos <ul><li>Dispositivos de salida </li></ul><ul><ul><li>Pantalla </li></ul></ul><ul><ul><li>Impresora </li></ul></ul><ul><ul><li>Parlantes </li></ul></ul><ul><ul><li>Tableros luminosos </li></ul></ul><ul><ul><li>Motores </li></ul></ul><ul><ul><li>Tarjeta de red </li></ul></ul><ul><ul><li>Archivos </li></ul></ul>
  25. 25. Salida de datos C:
  26. 26. Utilización de variables <ul><li>Durante la ejecución del algoritmo, es importante recordar los resultados parciales de cada paso. </li></ul><ul><li>Estos resultados se etiquetan con un nombre. </li></ul><ul><li>Al invocar con posterioridad ese nombre, recuperamos el resultados parcial. </li></ul>IWI-131 - Tema 1 Algoritmos
  27. 27. Utilización de variables G=K/1000 Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana. K es un dato de entrada, y también Se considera una variable
  28. 28. Utilización de variables <ul><li>La principal característica de una variable es que su valor puede cambiar en el tiempo. </li></ul><ul><li>Usualmente se compara con una caja donde se puede almacenar una sola “cosa”. </li></ul><ul><li>Por lo general, las variables se definen con un tipo de dato. </li></ul><ul><li>El tipo de dato restringe que tipo de “cosas” se pueden guardar en las “cajas”. </li></ul>
  29. 29. Utilización de constantes <ul><li>Además de las variables, un algoritmo requiere de constantes. </li></ul><ul><li>A diferencia de las variables, su valor no puede cambiar en el tiempo. </li></ul><ul><li>Las constantes también pueden recibir nombres para mayor claridad. </li></ul><ul><ul><li>Ej.: PI = 3.1415 </li></ul></ul>
  30. 30. Utilización de constantes G=K/1000 La constante “1000” sirva para transformar el valor Por kilo a un valor por gramo
  31. 31. Aplicación de operadores <ul><li>Para obtener resultados, generalmente es necesario “transformar” las entradas en la salida. </li></ul><ul><li>Para esto se aplican operadores de distinta índole </li></ul><ul><ul><li>Aritméticos ( + , - , * , / ) </li></ul></ul><ul><ul><li>Lógicos ( igual que , mayor que , menor que , y , o , no ) </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>Los operadores requieren de operandos y entregan un resultado. </li></ul><ul><li>Por lo general, los operadores son unarios o binarios. </li></ul>
  32. 32. Aplicación de operadores M=G * P operandos operador
  33. 33. Asignación de valores <ul><li>El resultado de un operador se puede almacenar en una variable. </li></ul><ul><li>Para esto se utiliza un tipo especial de operador. </li></ul><ul><li>Este es el operador de asignación . </li></ul><ul><li>Solo se pueden asignar valores a variables, no a constantes </li></ul>
  34. 34. Asignación de valores M=G * P Operador de asignación El resultado de GxP se asigna a la variable M
  35. 35. Algoritmos

×