Sunteți pe pagina 1din 6

Algoritmos

3.1 Orgenes de los Algoritmos 3.2 Denicin de Algoritmo 3.3 Ejercicios de Algoritmos 3.4 Nocin de Funcin Computable: un ejemplo 3.5 Datos v/s Informacin

ORGENES DE LOS ALGORITMOS


Sergio Matamala Riedemann sergio.matamala02@docentes.inacap.cl

3.1 Orgenes de los algoritmos

3.1 Orgenes de los algoritmos

Algoritmo

Orgenes

La palabra algoritmo curiosamente proviene del nombre de un matemtico persa llamado Muhammad ibn M!s" al-Khw"rizm# (aunque en su casa le decan !"#$ %&' ()*+'%,-' ./%) 0& 123) 4' 156 %&7). l escribi un texto sobre clculos con nmeros hindes, que se tradujo al latn como Algoritmi de numero Indorum, donde Algoritmi pretenda ser la traduccin del nombre del autor. Como podrn imaginar se malinterpret y se supuso que algoritmi era el plural de la inexistente palabra algoritmo.

En lenguaje simple, un algoritmo corresponde a una serie de instrucciones que permiten resolver un problema. Un ejemplo de ello es una receta de cocina o un plan de evacuacin.

3.1 Orgenes de los algoritmos

Algoritmos

Los algoritmos no se emplean slo en computacin sino que en diversas reas como la msica, medicina, etc., ayudando desde generar una nueva pieza musical hasta decidir cmo actuar ante un paciente.

DEFINICIN DE ALGORITMO

3.2 Denicin de algoritmo

3.2 Denicin de algoritmo

Algoritmo

Algoritmo

Para resolver un problema, un mtodo simplicado podra verse de la siguiente forma:

Segn la Real Academia Espaola, un algoritmo es: Conjunto ordenado y nito de operaciones que permite hallar la solucin de un problema.

Anlisis del problema

Diseo del algoritmo

Programacin de la solucin

3.2 Denicin de algoritmo

3.2 Denicin de algoritmo

Algoritmo

Algoritmo

En general se acepta que un algoritmo debe cumplir las siguientes caractersticas:


Existen diversas formas de escribir un algoritmo. Algunas de ellas son:


