jueves, 30 de septiembre de 2010

Unidad III: Metodología de solución de problemas

Problema
 El punto de partida de una investigación es la existencia de una situación que ha llamado la atención del o los futuros investigadores y que –a su juicio— requiere ser investigada para esclarecerla, mejorarla, hacer propuestas, resolverla, etc, es decir, para pasar a algún tipo de acción posterior.
Esta parte inicial de toda investigación comienza al poner por escrito las razones por las que hay que realizar la investigación.  Consiste en delimitar el problema a investigar indicando:
·         las razones que originan la necesidad de investigar (a modo de introducción)
·         enunciando el problema,
·         planteando las preguntas que más se destacan al plantearse el problema, j
·         justificando la necesidad de hacer la investigación,
·         indicando su viabilidad y su duración probable, finalmente,
·         indicando el Objetivo general de investigación que se persigue y
·         los objetivos específicos con que se resuelve el objetivo general.
1. ¿Qué es un problema?
En realidad puede ser cualquier cosa, pero requiere de algún tipo de definición.  De manera que tomamos el trabajo de J. Padrón las siguientes definiciones y comentarios:
“Es común decir que no hay investigación sin un “problema” y que un problema bien planteado es mejor que cualquier solución gratuita. Pero ¿de qué estamos hablan­do? ¿Qué es un “Problema”? Analicemos las siguientes definiciones, tomadas como muestra, y decidamos luego hasta qué punto es claro o evidente el sentido de la palabra:
·            Problema es un procedimiento dialéctico que tiende a la elección o al rechazo o también a la verdad y al conocimiento (Aristóteles).
·            El Problema o la proposición problemática es una proposición principal que enuncia que algo puede ser hecho, demostrado o encontrado (Jungius).
·            Por problema los matemáticos  entienden las cuestiones que dejan en blanco una parte de la proposición (Leibnitz).
·            Problema es una proposición práctica demostrativa por la cual se afirma que algo puede o debe ser hecho (Wolff).
·            Problemas son proposiciones demostrativas que necesitan pruebas o son tales como para expresar una acción cuyo modo de realización no es inmediatamente cierto (Kant).
·            Problema es el desacuerdo entre los pensamientos y los hechos o el desacuerdo de los pensamientos entre sí (Mach).
·            La situación no resuelta o indeterminada podría llamarse situación “problemática”; se hace problemática en el momento mismo de ser sometida a investigación. El resultado primero de la intervención de la investigación es que se estima que la situación es problemática (Dewey).
·            Problema es la conciencia de una desviación de la norma (Boas).
·            Problema es cuando dos más dos no son cuatro (Warren Goldberg)
·            Problema es una oportunidad vestida con ropa de trabajo (Henry J. Kaiser)
Por lo demás, pasando a su aspecto observable y analizando lo que se presenta como tal en las tesis de grado, hay veces en que el “problema” aparece con un extenso texto de muchas páginas que contienen descripciones, visiones históricas, discusiones normativas, etc., mientras que en otras el “problema” se reduce a una sencilla proposición o enunciado de apenas unas dos o tres líneas”[1][1].
De manera que aceptaremos como Problema de Investigación, cualquier proposición acerca de una situación que requiere más o mejor conocimiento del que se tiene en el instante presente, y que una persona experta o conocedora, --el profesor Guía y los profesores examinadores—acepten como justificación de una investigación de Tesis de Grado.
Tipos de problemas 
  • Teóricos. Cuyo propósito es generar nuevos conocimientos.
  • Prácticos. Con objetivos destinados al progreso.
  • Teórico-prácticos. Para obtener información desconocida en la solución de problemas de la práctica

Herramientas computacionales para la solución de problemas

Hardware
Hardware responde a todas las partes físicas y tangibles[1] de una computadora: sus componentes eléctricos, electrónicos, electromecánicos y mecánicos;[2] sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente al soporte lógico e intangible que es llamado software. El término es propio del idioma inglés (literalmente traducido: partes duras), su traducción al español no tiene un significado acorde, por tal motivo se la ha adoptado tal cual es y suena; la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora»[ ]El término, aunque es lo más común, no necesariamente se aplica a una computadora tal como se la conoce, así por ejemplo, un robot también posee hardware (y software).
Sistema operativo
Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas usados por el usuario para utilizar un computador.[1] Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como estación para las aplicaciones que se ejecutan en la máquina.
Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, pues este, es sólo el núcleo y no necesita de entorno operador para estar operativo y funcional. Uno de los más prominentes ejemplos de esta diferencia, es el SO Linux, el cual junto a las herramientas GNU, forman las llamadas distribuciones Linux.

Programas de aplicación
En la informática, un programa de aplicación es un tipo de software diseñado para facilitar al usuario la concreción de un cierto trabajo. Esta característica lo diferencia de otros tipos de programas, como los sistemas operativos (que son los que hacen funcionar a la computadora), los lenguajes de programación (que permiten crear los programas informáticos en general) y las utilidades (que realizan tareas de mantenimiento o de uso general).

Lenguaje de programación
Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.[1] Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
][]



jueves, 2 de septiembre de 2010

Sistemas de numeración



                               Sistema Decimal´

El sistema decimal es un sistema de numeración posicional en el que las cantidades se representan utilizando como base el número diez, por lo que se compone de diez cifras diferentes: cero (0); uno (1); dos (2); tres (3); cuatro (4); cinco (5); seis (6); siete (7); ocho (8) y nueve (9). Este conjunto de símbolos se denomina números árabes, y es de origen indú.

