documentc1

53
1 Historia 2012 – Articulación - Algoritmia y programación Las dos cosas que han permitido que la ciencia avance al nivel donde nos encontramos hoy son los libros, que han contribuido a la difusión del conocimiento, y los algoritmos. Dasgupta, Papadimitrio y Vazirani

Upload: alenco

Post on 21-May-2015

936 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: DocumentC1

1

Historia

2012 – Articulación - Algoritmia y programación

Las dos cosas que han permitido que la ciencia avance al nivel donde nos encontramos hoy son los libros, que han contribuido

a la difusión del conocimiento, y los algoritmos.

Dasgupta, Papadimitrio y Vazirani

Page 2: DocumentC1

Historia

2012 – Articulación - Algoritmia y programación

¿Cuánto es MCDXLVIII + DCCCXII?

¿Que numeros son?

¿Sabe usted como realizar la suma de numeros romanos?

¿Cual es nuestro sistema de numeración?

Page 3: DocumentC1

Historia

2012 – Articulación - Algoritmia y programación

¿De dónde proviene la palabra algoritmo?

El imperio árabe invadió a la India.

– Mohammed Ibs-Musa Al-Juarizmi (780 - 850)– matemático y astrónomo de la “Casa de la Sabiduría”-Bagdad escribe los fundamentos del algebra.

– En el siglo XII Roberto de Chester – tradujo las primeras versiones de la obra de Al-Juarizmi del árabe al Latin - “algoritmus” - “Algoritmo”

Page 4: DocumentC1

4

Historia

2012 – Articulación - Algoritmia y programación

Page 5: DocumentC1

5

Conceptos

2012 – Articulación - Algoritmia y programación

¿Que es un problema?

Page 6: DocumentC1

6

Problema

2012 – Articulación - Algoritmia y programación

Un problema es algo que hay que aclarar o resolver.

Para resolver dicho problema, este se debe identificar como tal, es decir, hay que realizar una serie de acciones para encontrar una solución y escribir dicha solución de la manera mas clara posibel para que otras personas la entiendan.

Para un problema existen diferentes maneras de expresar una solución.

Page 7: DocumentC1

7

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

¿Que procedimiento seguirias para solucionar el laberinto?

Page 8: DocumentC1

8

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

Page 9: DocumentC1

9

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

Enunciado: En un estante de una biblioteca se han colocado en forma ordenada los tres tomos de el Quijote de la Mancha. Una polilla empezó por taladrar la primera hoja del primer tomo y prosiguió horizontalmente en el mismo sentido, terminó su tarea con la última hoja del último tomo.

¿Cuántas hojas taladro la polilla?

Page 10: DocumentC1

10

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

Enunciado: En un estante de una biblioteca se han colocado en forma ordenada los tres tomos de el Quijote de la Mancha. Cada uno de los cfuales tiene 100 hojas. Una polilla empezó por taladrar la primera hoja del primer tomo y prosiguió horizontalmente en el mismo sentido, terminó su tarea con la última hoja del último tomo.

¿Cuántas hojas taladro la polilla?

Page 11: DocumentC1

11

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

Enunciado: Dos amigos pasean conversando de sus respectivas familias.

– A: Por ciero – Pregunta A a B - ¿Que edad tienen tus tres hijas?.

– B: El amigo responde: “el producto de sus edades es 36 y su suma casualmente, es igual al número de tu casa”.....Tras pensar un rato,

– A: dice: “Me falta un dato”.

– B: Así que el amigo responde “...hummm es verdad, se me había olvidado aclararte que la mayor toca el piano”.

¿Cuáles son las edades de las tres hijas?

Page 12: DocumentC1

12

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

Page 13: DocumentC1

13

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

Page 14: DocumentC1

14

¿Que es un Algoritmo?

2012 – Articulación - Algoritmia y programación

Se denomina ALGORITMO a la descripción de la secuencia de operaciones que hay que realizar para obtener unos resultados

deseados, a partir de unos datos iniciales.

Page 15: DocumentC1

15

Características de los algoritmos

2012 – Articulación - Algoritmia y programación

Page 16: DocumentC1

16

Clasificación de los algoritmos

2012 – Articulación - Algoritmia y programación

Informales

Son los algoritmos que no pueden ser llevados acabo por una computadora, pues quien los ejecuta es el ser humano y dan soluciones tales como ir al trabajo, ir a la escuela, etc. Para resolver estos problemas se tiene que usar la lógica.

Computacionales

Se trata de algoritmos que son llevados acabo en una computadora, los cuales buscan aprovechar su velocidad de procesamiento.

Page 17: DocumentC1

17

Componentes de un algoritmo

2012 – Articulación - Algoritmia y programación

ProcesoEntrada Salida

Page 18: DocumentC1

18

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

Page 19: DocumentC1

19

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

Page 20: DocumentC1

20

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

Page 21: DocumentC1

21

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

2.Diseñar el algoritmo y escibirlo en pseudocódigo.

Page 22: DocumentC1

22

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

2.Diseñar el algoritmo y escibirlo en pseudocódigo.

3.Realizar una prueba de escritorio para el algoritmo.

Page 23: DocumentC1

23

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

2.Diseñar el algoritmo y escibirlo en pseudocódigo.

3.Realizar una prueba de escritorio para el algoritmo.

4.Codificar el algoritmo usando un lenguaje de programación.

Page 24: DocumentC1

24

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

2.Diseñar el algoritmo y escibirlo en pseudocódigo.

