AQUI LES DEJO UN VIDEO DONDE SE EXPLICAN VARIAS OPERACIONES MATEMATICAS DE LOGARITMOS ESPERO Y SEA UTIL
jueves, 30 de junio de 2011
UNIDAD TEMATICA 4:ANALISIS ASINTOTICO DE ALGORITMOS
AQUI ESTAN LAS FUNCIONES DE LOS LOGARITMOS DE UNA MANERA SENCILLA ESPERO Y SEA UTIL Y VIENE CON UN EJEMPLO
¿QUE ES EL LOGARITMODE UN NUMERO? Se llama logaritmo de un número al exponente al que hay que elevar otro número llamado base para obtener el número dado. Así
50=1
51=5
52=25
5n=n
luego, siendo la base 5, el logaritmo en base 5 de 1, se escribe log5(1) es cero, porque al elevar la base a cero el resultado es 1 .Cualquier número positivo se puede tomar como base de un logaritmo.
AQUÍ ESTAN VARIAS REGLAS IMPORTANTES AL MOMENTO DE USAR ALGORITMOS
- La base de un logaritmo no puede ser nunca un número negativo
- Los números negativos no tienen logaritmo, es decir
no existe logb (-a)
- Independientemente de la base, el logaritmo de la misma base siempre es uno, es decir logb(b)=1
- Independientemente de la base, el logaritmo de uno siempre es cero, es decir
Logb(1)=0
- Independientemente de la base, el logaritmo de cualquier número mayor que uno, siempre será positivo
- Independientemente de la base, el logaritmo de cualquier número menor que uno pero mayor que cero, siempre será negativo
PROPIEDADES GENERALES DE LOS LOGARITMOS
Logaritmo de un producto: el logaritmo de un producto siempre será igual a la suma de los logaritmos de los factores
Logb(x*y)=logb(x)+logb(y)
Logaritmo de un cociente: el logaritmo de un cociente siempre será igual a la resta de los logaritmos de los factores
Logb(x/y)= logb(x) – logb(y)
Logaritmo de una potencia: el logaritmo de una potencia siempre será igual al exponente multiplicado por el logaritmo del factor
Logb(xa)= a*logb(x)
Logaritmo de una raíz: el logaritmo de una raíz siempre será igual al logaritmo de la cantidad subradical dividido entre el índice de la raíz
Log(nraiz de x)=logb(x)/n
para publicar esta entrada me apoye en un documento de este documento
miércoles, 29 de junio de 2011
UNIDAD TEMATICA 3: modelos formales de computacion: maquinas y automatas
AQUI LES DEJO LA DEFINICION DE : ¿QUE ES UN LENGUAJE RECURSIVO?
Un lenguaje recursivo en matemáticas, lógica e informática, es un tipo de lenguaje formal que también es llamado recursivo, decidible o Turing-decidible. Se caracterizan porque para cada uno de ellos existe una máquina de Turing que aceptará cualquier palabra del lenguaje y parará siempre.
Los lenguajes que no son recursivos la maquina de turing no lo reconoce y por eso no son parte de lenguaje de reconocimiento de la maquina o de los que se desea reconocer.
AQUI LES DEJO UN EJEMPLO DE UN LENGUAJE RECURSIVO PERO CON EL CALCULO DEL FACTORIAL
el cálculo de números factoriales. Él factorial de 0 es, por definición, 1. Los factoriales de números mayores se calculan mediante la multiplicación de 1 * 2 * ..., incrementando el número de 1 en 1 hasta llegar al número para el que se está calculando el factorial.
El siguiente párrafo muestra una función, expresada con palabras, que calcula un factorial.
"Si el número es menor que cero, se rechaza. Si no es un entero, se redondea al siguiente entero. Si el número es cero, su factorial es uno. Si el número es mayor que cero, se multiplica por él factorial del número menor inmediato."
Para calcular el factorial de cualquier número mayor que cero hay que calcular como mínimo el factorial de otro número. La función que se utiliza es la función en la que se encuentra en estos momentos, esta función debe llamarse a sí misma para el número menor inmediato, para poder ejecutarse en el número actual. Esto es un ejemplo de recursividad.
La recursividad y la iteración (ejecución en bucle) están muy relacionadas, cualquier acción que pueda realizarse con la recursividad puede realizarse con iteración y viceversa. Normalmente, un cálculo determinado se prestará a una técnica u otra, sólo necesita elegir el enfoque más natural o con el que se sienta más cómodo.
Claramente, esta técnica puede constituir un modo de meterse en problemas. Es fácil crear una función recursiva que no llegue a devolver nunca un resultado definitivo y no pueda llegar a un punto de finalización. Este tipo de recursividad hace que el sistema ejecute lo que se conoce como bucle "infinito".
bibliografia : www.slideshare.net
Un lenguaje recursivo en matemáticas, lógica e informática, es un tipo de lenguaje formal que también es llamado recursivo, decidible o Turing-decidible. Se caracterizan porque para cada uno de ellos existe una máquina de Turing que aceptará cualquier palabra del lenguaje y parará siempre.
Los lenguajes que no son recursivos la maquina de turing no lo reconoce y por eso no son parte de lenguaje de reconocimiento de la maquina o de los que se desea reconocer.
AQUI LES DEJO UN EJEMPLO DE UN LENGUAJE RECURSIVO PERO CON EL CALCULO DEL FACTORIAL
el cálculo de números factoriales. Él factorial de 0 es, por definición, 1. Los factoriales de números mayores se calculan mediante la multiplicación de 1 * 2 * ..., incrementando el número de 1 en 1 hasta llegar al número para el que se está calculando el factorial.
El siguiente párrafo muestra una función, expresada con palabras, que calcula un factorial.
"Si el número es menor que cero, se rechaza. Si no es un entero, se redondea al siguiente entero. Si el número es cero, su factorial es uno. Si el número es mayor que cero, se multiplica por él factorial del número menor inmediato."
Para calcular el factorial de cualquier número mayor que cero hay que calcular como mínimo el factorial de otro número. La función que se utiliza es la función en la que se encuentra en estos momentos, esta función debe llamarse a sí misma para el número menor inmediato, para poder ejecutarse en el número actual. Esto es un ejemplo de recursividad.
La recursividad y la iteración (ejecución en bucle) están muy relacionadas, cualquier acción que pueda realizarse con la recursividad puede realizarse con iteración y viceversa. Normalmente, un cálculo determinado se prestará a una técnica u otra, sólo necesita elegir el enfoque más natural o con el que se sienta más cómodo.
Claramente, esta técnica puede constituir un modo de meterse en problemas. Es fácil crear una función recursiva que no llegue a devolver nunca un resultado definitivo y no pueda llegar a un punto de finalización. Este tipo de recursividad hace que el sistema ejecute lo que se conoce como bucle "infinito".
bibliografia : www.slideshare.net
UNIDAD TEMATICA 3: modelos formales de computacion: automatas y maquinas
AQUI LES DEJO UNA EXPLICACION FACIL DE QUE ES UNA MAQUINA DE TURING
MÁQUINAS DE TURING
Definimos una máquina de Turing como una 7-tupla M = (K, Σ, δ, s,U), donde
K es un conjunto finito de estados
Σ es un alfabeto de entrada
s es el estado inicial
U es el símbolo blanco o espacio vacio
{→, ←, −} punteros (derecha, izquierda, detenerse)
"alto","si""no" ∈ K es el conjunto de estados finales o de aceptación
"alto","si""no" ∈ K es el conjunto de estados finales o de aceptación
δ: K x Σ → (K U {"alto","si""no"}) xΣx {→, ←, −} es una función parcial que se llama función de transición.
La máquina de Turing posee una cinta dividida en celdas, cada celda es capaz de almacenar un símbolo. Además posee una cabeza lectora/escritora que lee y escribe un símbolo en la cinta. Inicialmente la cinta contiene un simbolo de inicio en todas sus celdas. La función de transición δ transforma pares (q, s), la maquina le el simbolo que esta en la casilla que la maquina lee en ese momento y ejecuta la funcion de trancicion y desppues mueve segun el puntero y cuando la maquina llega a un estado terminal se determinala salida de la cinta
bibliografia: curso de algoritmos profesora Blanca Idalea de fime
martes, 28 de junio de 2011
UNIDAD TEMATICA 2:MATEMATICAS DE ALGORITMOS
CODIGO BINARIO
EL CODIGO BINARIO SE USA PARA COMPARACIONES Y ENTRE SUS CARACTERISTICAS ESTAN:
La presencia de una potencia se indica con el,dígito uno, su ausencia con el dígito cero
EJEMPLOS DE OPERACIONES BINARIAS:
EL CODIGO BINARIO SE USA PARA COMPARACIONES Y ENTRE SUS CARACTERISTICAS ESTAN:
- Cada comparasión se evalua o a verdad o a falso,
dependiendo de los valores de las variables o las
constantes involucrados en ella.
utilizando los valores que resultan al asignar los
valores de verdad o falso a las expresiones.
Luego, la operaciones lógicas se evaluanSistema binario
suma de selectas potencias de dos
Cada entero positivo se puede expresar como laLa presencia de una potencia se indica con el,dígito uno, su ausencia con el dígito cero
Operaciones binarias
binario
Cada variable en sí está representada en formatodirectamente para modificar los valores de las
variables
Podemos manipular cadenas binariasEJEMPLOS DE OPERACIONES BINARIAS:
“No”
c = ~aEn el resultado
no lo es en el argumento
c, un bit es 1 si y sólo sia01000011101000100
10111100010111011“Y”
c = a & bEn el resultado
c, un bit es 1 si y sólo si es 1en ambos de los argumentos
a y b0100
1001
0000“O”
c = a | bEn el resultado
c, un bit es 1 si y sólo si es 1en alguno de los argumentos
a y b01
10
11“O exclusivo”
c = a ^ bEn el resultado
c, un bit es 1 si y sólo si es 1en exactamente uno de los argumentos
a y b01001000100011101
10011001000111010
11010001100100111001000100011101011001000111010011001100111111100010001110110010001110101000000011000Esto es en muchas ocasiones la manera másLa potencia cero se ubica en el extremo derecho de la cadena binariaEn realidad, todo se opera a nivel binario.
UNIDAD TEMATICA 2: MATEMATICAS DE ALGORITMOS
AQUI LES DEJO UNA MANERA FACIL DE CONVERTIR UN NUMERO DECIMAL A BINARIO CON UN EJEMPLO
Decimal a binario
Se divide el número que se desea convertir (decimal) entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente hasta que el dividendo sea menor que el divisor, 2. Es decir, cuando el número a dividir sea 1 finaliza la división.
A continuación se ordenan los restos empezando desde el último al primero, simplemente se colocan en orden inverso a como aparecen en la división, se les da la vuelta.
Decimal a binario
Se divide el número que se desea convertir (decimal) entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente hasta que el dividendo sea menor que el divisor, 2. Es decir, cuando el número a dividir sea 1 finaliza la división.
A continuación se ordenan los restos empezando desde el último al primero, simplemente se colocan en orden inverso a como aparecen en la división, se les da la vuelta.
- Ejemplo
- Transformar el número decimal 131 en binario. El método es muy simple:
131 dividido entre 2 da 65 y el resto es igual a 1
65 dividido entre 2 da 32 y el resto es igual a 1
32 dividido entre 2 da 16 y el resto es igual a 0
16 dividido entre 2 da 8 y el resto es igual a 0
8 dividido entre 2 da 4 y el resto es igual a 0
4 dividido entre 2 da 2 y el resto es igual a 0
2 dividido entre 2 da 1 y el resto es igual a 0
1 dividido entre 2 da 0 y el resto es igual a 1
Ordenamos los numeros del último al primero y el numero 131 en binario es: 10000011
UNIDAD TEMATICA 1: INTRODUCCION A LOS ALGORITMOS
AQUI ESTA UNA PEQUEÑA INTRODUCCION A LO BASICO DE LOS ALGORITMOS
Algoritmo Simple: es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Ø Definido: si se sigue dos veces, se obtiene el mismo resultado.
Ø Finito: Tiene un numero determinado de pasos, implica que tiene un fin.
Tipos de Algoritmos
· Algorítmico: Utiliza un algoritmo y puede ser implementado en una computadora, como por ejemplo dar instrucciones para manejar un vehiculo o instrucciones para resolver una ecuación de segundo grado.
· Heurística: Se apoya en el resultado obtenido en un análisis de alternativas de experiencias anteriores similares.
Medios de expresión de un algoritmo
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.La descripción de un algoritmo usualmente se hace en tres niveles:
1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
Diagramas de flujoLos diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es muy laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.
PseudocódigoEl pseudocódigo esta pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. En general es comprensible sin necesidad de conocer o utilizar un entorno de programación especifico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de el.
lunes, 27 de junio de 2011
Suscribirse a:
Entradas (Atom)