Es el sistema de numeración usado habitualmente en todo el mundo (excepto ciertas culturas) y en todas las áreas que requieren de un sistema de numeración. Sin embargo hay ciertas técnicas, como por ejemplo en la informática, donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. También pueden existir en algunos idiomas vestigios del uso de otros sistemas de numeración, como el quinario, el duodecimal y el vigesimal. Por ejemplo, cuando se cuentan artículos por docenas, o cuando se emplean palabras especiales para designar ciertos números (en francés, por ejemplo, el número 80 se expresa como "cuatro veintenas").

Según los antropólogos, el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos, los cuales siempre nos han servido de base para contar.

El sistema decimal es un sistema de numeración posicional, por lo que el valor del dígito depende de su posición dentro del número. Así:

Sistema binario







El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, pues trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0).

Representación

Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes.


Conversión entre binario y decimal

Decimal a binario

Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente. Ordenados los restos, del último al primero, éste será el número binario que buscamos.

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 restos, del último al primero: 10000011

Ejemplo

Transformar el número decimal 100 en binario.











Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo entre dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba.

Ejemplo



100   0

50    0

25    1 --> 1, 25-1=24 y seguimos dividiendo por 2

12   0

6    0

3    1

1    1 --> (100)10 = (1100100)2



Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8 primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151 - 128 = 23, para llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma dé el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente.

Ejemplo

20=   1  1

21=   2 1

22=   4 1

23=   8 0

24= 16 1

25= 32 0

26= 64 0

27= 128  1                 
                               
                                 128 + 16 + 4 + 2 + 1 = (151)10 = (10010111)2





Suma de números binarios

La tabla de sumar para números binarios es la siguiente:

+ 0 1

0 0 1

1 1 10

Las posibles combinaciones al sumar dos bits son:

• 0 + 0 = 0

• 0 + 1 = 1

• 1 + 0 = 1

• 1 + 1 = 10

Note que al sumar 1 + 1 es 102, es decir, llevamos 1 a la siguiente posición de la izquierda (acarreo). Esto es equivalente, en el sistema decimal a sumar 9 + 1, que da 10: cero en la posición que estamos sumando y un 1 de acarreo a la siguiente posición.

Ejemplo

1

10011000

+ 00010101

———————————

10101101



Se puede convertir la operación binaria en una operación decimal, resolver la decimal, y después transformar el resultado en un (número) binario. Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama acarreo o arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal).

Resta de números binarios

El algoritmo de la resta en sistema binario es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.

Las restas básicas 0 - 0, 1 - 0 y 1 - 1 son evidentes:

• 0 - 0 = 0

• 1 - 0 = 1

• 1 - 1 = 0

• 0 - 1 = 1 (se transforma en 10 - 1 = 1) (en sistema decimal equivale a 2 - 1 = 1)

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 0 - 1 = 1 y me llevo 1, lo que equivale a decir en el sistema decimal, 2 - 1 = 1.

Ejemplos

10001 11011001

-01010 -10101011

—————— —————————

00111 00101110



Producto de números binarios

La tabla de multiplicar para números binarios es la siguiente:

 • 0 1

 0 0 0

 1 0 1

El algoritmo del producto en binario es igual que en números decimales; aunque se lleva a cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.

Por ejemplo, multipliquemos 10110 por 1001:

10110

1001

—————————

10110

00000

00000

10110

—————————

11000110

En sistemas electrónicos, donde suelen usarse números mayores, se utiliza el método llamado algoritmo de Booth.

11101111

111011

__________

11101111

11101111

00000000

11101111

11101111

11101111

______________

11011100010101

 División de números binarios

La división en binario es similar a la decimal; la única diferencia es que a la hora de hacer las restas, dentro de la división, éstas deben ser realizadas en binario.

Ejemplo

Dividir 100010010 (274) entre 1101 (13):

100010010
1101

——————

-0000 010101

———————

10001

-1101

———————

01000

- 0000

———————

10000

- 1101

———————

00011

- 0000

———————

01110

- 1101

———————

00001




                             Sistema octal

El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.

Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 / 001 / 010, de tal forma que obtengamos una serie de números en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la derecha y se parte de 3 en 3), después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número decimal 74 en octal es 112.

Hay que hacer notar que antes de poder pasar un número a octal es necesario pasar por el binario. Para llegar al resultado de 74 en octal se sigue esta serie: decimal -> binario -> octal.

En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales.


ejemplo de convercion de octal a decimal:

2378=15910

            2
2 x 8  = 128
        1
3 x 8  = 24
        0
7 x 8  =  7el resultado es  = 15910


Sistema Hexadesimal

El sistema hexadecimal (no confundir con sistema sexagesimal), a veces abreviado como hex, es el sistema de numeración posicional de base 16 —empleando por tanto 16 símbolos—. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte representa 28 valores posibles, y esto puede representarse como , que, según el teorema general de la numeración posicional, equivale al número en base 16 10016, dos dígitos hexadecimales corresponden exactamente —permiten representar la misma línea de enteros— a un byte.

En principio dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:

S = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0A16 = 3×163 + E×162 + 0×161 + A×160 = 3×4096 + 14×256 + 0×16 + 10×1 = 15882.

El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior, con 0–9 y u–z, fue usada en 1956 por la computadora Bendix G-15.
El sistema hexadecimal (no confundir con sistema sexagesimal), a veces abreviado como hex, es el sistema de numeración posicional de base 16 —empleando por tanto 16 símbolos—. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte representa 28 valores posibles, y esto puede representarse como , que, según el teorema general de la numeración posicional, equivale al número en base 16 10016, dos dígitos hexadecimales corresponden exactamente —permiten representar la misma línea de enteros— a un byte.

En principio dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos sería, por tanto, el siguiente:

S = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0A16 = 3×163 + E×162 + 0×161 + A×160 = 3×4096 + 14×256 + 0×16 + 10×1 = 15882.

El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior, con 0–9 y u–z, fue usada en 1956 por la computadora Bendix G-15.