tarea 6

55
ESTRUCTURA FUNDAMENTAL DE ALGORITMOS

Upload: diego-rodrigo-jurado

Post on 01-Jul-2015

783 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Tarea 6

ESTRUCTURA FUNDAMENTAL

DE ALGORITMOS

Page 2: Tarea 6

Tema 1Algoritmos

Page 3: Tarea 6

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 4: Tarea 6

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

Page 5: Tarea 6

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.

Page 6: Tarea 6

Algoritmos

Page 7: Tarea 6

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

Page 8: Tarea 6

Algoritmos

+

V V V

V F F

F V F

F F F

V+ F

F

Page 9: Tarea 6

Algoritmos

san+ sano

sansano

Page 10: Tarea 6

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

Page 11: Tarea 6

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 12: Tarea 6

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.

Page 13: Tarea 6

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

Page 14: Tarea 6

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

Page 15: Tarea 6

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.

Page 16: Tarea 6

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.

Page 17: Tarea 6

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.

Page 18: Tarea 6

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

Page 19: Tarea 6

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]

Page 20: Tarea 6

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.

Page 21: Tarea 6

Construcción de un algoritmo

G=K/1000

M=G x P

Ingresar K y P

Devolver M

Page 22: Tarea 6

Construcción de un algoritmo

G=K/1000

M=G x P

Ingresar K y P

Devolver M

Page 23: Tarea 6

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

Page 24: Tarea 6

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

Page 25: Tarea 6

Entrada de datos

Dispositivos de entrada› Teclado› Mouse› Botones› Censores de tacto› Cámaras digitales› Scanners› Archivos

Page 26: Tarea 6

Entrada de datos

Page 27: Tarea 6

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.

Page 28: Tarea 6

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.

Page 29: Tarea 6

Salida de datos

Dispositivos de salida› Pantalla› Impresora› Parlantes› Tableros luminosos› Motores› Tarjeta de red› Archivos

Page 30: Tarea 6

Salida de datos

C:\

Page 31: Tarea 6

Asignación de valores

M=G * P

Operador de asignación

El resultado de GxP se asigna a la variable M

Page 32: Tarea 6

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

Page 33: Tarea 6

Combinación de operaciones básicas

C

3

4

2

1

C: Condición

Page 34: Tarea 6

Combinación de operaciones básicas

3

si no

4

2

1

C

C: Condición

Page 35: Tarea 6

Combinación de operaciones básicas

InicioEjecutar 1Ejecutar 2si se cumple C entonces

Ejecutar 3fin siEjecutar 4

fin

Page 36: Tarea 6

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

Page 37: Tarea 6

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?

Page 38: Tarea 6

Combinación de operaciones básicas

2a 2b 2c

3

1

x?x mayor que 0

x igual a 0

x menor que 0

Page 39: Tarea 6

Combinación de operaciones básicas

1

3

2a

x mayor que 0?

x menor que 0?

2b 2c

si

sino

no

Page 40: Tarea 6

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

Page 41: Tarea 6

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.

Page 42: Tarea 6

Combinación de operaciones básicas

Botón

giro saldo clave error

1 32

etoc

salir

Page 43: Tarea 6

Combinación de operaciones básicas

giro clavesaldo error

Botón

1 2 3 etoc

salir

Page 44: Tarea 6

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

Page 45: Tarea 6

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

Page 46: Tarea 6

Combinación de operaciones básicas

1

3

2

C

C: Condición

Page 47: Tarea 6

Combinación de operaciones básicas

Inicioejecutar 1mientras se cumpla la condición

ejecutar 2fin mientrasejecutar 3

fin

Page 48: Tarea 6

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.

Page 49: Tarea 6

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

Page 50: Tarea 6

Combinación de operaciones básicas

Inicioejecutar 1repetir

ejecutar 2hasta que se cumpla condiciónejecutar 3

fin

Page 51: Tarea 6

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.

Page 52: Tarea 6

Combinación de operaciones básicas

Inicio contador, fin contador

2

3

1

Page 53: Tarea 6

Asignación de información

Asignación Interna.

Actualización

Asignación Externa.

Page 54: Tarea 6

Combinación de operaciones básicas

Inicioejecutar 1desde contador inicial hasta contador final

ejecutar 2fin desdeejecutar 3

fin

Page 55: Tarea 6

GRACIAS