Debe ser preciso (indicar el orden en que se realiza cada paso). Debe ser denido (cada vez que se sigue se debe obtener el mismo resultado. Debe ser nito (debe terminar en algn momento).

Descripcin narrada. Diagramas de ujo. Pseudocdigo.

3.2 Denicin de algoritmo

3.2 Denicin de algoritmo

Descripcin narrada

Descripcin narrada

Ej: algoritmo para preparar caf: 1.Hervir agua. 2.Tomar un tazn. 3.Echar en el tazn una cucharadita de caf. 4.Echar en el tazn cuatro cucharaditas de azcar (me gusta dulce). 5.Echar en el tazn agua hirviendo hasta llenarlo. 6.Revolver.

La descripcin narrada corresponde a la descripcin de los procesos a realizar empleando para ello el espaol (o idioma que se desee) en su totalidad. Esto implica que las instrucciones pueden tener la forma de caminar hacia la esquina o presionar el botn rojo.

3.2 Denicin de algoritmo

3.2 Denicin de algoritmo

Diagramas de ujo

Diagramas de ujo

Las representaciones grcas principales son las siguientes:


Iniciar/ Detener

Los diagramas de ujo son un mecanismo ms restringido y reglamentado. Corresponden a una serie de instrucciones contenidas en guras geomtricas y unidas por echas. Pueden llevarse a grados de complejidad relativamente altos. Nosotros veremos por el momento lo esencial.

Marca el inicio y n del cdigo Indica obtencin o salida de datos Indica un proceso Permite decidir qu hacer en base a una pregunta

Entrada/ Salida

Proceso

Decisin

3.2 Denicin de algoritmo

3.2 Denicin de algoritmo

Diagramas de ujo

Pseudocdigo

Ejemplo: Determinar si la suma de dos nmeros es mayor que cero.

inicio

Aunque la palabra pseudocdigo no existe para la Real Academia Espaola, su signicado sera cdigo falso. El pseudocdigo es una forma de descripcin de un algoritmo que fusiona el lenguaje natural humano con el cdigo escrito en los lenguajes de programacin. Al igual que en los lenguajes de programacin, no hay un nico estndar y, si bien todos los pseudocdigos se basan en la misma esencia, la forma de escribirlo vara de autor en autor.

Leer a, b

suma = a + b

escribir "si"

si

suma>0

no

escribir "no"

3.2 Denicin de algoritmo

3.2 Denicin de algoritmo

Pseudocdigo

Pseudocdigo

En nuestro caso el pseudocdigo se basar en el lenguaje C++. De esta forma la transicin de pseudocdigo a cdigo se facilitar. Ej:
programa cubo; var n, c : entero; inicio escribir(Ingrese un nmero: ) leer(n); c := n*n*n; escribir(Su nmero al cubo es ); escribir(c); fin.

Este tema o trataremos en profundidad en la siguiente unidad.

1.1 Unidad

Ejercicios

A continuacin se le presentarn varios problemas para que resuelva durante la clase empleando la descripcin narrada. Para ello tenga presente: 1.Enumere cada paso. 2.El algoritmo debe poder ser seguido por cualquier humano que hable espaol. Asuma que dicho personaje seguir las instrucciones sin cuestionarlas, por lo que si usted le pide que cruce el umbral de la puerta, y la puerta est cerrada, provocar un chichn. 3.Siga las condiciones que se esperan de un algoritmo (preciso, denido y nito).

EJERCICIOS DE ALGORITMOS

3.3 Ejercicios de algoritmos

3.3 Ejercicios de algoritmos

Ejercicios

Ejercicios

Empleando descripcin narrada, escriba un algoritmo que resuelva el siguiente problema: Levantarse por la maana

Empleando descripcin narrada, escriba un algoritmo que resuelva el siguiente problema: Cambiar la rueda de un auto

3.3 Ejercicios de algoritmos

3.3 Ejercicios de algoritmos

Ejercicios

Ejercicios

Empleando diagramas de ujo, escriba un algoritmo para cada uno de los siguientes problemas: 1.Determinar si un nmero es par (no puede emplear las palabras par e impar en su solucin) 2.Calcular el sueldo de un trabajador a partir de las horas trabajadas y el valor hora que le corresponde. 3.Repita el ejercicio anterior, considerando que si trabaja ms de 40 horas, todo el tiempo extra debe pagarse con un recargo del 50%.

Empleando descripcin narrada, escriba un algoritmo que resuelva el siguiente problema: Comprar una bebida de una mquina

3.4 Nocin de Funcin Computable: un ejemplo

Funcin computable

Una funcin computable es aquella que puede ser resuelta en forma automtica mediante un algoritmo. Por el contrario, una funcin no computable es aquella que resulta insoluble para una mquina.

NOCIN DE FUNCIN COMPUTABLE: UN EJEMPLO

3.4 Nocin de Funcin Computable: un ejemplo

3.4 Nocin de Funcin Computable: un ejemplo

Funcin computable

Funcin no computable

Muchos cientcos han trabajado en torno a este concepto. Probablemente uno de los ms destacados es Alan Turing (1912-1954), un ingls que contribuy muchsimo en la formalizacin de los fundamentos de los algoritmos y la computacin. Una de sus grandes contribuciones fue la Mquina de Turing. Esta mquina es un diseo conceptual introducido en 1937, que pretenda establecer que hay funciones que no pueden ser resueltas en forma automtica.

Alan Turing y Alonzo Church (1903-1995) buscaron funciones no computables que demostraran la teora. La ms famosa de ellas es El problema de la parada. Esta funcin se inicia entregando un nmero natural como entrada a la Mquina de Turing y devuelve un 1 si la mquina se detiene con ese valor y un 0 si no lo hace. La demostracin de esto la pueden encontrar en
http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Introduccin_a_la_Computacin_Clsica

pero dice aproximadamente lo siguiente:

3.4 Nocin de Funcin Computable: un ejemplo

3.4 Nocin de Funcin Computable: un ejemplo

Funcin no computable

Creative Commons

Suponiendo que existe una mquina de Turing para el problema de la parada, H, se puede construir una mquina modicada H1 que acepte la codicacin de una mquina de Turing como entrada y determine si esta mquina se detiene cuando acepta una determinada cadena de entrada (a H). Ahora se considera otra mquina H2 que es como H1 pero que sigue ejecutndose (no para) mientras la mquina dada se detenga por su propia entrada y que se detiene si la mquina dada no se detiene para su entrada. Si a H2 se le da como entrada una codicacin de s misma, se ejecuta s y slo s se para. Esto es una contradiccin. Y la contradiccin est en la existencia de una mquina H para el problema de la parada (es errnea esta suposicin).
Extracto de obra de Irene Mndez, Jos Manuel Chaves, Vctor Snchez y No Otero Mateo en http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Introduccin_a_la_Computacin_Clsica bajo licencia Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia

Para ms informacin sobre Creative Commons pueden visitar la pgina http://creativecommons.org/ Para entender sus orgenes vean la exposicin de Larry Lessig en TED:
http://www.ted.com/talks/lang/eng/larry_lessig_says_the_law_is_strangling_creativity.html

(incluye subttulos en diferentes idiomas) No se van a arrepentir!

Les recomiendo intrusear www.ted.com, que contiene charlas de diferentes personajes y de distintas reas del conocimiento bajo el lema Ideas worth spreading (algo as como ideas dignas de difusin).

3.5 Datos v/s Informacin

Datos e informacin

Los datos corresponden a la representacin simblica de sucesos o entidades. stos en s no tienen ms valor que ser una representacin. Sin embargo al procesarlos stos pueden convertirse en informacin.

DATOS V/S INFORMACIN

Datos

Procesamiento

Informacin

3.5 Datos v/s Informacin

3.5 Datos v/s Informacin

Datos e informacin

Datos e informacin

Un ejemplo real, sucedido en Estados Unidos, es:

Un ejemplo de esto es lo que hacen los supermercados al pedirnos el RUT para juntar puntos y premiarnos con productos canjeables. Cada vez que compramos les damos datos sobre nuestras compras, como que compramos, cuando, en que fecha, etc. Al procesar estos datos ellos pueden por ejemplo mejorar la distribucin de sus productos para as mejorar sus ventas.

Dato: los hombres de cierto rango de edad compran paales en determinados horarios. Dato: los hombres del mismo rango de edad compran cerveza en determinados horarios. Informacin: Cuando dichos hombres compran paales, tambin compran cerveza (de picados!?). Valor: El supermercado ubica las cervezas entre los paales y la caja, y as aumenta sus ventas.

3.6 Concepto de procesamiento de datos como transformacin de datos

Procesamiento de datos

El procesar datos no siempre implica obtener informacin. Los datos pueden ser procesados para transformarlos y as poder analizarlos. Por ejemplo al dato peso se le puede cambiar de unidad, o al dato frecuencia se le puede pasar de una escala lineal a una escala logartmica. En estos casos el proceso no los transforma en informacin.

S-ar putea să vă placă și