3.Realizar una prueba de escritorio para el algoritmo.

4.Codificar el algoritmo usando un lenguaje de programación.

5.Probar el algoritmo implementado.

Page 25: DocumentC1

25

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Enunciado:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1.Análisis del problema

Definir el problema con precisión

Identificar los datos de entrada

Entrada?

Page 26: DocumentC1

26

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Enunciado:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1.Análisis del problema

Definir el problema con precisión

Identificar los datos de entrada

Identificar los datos de salida

Entrada?

Salida?

Page 27: DocumentC1

27

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Enunciado:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1. Análisis del problema

Definir el problema con precisión

Identificar los datos de entrada

Identificar los datos de salida

Identificar como transformar los datos de entrada en la salida

Entrada?

Salida?

Proceso?

Page 28: DocumentC1

28

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1. Análisis del problema

Entradas: la base y la altura

h

b

Page 29: DocumentC1

29

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1. Análisis del problema

Salidas: El área del triangulo

area

Page 30: DocumentC1

30

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1. Análisis del problema

Proceso: Formula para transformar las entradas en salidas.

h

b

area = (base * altura ) / 2

Page 31: DocumentC1

31

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1. Análisis del problema

Al conjunto de entradas y salidas se les conoce como las variables del algoritmo.

Variables de entrada : base, altura

Variables de salida: area

Page 32: DocumentC1

32

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1. Análisis del problema

Las variables pueden ser numéricas(entero, real) o también pueden contener texto.

Variables de entrada : base, altura ??

Variables de salida: area ??

Page 33: DocumentC1

33

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

1. Análisis del problema

Las variables pueden ser numéricas(entero, real) o también pueden contener texto.

Variables de entrada : base, altura tipo real

Variables de salida: area ?? tipo real

Page 34: DocumentC1

34

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigo

El pseudocódigo es utilizado para describir algoritmos en un lenguje humano simplificado que no es dependiente de ningún lenguaje de programación.

Page 35: DocumentC1

35

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

Fin

Page 36: DocumentC1

36

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

Fin

Page 37: DocumentC1

37

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

Fin

Declaración de variables

Page 38: DocumentC1

38

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

leer(base)

Fin

Page 39: DocumentC1

39

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

leer(base)

leer(altura)

Fin

Page 40: DocumentC1

40

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

leer(base)

leer(altura)

Fin

Lectura de los datos de entrada

Page 41: DocumentC1

41

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

leer(base)

leer(altura)

area = (base * altura) / 2

Fin

Page 42: DocumentC1

42

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

leer(base)

leer(altura)

area = (base * altura) / 2

Fin

Proceso

Page 43: DocumentC1

43

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

leer(base)

leer(altura)

area = (base * altura) / 2

imprimir (area)

Fin

Page 44: DocumentC1

44

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

2. Diseñar el algoritmo y escribirlo en pseudocódigoInicio

base, altura: real

area: real

leer(base)

leer(altura)

area = (base * altura) / 2

imprimir (area)

Fin

Salidas

Page 45: DocumentC1

45

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

3. Realizar la prueba de escritorio

La prueba de escritorio es una herramienta para entender que hace un determinado algoritmo, o para verificar que la solución al problema es la correcta.

Es una simulación de la puesta en marcha de un algoritmo.

Page 46: DocumentC1

46

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

3. Realizar la prueba de escritorioInicio

base, altura: real

area: real

Fin

base altura área

Page 47: DocumentC1

47

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

3. Realizar la prueba de escritorioInicio

base, altura: real

area: real

leer(base)

Fin

base altura área

2.0

Page 48: DocumentC1

48

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

3. Realizar la prueba de escritorioInicio

base, altura: real

area: real

leer(base)

leer(altura)

Fin

base altura área

2.0 4.0

Page 49: DocumentC1

49

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

3. Realizar la prueba de escritorioInicio

base, altura: real

area: real

leer(base)

leer(altura)

area = (base * altura)/ 2

Fin

base altura área

2.0 4.0 4.0

Page 50: DocumentC1

50

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

3. Realizar la prueba de escritorioInicio

base, altura: real

area: real

leer(base)

leer(altura)

area = (base * altura)/ 2

imprimir(area)

Fin

base altura área

2.0 4.0 4.0

4.0

Page 51: DocumentC1

51

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

4. Codificar el algoritmo usando un lenguaje de programación

Los algoritmos escritos se deben traducir a un lenguaje de programación.

En nuestro caso usaremos Java, pero existen muchos otros como son:

c , c++,Ruby

c# , php

Page 52: DocumentC1

52

Ejemplo 1

2012 – Articulación - Algoritmia y programación

Problema:Desarrolle un algoritmo que permita calcular el área de un triangulo a partir de su base y su altura.

4. Codificar el algoritmo usando un lenguaje de programación

En las proximas clases veremos como es el proceso para codificar los algoritmos en el lenguaje de programación Java.

Page 53: DocumentC1

53

Ejercicios

2012 – Articulación - Algoritmia y programación

Siguiendo la metodología propuesta anteriormente, resuelva los siguietes problemas:

1. Desarrolle un algoritmo que lea el monto de una factura y muestre el valor que se debe pagar por concepto del impuesto de IVA(16%) y el valor total a pagar.

2. Una casa de cambio necesita un programa que lea el valor en pesos, y muestre la cantidad correspondiente en dolares.

3. Desarrolle un algoritmo que permita calcular el área de un circulo a partir del radio.