Introducción al análisis de algoritmos Análisis de Algoritmos.
01 algoritmos
-
Upload
carlos-diaz -
Category
Education
-
view
1.488 -
download
3
description
Transcript of 01 algoritmos
![Page 1: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/1.jpg)
Introducción A los
Algoritmos
Grado: DECIMO
Docente: CARLOS DIAZ
![Page 2: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/2.jpg)
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
![Page 3: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/3.jpg)
Algoritmos
![Page 4: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/4.jpg)
Algoritmos1. 5+1=62. Anotar 63. 2+9=114. Anotar 1 y guardar
15. 4+0=46. 4+1=57. Anotar 58. El resultado es 516
491+ 25
516
![Page 5: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/5.jpg)
AlgoritmosEntrada
¿Qué se necesita para realizar los pasos?Salida
¿Que se obtiene al final del algoritmo?Tipos de datos
Números: enteros, reales, complejosTexto: letras, palabras, frasesOtros
![Page 6: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/6.jpg)
AlgoritmosSirven 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
![Page 7: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/7.jpg)
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.
![Page 8: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/8.jpg)
Algoritmos¿Qué es un programa de computador?
Es una secuencia de pasos a ejecutarLos 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.
![Page 9: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/9.jpg)
Descripción de un algoritmoEs necesario contar con formas de
expresar algoritmosDiseño del algoritmo antes de codificarDiseño del algoritmo de manera independiente
del lenguaje de programación
Diferentes alternativasPseudo - códigoDiagramas de flujoDiagramas de Nassi-Schneidermann
![Page 10: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/10.jpg)
Descripción de un algoritmoPseudo – código
El algoritmo se expresa en lenguaje naturalExpresa de manera genérica los pasos del
algoritmoNo provee detalles de la implementación
particular del código final
IWI-131 - Tema 1 Algoritmos
![Page 11: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/11.jpg)
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.
![Page 12: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/12.jpg)
Descripción de un algoritmoDiagrama de Nassi-Schneidermann
También se denominan diagramas de caja.Menos usado que el diagrama de flujoMas ordenadoOcupa mucho espacio para representar
algoritmos complejos.
![Page 13: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/13.jpg)
Construcción de un algoritmo1. Definir el problema a resolver2. Identificar las entradas del algoritmo3. Identificar la salida del algoritmo4. Definir los pasos a seguir para convertir
las entradas en la salida5. Seguir los pasos y comprobar que el
algoritmo sea correcto analizando la salida.
6. Revisar los pasos y hacer las correcciones.7. Resolver el problema.
![Page 14: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/14.jpg)
Construcción de un algoritmo Construcción de un programa
1. Definir el problema a resolver2. Definir el algoritmo que lo resuelve3. Escribir el programa
Escribir cada uno de los pasos del algoritmo en el lenguaje de programación
4. Ejecutar el programa en el computador5. Verificar que las salidas sean correctas6. Hacer correcciones al programa7. Resolver el problema
IWI-131 - Tema 1 Algoritmos
![Page 15: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/15.jpg)
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]
![Page 16: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/16.jpg)
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.
![Page 17: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/17.jpg)
Construcción de un algoritmo
G=K/1000
M=G x P
Ingresar K y P
Devolver M
![Page 18: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/18.jpg)
Construcción de un algoritmo
G=K/1000
M=G x P
Ingresar K y P
Devolver M
![Page 19: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/19.jpg)
Construcción de un algoritmoOperaciones básicas
Entrada de datosSalida de datosUtilización de variablesUtilización de constantesAplicación de operadoresAsignación de valores
Combinación de operaciones básicasSecuencialSelectivaRepetitiva
![Page 20: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/20.jpg)
Entrada de datosLos algoritmos son para solucionar tipos de
problemasEs imprescindible poder entregar entradas
distintas en cada ejecuciónLa entrada de datos se realiza mediante
algún dispositivo
![Page 21: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/21.jpg)
Entrada de datosDispositivos de entrada
TecladoMouseBotonesCensores de tactoCámaras digitalesScannersArchivos
![Page 22: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/22.jpg)
Entrada de datos
![Page 23: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/23.jpg)
Salida de datosDe 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.
![Page 24: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/24.jpg)
Salida de datosDispositivos de salida
PantallaImpresoraParlantesTableros luminososMotoresTarjeta de redArchivos
![Page 25: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/25.jpg)
Salida de datosC:\
![Page 26: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/26.jpg)
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-131 - Tema 1 Algoritmos
![Page 27: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/27.jpg)
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énSe considera una variable
![Page 28: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/28.jpg)
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”.
![Page 29: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/29.jpg)
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 = 3.1415
![Page 30: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/30.jpg)
Utilización de constantes
G=K/1000
La constante “1000” sirva para transformar el valor Por kilo a un valor por gramo
![Page 31: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/31.jpg)
Aplicación de operadoresPara obtener resultados, generalmente es
necesario “transformar” las entradas en la salida.
Para esto se aplican operadores de distinta índoleAritmé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.
![Page 32: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/32.jpg)
Aplicación de operadores
M=G * P
operandos
operador
![Page 33: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/33.jpg)
Asignación de valoresEl 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
![Page 34: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/34.jpg)
Asignación de valores
M=G * P
Operador de asignación
El resultado de GxP se asigna a la variable M
![Page 35: 01 algoritmos](https://reader034.fdocuments.es/reader034/viewer/2022052622/559102461a28ab4d0c8b4734/html5/thumbnails/35.jpg)
Algoritmos