Algoritmos ¿Que es un algoritmo? “Una lista de instrucciones donde se especifica una sucesión...
-
Upload
alphonso-lozano -
Category
Documents
-
view
223 -
download
0
Transcript of Algoritmos ¿Que es un algoritmo? “Una lista de instrucciones donde se especifica una sucesió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
Algoritmos
1. 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
Algoritmos
+
V V V
V F F
F V F
F F F
V+ F
F
Algoritmos
san+ sano
sansano
Algoritmos
Entrada ¿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 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.
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
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
InicioIngresar 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
G=K/1000
M=G x P
Ingresar K y 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
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
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
M=G * P
operandos
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
M=G * P
Operador de asignación
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
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
Diagrama de flujo
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
C
3
4
2
1
C: Condición
Combinación de operaciones básicasInicio
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
Iniciosalir de la camaducharsetomar desayunosi esta lloviendo entonces
tomar el paraguasfin sitomar la mochilatomar la micro
fin
Combinación de operaciones básicas
C
3a 3b
4
2
1
si no
C: Condición
Combinación de operaciones básicasInicioEjecutar 1Ejecutar 2si se cumple C entonces
Ejecutar 3asi no
Ejecutar 3bfin siEjecutar 4
fin
Combinación de operaciones básicas Ejemplo: levantarse en la mañana
Iniciosalir de la camaducharsetomar desayunosi esta lloviendo entonces
llevar la parcasi no
llevar la chaquetafin sitomar la mochilatomar 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
2a 2b 2c
3
1
x?x mayor que 0
x igual a 0
x menor que 0
Combinación de operaciones básicas
3
x mayor que 0?
1
x menor que 0?
si
si
no
no
2a 2b 2c
Combinación de operaciones básicasInicio
Ejecutar 1Si x es mayor que cero entonces
Ejecutar 2aSi no
Si x es menor que cero entoncesEjecutar 2c
Si noEjecutar 2b
fin sifin siEjecutar 3
fin
Combinación de operaciones básicas
Ejemplo: levantarse en la mañanaInicio
salir de la camaducharsetomar desayunosi esta lloviendo entonces
llevar la parcasi no esta lloviendo pero hace frío
llevar la chaquetasi no
llevar un chalecofin sitomar la mochilatomar 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
Botón
giro saldo clave error
1 32
…
etoc
salir
Combinación de operaciones básicasInicio
en el caso que el botón presionadosea el 1
hacer girosea el 2
entregar saldosea el 3
cambiar clave…En cualquier otro caso
Errorfin 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
C
2
1
3
C: Condición
si
no
Combinación de operaciones básicasInicio
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
C
2
1
3
C: Condición
si
no
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
Inicio contador, fin contador
2
3
1
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
5
0i
i
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