La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tipos de Algoritmos Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea.

Presentaciones similares


Presentación del tema: "Tipos de Algoritmos Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea."— Transcripción de la presentación:

1 Tipos de Algoritmos Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea

2 Clases de algoritmos Una forma de clasificar los algoritmos consiste en diferenciarlos por su metodología de diseño. A continuación se presenta una síntesis de las metodologías más comunes, aplicables cada una a diferentes clases de problemas:

3 Fuerza bruta Los algoritmos de fuerza bruta resuelven el problema con la estrategia más obvia de solución, que no siempre es la mejor según el número de operaciones que se requiere.

4 Divide and conquer (divide y reinarás) Esta metodología divide las instancias del problema a resolver en instancias cada vez más pequeñas, usualmente en forma recursiva, hasta llegar a una instancia en que el problema es resuelto en forma trivial o con unas pocas instrucciones.

5 Cuando un problema presenta una subestructura óptima – o sea, cuando la solución óptima de un problema se obtiene a partir de las soluciones óptimas de sus subproblemas–, se encuentra la solución resolviendo primero los subproblemas más sencillos y luego utilizando esas subsoluciones para resolver problemas incrementalmente difíciles. Programación dinámica

6 Muchos problemas (como por ejemplo, un juego de ajedrez) pueden modelarse con grafos y resolverse a partir de un algoritmo de exploración del grafo. Tal algoritmo especificará las reglas para moverse en el grafo en busca de la solución al problema. Esta categoría incluye también algoritmos de backtracking (vuelta atrás), los cuales van ensayando distintos caminos con posibles soluciones y vuelven atrás cuando no las encuentran. Búsqueda y enumeración

7 El propósito de estos algoritmos no es necesariamente encontrar una solución final al problema, sino encontrar una solución aproximada cuando el tiempo o los recursos necesarios para encontrar la solución perfecta son excesivos. Muchos sistemas antivirus utilizan métodos heurísticos para detectar conductas de programas que podrían estar actuando en forma maliciosa. Algoritmos heurísticos

8 Seleccionan la opción de solución (solución local) que tenga un costo menor en la etapa de solución en la que se encuentran, sin considerar si esa opción es parte de una solución óptima para el problema completo (solución global). Algoritmos voraces

9 Un dígito verificados es usado para verificar la exactitud de un código de barra. Uno de los más populares dígitos verificadores es el mod10. Un dígito verificador mod10 usa el algoritmo Módulo 10 para calcular el valor. Cálculo del dígito verificador mod10: Para este ejemplo, usamos el código de barras que contiene los datos Empezando del lado izquierdo del código de barra, sume los dígitos en posiciones impares, ignorando el digito verificador. Sume los dígitos primero, tercero, quinto, séptimo, noveno, y undécimo: Cómo se calcula un dígito verificador mod10

10 = 27 Multiplique el resultado del paso 1 por 3: 27 * 3 = 81 Sume los dígitos restantes. Sume los dígitos segundo, cuarto, sexto, octavo, décimo, y décimo segundo: = 21 Sume los resultados de los pasos 2 y 3: = 102 Busque el número que, cuando sea sumado al resultado del paso 4, generará un número que sea divisible por 10: ? = 110 ? = 8 El número 8 es el dígito verificador mod10 para este arreglo de dígitos

11 Este módulo de validación realiza el cálculo del doble dígito verificador de la referencia proporcionada por el cliente, esta puede ser numérica o alfanumérica y con longitud máxima de 38 caracteres. Referencias Alfanuméricas En caso que la referencia contenga caracteres alfabéticos, es necesario convertirla toda a numérica, para ello se toma en cuenta la siguiente tabla: Cómo se calcula un dígito verificador para una referencia LetraNúmero correspon diente AJS1 BKT2 CLU3 DMV4 ENW5 FOX6 GPY7 HQZ8 IR 9

12 Ejemplo: Referencia alfanumérica: 15ABC13b Referencia Alfabética: EmpresaX Referencia numérica: Referencia numérica: Una vez que la referencia sea numérica, se aplica la rutina de cálculo.

13 Rutina de cálculo Ejemplo : Referencia: ) Para realizar el cálculo, se ignora el último dígito de la referencia, los dígitos restantes se deben multiplicar por los números 13,17,19, 23, 11 iniciando de derecha a izquierda y siempre con el número 13 aún cuando el número a multiplicar sea 0, éste debe tomarse en cuenta: Referencia Algoritmo

14 Se multiplica la referencia por el Algoritmo ReferenciaAlgoritmo0x137x116x238x190x175x130x11 0x230x190x170x133x110x230x190x177x130 Multiplicación Se suman los resultados de las multiplicaciones: = 556 4) Al resultado obtenido, se le suma el número 330: = 886

