tarea 6
TRANSCRIPT
ESTRUCTURA FUNDAMENTAL
DE ALGORITMOS
Tema 1Algoritmos
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
5. Ejemplos de algoritmos secuenciales
Ejemplo1: Desarrolle un algoritmo que calcule e imprima el doble de un número.
INICIOLEER NUM
DOBLE=NUM*2IMPRIMIR DOBLE
FIN
Todo algoritmo empieza con INICIO, luego van los datos de entrada (con la palabra LEA y las variables), en este caso sólo es una variable llamada NUM que representa el número al cual se le va a sacar el DOBLE. Luego en el proceso se aplica la teoría del doble de un valor (se multiplica * 2). Finalmente se ponen los datos de salida con la palabra IMPRIMIR. Recuerde que termina con la palabra FIN.
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
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.
Descripción de un algoritmo
Diagrama 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.
Construcción de un algoritmo
1. 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 programa1. 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
Devolver el valor de M
Fin.
Construcción de un algoritmo
G=K/1000
M=G x P
Ingresar K y P
Devolver M
Construcción de un algoritmo
G=K/1000
M=G x P
Ingresar K y P
Devolver M
IWI-131 - Tema 1 Algoritmos
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› Censores de tacto› Cámaras digitales› Scanners› Archivos
Entrada de datos
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
C:\
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
C
3
4
2
1
C: Condición
Combinación de operaciones básicas
3
si no
4
2
1
C
C: Condición
Combinación de operaciones básicas
InicioEjecutar 1Ejecutar 2si se cumple C entonces
Ejecutar 3fin siEjecutar 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
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
2a 2b 2c
3
1
x?x mayor que 0
x igual a 0
x menor que 0
Combinación de operaciones básicas
1
3
2a
x mayor que 0?
x menor que 0?
2b 2c
si
sino
no
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ásicas
giro clavesaldo error
Botón
1 2 3 etoc
salir
…
Combinación de operaciones básicas
Inicioen el caso que el botón presionado
sea el 1hacer giro
sea el 2entregar saldo
sea el 3cambiar clave
…En cualquier otro caso
Errorfin caso
fin
Combinación de operaciones básicas
C
2
1
3
C: Condición
si
no
Combinación de operaciones básicas
1
3
2
C
C: Condición
Combinación de operaciones básicas
Inicioejecutar 1mientras se cumpla la condición
ejecutar 2fin mientrasejecutar 3
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
Inicioejecutar 1repetir
ejecutar 2hasta que se cumpla condiciónejecutar 3
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
Asignación de información
Asignación Interna.
Actualización
Asignación Externa.
Combinación de operaciones básicas
Inicioejecutar 1desde contador inicial hasta contador final
ejecutar 2fin desdeejecutar 3
fin
GRACIAS