C1

Post on 21-May-2015

937 views 8 download

Transcript of C1

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

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?

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”

4

Historia

2012 – Articulación - Algoritmia y programación

5

Conceptos

2012 – Articulación - Algoritmia y programación

¿Que es un problema?

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.

7

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

¿Que procedimiento seguirias para solucionar el laberinto?

8

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

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?

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?

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?

12

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

13

Problemas y Soluciones

2012 – Articulación - Algoritmia y programación

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.

15

Características de los algoritmos

2012 – Articulación - Algoritmia y programación

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.

17

Componentes de un algoritmo

2012 – Articulación - Algoritmia y programación

ProcesoEntrada Salida

18

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

19

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

20

Usando Algoritmos

2012 – Articulación - Algoritmia y programación

Pasos a seguir para resolver cualquier problema usando algoritmos.

1.Análisis del problema

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.

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.

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.

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.

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?

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?

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?

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

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

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

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

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 ??

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

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.

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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.

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.