viernes, 22 de julio de 2011

Tarea 1

TAREA I

Considerando los aspectos vistos en clase, realicé los siguientes algoritmos


*Freír 2 huevos:

1.- poner a calentar un sartén con aceite o mantequilla.
2.- abrir 2 huevos y colocar el contenido en el sartén con aceite o mantequilla caliente.
3.- dejarlos en el sartén a fuego lento por 3 minutos, cuidando que no se peguen en el sartén.
4.- agregar sal al gusto y servir en un plato.



*Realizar una llamada a nivel Nacional e Internacional:


1.- Descolgar el teléfono
2.- Escuchar tono de llamada
3.- marcar número
a) SI es nacional marcar 8 dígitos o
b) SI es internacional marcar 00 + código de área del estado al que se desea comunicar + el numero destino
4.- esperar que contesten
5.- Hablar con la otra persona
6.- Colgar


*Considere el algoritmo de la multiplicación inglés y exprese el proceso para dos números enteros cualquiera:


1.- Se coloca el multiplicador debajo del multiplicador haciendo coincidir las columnas

                        15
                        23

2.- Luego se multiplica comenzando por el primer dígito de izquierda a derecha

                        15
                      X 23
                        30

3.- El resultado del 2do. dígito se coloca empezando de izquierda a derecha iniciando del lado derecho del primer resultado

                        15
                      X 23
                        30
                         45

4.- se suman los resultados en el orden que se colocaron para obtener el resultado.

                        15
                      X 23
                        30
                         45
                        345


* Multiplique dos números enteros cualquiera utilizando el algoritmo divide y vencerás y a la rusa:


Este método se basa en multiplicar y dividir por dos, y luego hacer una suma final

1.- multiplicar 69 por 13:
69 x 13

2.- Debajo del 69, escribimos su mitad, ignorando el resto de la división:

69 x 13
34

3.- Debajo del 13, escribimos su doble:

69 x 13
34 x 26

4.- Seguimos dividiendo el primer número entre dos (ignorando el resto), y duplicando el segundo, hasta que el primero alcance el 1:

69 x 13
34 x 26
17 x 52
8 x 104
4 x 208
2 x 416
1 x 832

5.- Ahora, para cada número par de la primera columna, tachamos toda la fila:

69 x 13
Borramos
17 x 52
Borramos
Borramos
Borramos
1 x 832

6.- Sumamos entonces los números que quedan en la segunda columna

13 + 52 + 832 = 897
7.- Y ése es el resultado de la multiplicación
69 x 13 = 897

Diseñe un algoritmo que muestre todos los pasos a seguir al momento de utilizar un Cajero Automático. Considere que las operaciones permitidas son Retiro para cuentas de Ahorro y Monetarias, Consulta de Saldos y salida. El usuario puede imprimir un comprobante de las operaciones realizadas

1.- Introducir tarjeta en ranura para tarjeta
2.- introducir Código de seguridad
3.- elegir cuenta Monetaria o Ahorro
4.- elegir consulta de saldo o retiro de efectivo
a) Si es retiro
1. elegir monto
b) si es consulta
1. ver en pantalla los datos de la consulta
5.- Escoger entre imprimir comprobante de la consulta seleccionada o no imprimir
6.- optar SI desea realizar otra transacción o NO
a) Si su selección SI ir al paso 2.
b) Si su selección es NO ir al paso 7.
7.- Salir del sistema
8.- Retirar Tarjeta del cajero

Como podemos determinar la complejidad de un algoritmo

Tiempo de Ejecución

El tiempo de Ejecución de un programa se mide en función de N, lo que designaremos como T(N).
Esta función se puede calcular físicamente ejecutando el programa acompañados de un reloj, o calcularse directamente sobre el código, contando las instrucciones a ser ejecutadas y multiplicando por el tiempo requerido por cada instrucción. Así, un trozo sencillo de código como:

S1;
for(x = 0; x < N; x++)
S2;
Demanda: T(N) = t1 + t2 * N
Donde t1 es el tiempo que lleva ejecutar la serie S1 de sentencias, y t2 es el que lleva la serie S2.
Habitualmente todos los algoritmos contienen alguna sentencia condicional o selectiva, haciendo que las sentencias ejecutadas dependan de la condición lógica, esto hace que aparezca más de un valor para T(N), es por ello que debemos hablar de un rango de valores:
Tmin(N) ≤ T(N) ≤ Tmax(N)
Estos extremos son llamados "el peor caso" y "el mejor caso" y entre ambos se puede hallar "el caso promedio" o el más frecuente, siendo este el más difícil de estudiar; nos centraremos en el "el peor caso" por ser de fácil cálculo y se acerca a "el caso promedio", brindándonos una medida pesimista pero fiable.
Toda función T(N) encierra referencias al parámetro N, y a una serie de constantes Ti dependientes de factores externos al algoritmo. Se tratará de analizar los algoritmos dándoles autonomía frente a estos factores externos, buscando estimaciones generales ampliamente válidas, a pesar de ser demostraciones teóricas.

En que otras ciencias se apoya la algoritmia para producir soluciones ingeniosas

Computación
Matemáticas
Ciencias Sociales
Ciencias Políticas

Que tipos de algoritmos existen

Un algoritmo, es un ciclo conformado por un grupo de acciones organizadas de una manera lógica


1-. Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras .

2.- Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

3.- Algoritmos estáticos: Algoritmos que funcionan siempre igual, independientemente del tipo de problema tratado. Por ejemplo, los sistemas basados en el método de resolución.

4.- Algoritmos probabilísticos: Algoritmos que no utilizan valores de verdad booleanos sino continuos. Por ejemplo, los sistemas basados en lógica difusa.

5.- Algoritmos adaptativos: Algoritmos con cierta capacidad de aprendizaje. Por ejemplo, los sistemas basados en redes neuronales.