15 5)El resultado anterior se divide entre el número 97 y al residuo se le suma el número 1: 9 97 | 886 Suma (Dígito verificador) 13 (residuo) = 14 NOTA: Si el resultado de la suma es de un solo dígito, es necesario anteponer un cero (0) Suma = 2 el doble dígito verificador será: 02 6) Como resultado se obtiene el doble dígito verificador de la referencia 14, la cual queda de la siguiente forma: – 14

16 La clave completa del RFC consta de 13 posiciones: una vez asignada la clave de las 10 primeras posiciones con la primera letra del apellido paterno y la siguiente vocal del mismo; la primera letra del apellido materno; la primera letra del nombre; y la fecha de nacimiento (últimos dos dígitos del año, mes y día), la autoridad fiscal genera 2 posiciones para la clave diferenciadora de homonimia y una posición para el dígito verificador. Cómo se calcula un dígito verificador mod10

17 Para obtener la clave diferenciadora de homonimia se asignaran valores a las letras del nombre de acuerdo a la tabla del Anexo I del presente voto. Para Juan Pablo Guerrero Amparán, nacido el 13 de diciembre del año 1963, la clave de RFC es GUAJ AZ4. G U E R R E R O A M P A R A N J U A N P A B L O Espacio = 00B = 12 O = 26 0 = 00 C = 13 P = 27 1 = 01 D = 14 Q = 28 2 = 02 E = 15 R = 29 3 = 03 F = 16 S = 32 4 = 04 G = 17 T = 33 5 =05 H = 18 U = 34 6 = 06 I = 19 V = 35 7 = 07 J = 21 W = 36 8 = 08 K = 22 X = 37 9 = 09 L = 23 Y = 38 & = 10 M = 24 Z = 39 A = 11 N = 25 Ñ = 40

18 En seguida, se efectuarán las multiplicaciones de los números tomados de dos en dos para la posición de la pareja: 01 * 1 = 1 92 * 2 = * 1 = * 0 = * 7 = * 6 = * 1 = * 0 = 0 73 * 3 = * 0 = 0 12 * 2 = * 2 = 4 34 * 4 = * 0 = 0 25 * 5 = * 7 = * 1 = * 1 = 1 50 * 0 = 0 71 * 1 = * 5 = * 1 = * 0 = 0 11 * 1 = * 2 = * 2 = * 2 = 0 11 * 1 = * 9 = * 4 = * 1 = * 2 = * 2 = * 2 = * 3 = *2 = * 9 = * 7 = * 4 = *3 = * 1 = * 1 = * 1 = *2 = * 5 = * 1 = * 1 = *6 = * 2 = * 2 = * 2 = * 9 = * 9 = * 5 = 25

19 Posteriormente, se suma el resultado de las multiplicaciones y del resultado obtenido, se tomarán las tres últimas cifras y éstas se dividen entre el factor 34: El resultado de la suma de las multiplica- ciones es: cociente

20 34 / residuo Con el cociente y el residuo se consulta la tabla del Anexo II del presente voto y se asigna la homonimia: 9 = A 33 = Z

21 Para calcular el dígito verificador del RFC se asignan los valores del Anexo III del presente voto a las letras y números del registro federal de contribuyentes formado a 12 posiciones: Ejemplo: GUAJ AZ G = 16 U = 31 A = 10 J = 19 6 = 06 3 = 03 1 = 01 2 = 02

22 1 = 01 3 = 03 A = 10 Z = 36 Una vez asignados los valores, se aplica la siguiente fórmula tomando como base el factor 13 en orden descendente a cada letra y número del RFC para su multiplicación:

23 (Vi * (Pi + 1)) + (Vi * (Pi + 1)) (Vi * (Pi + 1)) MOD 11 Vi Valor asociado al carácter de acuerdo a la tabla del Anexo III del presente voto. Pi Posición que ocupa el i-esimo carácter tomando de derecha a izquierda es decir P toma los valores de 1 a 12.

24 Ejemplo: D = ( 16(13) + 31(12) + 10(11) + 19(10) + 06(9) + 03(8) + 01(7) + 02(6) + 01(5) + 03(4) + 10(3) + 36(2) ) = 1096 El resultado de la suma se divide entre el factor cociente 11 / residuo Si el residuo es igual a cero, este será el valor que se le asignara al dígito verificador. Si el residuo es mayor a cero se restara este al factor 11. Si el residuo es igual a 10 el dígito verificador será A. Si el residuo es igual a cero el dígito verificador será cero = 4 Ello resulta en: GUAJ AZ4


Descargar ppt "Tipos de Algoritmos Un algoritmo es un conjunto finito de instrucciones precisas que realizan una tarea."

Presentaciones similares


Anuncios Google