C1
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.