miércoles, 26 de marzo de 2014

ALGORITMO

ALGORITMOS

DEFINICIÓN: Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema.
Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación.

Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador.
CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos:

Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.
Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.
Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.

CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características:

1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.

PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:

· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.


TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:


· Diagramación libre (Diagramas de flujo).
· Diagramas Nassi-Shneiderman.
· Pseudocódigo.
· Lenguaje natural (español, inglés, etc.).

· Fórmulas matemáticas.

miércoles, 9 de mayo de 2012

DISEÑO DE SISTEMAS


SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN

ETAPA DE DISEÑO

            En esta etapa se producen los detalles que establecen la forma en que el sistema cumplirá con los requerimientos identificados durante el análisis (CÓMO). Entre los elementos que deben considerarse en el diseño están:

-          Flujos de datos
-          Almacenes de datos
-          Procesos
-          Procedimientos
-          Controles
-          Funciones del personal
-          Selección de hardware y software
-          Interfaces
-          Salidas
-          Entradas
-          Archivos


SELECCIÓN DE HARDWARE Y SOFTWARE


            Muchas veces, cuando un sistema de información se encuentra bajo desarrollo, el sistema computacional sobre el que se implementará ya se encuentra en la organización. En estos casos, todo el esfuerzo de diseño se concentra en adaptar la aplicación a las características del sistema de cómputo.

            Sin embargo, cuando es necesario un nuevo equipo computacional, la selección y adquisición del mismo introduce una dimensión más en la actividad de diseño del nuevo sistema. La selección se centra alrededor de los costos y de las características de procesamiento y comunicaciones.

            Aparecen aspectos similares cuando se deben adquirir paquetes de software disponibles en el mercado. La selección de software para computador necesita la evaluación de las características de cada paquete, ya que debe cumplir con los requerimientos establecidos en la etapa de análisis.


DISEÑO DE SALIDAS


            Es la información que se entrega a los usuarios a través del sistema de información. Algunos datos requieren procesamiento extenso antes de que se conviertan en salida adecuada. Otros datos son guardados y considerados salida cuando se les recupera con poco o nulo procesamiento.
            Los usuarios dependen de las salidas para realizar sus tareas, y frecuentemente juzgan el mérito de un sistema únicamente por sus salidas. Para lograr que las salidas sean útiles, debe trabajarse estrechamente con los usuarios hasta que el resultado sea satisfactorio.

            Al diseñar una salida, deben cumplirse algunos objetivos, que son:

-          Diseñar la salida para que sirva al propósito deseado. Toda salida debe tener un propósito. No deben generarse sólo porque es posible hacerlo. Si la salida no es funcional, no debe ser creada, ya que hay costos de tiempo y materiales asociados con todas las salidas del sistema.
-          Diseñar la salida para que se ajuste al usuario. A veces es difícil personalizar la salida, y se prefiere que una salida se ajuste a varios usuarios a la vez, aunque no sea la que cada uno hubiera preferido.
-          Entrega de cantidad adecuada de información. No siempre “más es mejor”. Parte del diseño es decidir la cantidad de información que es correcta para los usuarios.  La sobrecarga de información es un problema. A veces es preferible diseñar varias salidas que una con toda la información.
-          La salida debe encontrarse sonde se necesite. No interesa que una salida esté bien diseñada, si no la ven los usuarios que la requieren.
-          Entregar la salida a tiempo. Deben poderse tomar decisiones en base a las salidas, por lo que deben llegar a tiempo donde se requieren. Hay que preocuparse de la distribución. También debe definirse la periodicidad de las salidas. Cuáles se generarán semanalmente, mensualmente, en forma diaria, etc.
-          Selección del método de salida adecuado. Las salidas pueden tomar muchas formas, como informes impresos en diferentes tipos y tamaños de papel, información desplegada en diversos tipos de pantallas, audio, microformas, etc. Según el tipo de salida, difieren los costos, flexibilidad, tiempo de vida, distribución, almacenamiento, transportabilidad, posibilidad de recuperación,

En relación a categorías de salidas,  estas pueden clasificarse en externas e internas.

Salidas externas: salen de la organización. Por ejemplo los recibos de pago, cheques, informes anuales a usuarios externos, etc. Algunas de éstas sirven de salida y de entrada, por ejemplo al pagar un recibo de luz, éste se “escanea”  y sirve como entrada.

Salidas internas. Se mantienen dentro de la organización.

Las salidas externas difieren en su apariencia en relación a las internas. Muchos documentos externos llevan instrucciones para que sean utilizados en forma adecuada. A veces se utilizan formularios pre impresos que contienen logotipos y colores corporativos.

Para facilitar la selección de la tecnología de salida, pueden responderse, entre otras, las siguientes preguntas:

-          ¿Quién usará o verá la salida (necesita calidad)?
-          ¿Cuántas personas necesitan a salida?
-          ¿Dónde se necesita la salida?
-          ¿Cuál es el propósito de la salida?
-          ¿Cuál es la velocidad a la que se necesita la salida?
-          ¿Con que frecuencia se necesita?
-          ¿Cuánto deberá guardarse?


EL ASCENDENTE DE LA SALIDA

Hay tres formas principales en las cuales la presentación de una salida es inadvertidamente tendenciosa:

  1. La forma en que es ordenada la información
  2. Los límites aceptables
  3. La selección de gráficos.

  1. Generalmente los usuarios dan mayor atención a la información que se presenta primero. Los ordenamientos más comunes son alfabético, cronológico y por costo. Va a depender de cuál es el objetivo de la salida para elegir un mejor ordenamiento.
  2. Muchos reportes se generan solo cuando se cumplen ciertas condiciones. Hay cuatro problemas generales con la asignación de límites que pueden dar ascendencia a la salida:
    1. Límite asignado muy bajo (Ej. Atrasos en pagos de una semana)
    2. Límite asignado muy alto (Ej. Atrasos de 6 meses)
    3. Rango demasiado estrecho (Clientes entre 21 y 25 años)
    4. Rango demasiado alto(clientes entre 18 y 90 años)
  3. Puede darse en el tamaño del gráfico, su color, la escala y hasta el tipo.



DISEÑO DE UNA SALIDA IMPRESA

-          Convenciones de diseño (información constante, información variable, líneas de repetición.
-          Calidad de papel, tipo y tamaño
-          Formas de salida especiales (pre impresas).
-          Consideraciones de diseño
o    Atributos funcionales (encabezado y/o título, número de página, fecha, títulos de columnas, agrupamiento, cortes de control.)
o    Atributos estéticos. Los informes deben ser atractivos y fáciles de leer. Uso de espacios en blanco, caracteres especiales  recuadros para destacar información, márgenes

DISEÑO DE ENTRADAS


Si la calidad de la salida determina en algún aspecto la calidad del sistema, la calidad de las entradas determina la calidad de las salidas.

Se considera el diseño de dos tipos de entrada: las formas en papel (formularios) y las pantallas, esto porque por lo general la información que se ingresa al computador proviene de información registrada en papel. Por esto, el diseño de ambos tipos de entrada deben ser coherentes.

En relación al diseño de las entradas al computador (pantallas de ingreso), existen algunos aspectos que deben considerarse, tales como:

-          Validación de las entradas
-          Codificación
-          Otras consideraciones para captura efectiva


VALIDACIÓN DE LAS ENTRADAS


            Una buena validación permite la detección de errores previo al procesamiento de la información. La validación es una medida de cómo la consistencia y corrección de los datos se encuentran dentro de límites preestablecidos. Alunas alternativas para validar entradas son:

-          Evaluación de datos faltantes
-          Evaluación de tipo y longitud
-          Evaluación de rango y racionalidad
-          Prueba de valores válidos o no válidos
-          Prueba de comparación con datos almacenados
-          Establecimiento de códigos de autovalidación (dígitos verificadores)


CODIFICACIÓN DE INFORMACIÓN


            Corresponde al proceso de reexpresar datos ambiguos o complicados en dígitos y/o letras que se capturen con facilidad, evitando o disminuyendo errores en el ingreso. Permite capturar mayor cantidad de datos a través de un solo código, lo que reduce el tiempo requerido para digitación. Reduce además el espacio de almacenamiento y memoria.

            Los códigos deben contar con algún propósito, y de acuerdo a estos propósitos existen algunos tipos especiales de codificación. Algunos de los propósitos y sus codificaciones son:

-          Seguimiento de algo
o    Códigos secuenciales simples

-          Clasificación de la información
o    Códigos de clasificación
o    Códigos de bloques secuenciales

-          Ocultar información
o    Códigos cifrados

-          Resaltar información
o    Códigos mnemónicos
o    Códigos de subconjuntos de dígitos significativos

Algunas reglas para codificar son las siguientes:

-          Códigos breves
-          Los códigos no deben modificarse
-          Los códigos deben ser únicos
-          Deben poderse ordenar
-          Deben evitarse los códigos confusos (letras o números que se confundan)
-          Deben prevenirse futuras cambios en el sistema que afectará el código
-          Deben ser lo más significativos posibles (a menos que se quiera ocultar información)


OTRAS CONSIDERACIONES PARA CAPTURA EFECTIVA


-          Dejar que el computador haga todo lo que pueda
-          Utilizar  una buena forma (formulario) de entrada
-          Elegir el método de entrada correcto (tecnología de entrada)


RETROALIMENTACIÓN AL USUARIO


            Cuando los usuarios interactúan con el computador, deben saber si están haciendo o no lo correcto, y así saber cómo progresa su trabajo.  Esta necesidad debe ser parte del diseño de sistemas, y debe hacerse correctamente ya que una retroalimentación escasa o inoportuna carece de utilidad.

            La retroalimentación puede ser visual o auditiva, y es necesaria en situaciones como las siguientes:

-          Percatarse de la aceptación de la entrada
-          Reconocer que la entrada está correcta
-          Reconocer que la entrada no está correcta
-          Explicar un retraso en el proceso
-          Aviso de que el proceso solicitado se efectuó por completo
-          Aviso de que el proceso solicitado no se efectuó por completo
-          Oferta de ayuda en línea


ETAPA DE CONSTRUCCIÓN


            Esta etapa va a depender de la decisión tomada en relación a si se va a desarrollar o se va a adquirir el software. Si se desarrollará, en esta etapa se construyen todos los programas computacionales y también se construyen los aspectos de desarrollo administrativo, como por ejemplo enviar a imprenta los formularios a utilizar, autorización de informes por el servicio de impuestos internos, entre otros.


ETAPA DE PRUEBA


            En esta etapa el sistema se utiliza de manera experimental para asegurarse de que el sistema funcionará de acuerdo a lo que se espera. Cualquier falla o error debe detectarse en esta etapa, anterior a la implementación. Se utilizan datos de prueba y se examinan los resultados. Se debe:

-          Probar todas las líneas de código computacional (los programas completos)
-          Hacer que el usuario utilice el sistema (ya que a veces lo utilizan de maneras no previstas)
-          Asegurar de que se simple con los requerimientos.


ETAPA DE IMPLEMENTACION


            La conclusión de esta etapa debe ser que el sistema quede funcionando correctamente. Para ello, en esta etapa debe cumplirse con varios aspectos, entre otros:

-          Instalación de los equipos computacionales, habilitación de programas relacionados (comunicaciones, sistema operativo, etc.)
-          Llenado de archivos maestros
-          Capacitación a los usuarios
-          Entrega de manuales
-          Puesta en marcha

La puesta en marcha del sistema puede efectuarse de diferentes formas, a saber:

-          Sistemas paralelos
-          Conversión directa
-          Enfoque piloto
-          Por etapas





SISTEMAS EN ACTIVIDAD


            Las actividades que se desarrollan durante la vida útil del sistema están fuertemente influidas por las características que se definieron en su construcción, tanto que en algunos casos estas actividades deberían haber sido consideradas explícitamente en su diseño.

            Estas actividades más importantes son:

-          Administración
-          Protección

ADMINISTRACIÓN DEL SIA

            El sistema debe ser administrado tanto en su parte computacional como administrativa. Las actividades que involucra son:

a)     Operación del sistema computacional. Conjunto de tareas que permiten el funcionamiento del sistema. Participan digitadores, operadores, usuarios. Algunas de las tareas que deben realizarse son:
1.     Bitácora de procesos (cumplir con las entregas)
2.     Control de funcionamiento correcto (por ejemplo cuadraturas)
3.     Uso de recursos. Deben minimizarse. Por ejemplo borrar archivos que están de más, uso de papel y tinta de impresora, etc.
4.     Reconstrucción de archivos. (Por ejemplo recuperación de información).

b)    Mantención del sistema. La mantención regular del sistema consiste en dar respuesta a requerimientos de cambios menores, como agregar nuevos informes a las salidas, modificar alguna pantalla de ingreso; o bien cuando se detecta algún error de procesamiento. También puede darse debido a transformación del medio, a lo que hay que adaptar el sistema.
c)     Optimización del sistema. Corresponde a un reacondicionamiento completo del sistema Se puede hacer cada 2 ó 3 años, con presupuesto considerado previamente. Por ejemplo cambiar el sistema a un lenguaje más moderno, para mejorar su eficacia.


PROTECCIÓN DEL SIA

            Con el paso del tiempo, este aspecto se ha hecho cada vez más importante. Algunos temas que involucra la protección, son:

a)     Seguridad. Concepto amplio que abarca desde la seguridad física de las instalaciones hasta la protección de datos, evitando la alteración o destrucción de la información.
La seguridad respecto a instalaciones físicas abarca aspectos como control de acceso de personal o riesgos de incendio.
La información puede perderse en forma accidental o deliberada. Las causas más comunes son fallas en el hardware, cortes de energía eléctrica, virus.
b)    Privacidad. Aspecto particular de la seguridad en lo que se refiere a la protección de datos y archivos contra acceso no autorizados, accidental o deliberadamente.
c)     Integridad. Este concepto se refiere a la calidad de la información almacenada, la que debe ser siempre consistente.
d)    Recuperación. Conjunto de tareas destinadas a poner nuevamente en marcha un sistema que se ha caído por fallas o errores.
e)     Respaldo. Copia de archivos, que deben mantenerse en otro lugar para ser ocupados en caso de fallos.


Para proteger la información debe hacerse un estudio preciso de todos los posibles riesgos, cuantificar cada uno de ellos y estimar la posibilidad de ocurrencia en un cierto período. Esto, para establecer el presupuesto para un plan de protección.

miércoles, 2 de mayo de 2012

viernes, 27 de abril de 2012

LOGICA SIMBOLICA

Una oración es una expresión lingüística gramaticalmente correcta que posee sentido completo. Las oraciones pueden ser, desde el punto de vista de su significado de diversos tipos: enunciativas, interrogativas, desiderativas, exclamativas, de posibilidad...
Sin embargo, la lógica simbólica sólo muestra interés por aquellas oraciones a las que se les puede atribuir valor de verdad (pueden ser verdaderas o falsas): los enunciados. Un enunciado es un segmento lingüístico que tiene sentido completo y que puede ser verdadero o falso, por ejemplo, "Hoy hay riesgo de lluvia".

Un argumento o deducción es aquel razonamiento mediante el cual de unos enunciados iniciales (llamados premisas) se deduce un enunciado final (llamado conclusión)

La forma de los argumentos es la estructura de éstos. Diferentes argumentos pueden poseer la misma estructura La semejanza estructural de los argumentos se pone de relieve en los esquemas formales o abstractos, que están vacíos de contenido y que reciben el nombre de formas lógicas o figuras. Desde el punto de vista lógico lo más importante es la forma o estructura de los argumentos (no sus contenidos)

Si fueras alumno de 1° c conocerías a algún Alejandro
No conoces a ningún Alejandro
Luego no eres alumno de 1° B

Si te interesara lo que digo, me escucharías
No me estás escuchando
Luego no te interesa lo que digo

En los anteriores ejemplos de argumentos, a pesar de la disparidad de los contenidos a que se refieren, encontramos la misma figura lógica, el Modus Tollens (MT), que podría expresarse de la siguiente manera: Si A, entonces B; no es el caso de B, luego no es el caso de A.

La lógica formal es una ciencia abstracta que tiene por objeto el análisis formal de los argumentos, haciendo abstracción (prescindiendo) de su materia y contenido.

La verdad o falsedad se dice de los enunciados y es siempre una cuestión empírica; por el contrario, la validez formal o corrección es un atributo de los argumentos o deducciones. Un argumento es válido (o correcto) cuando de las premisas se sigue necesariamente su conclusión.

Argumento n° 1
Todos los almerienses son alumnos o profesores del Instituto Nicolás Salmerón
Todos los andaluces son almerienses
Luego todos los andaluces son alumnos o profesores del Instituto Nicolás Salmerón

Argumento n° 2
Algunos hombres son filósofos.
Sócrates es hombre.
Luego Sócrates es filósofo

Aunque parezca sorprendente a primera vista el argumento n° 1 es un argumento válido, mientras que el argumento n° 2 no lo es. (¿Sabes cual es la causa?)

La lógica no puede decidir acerca de la verdad de los enunciados. Se limita a establecer cuándo unas determinadas premisas -sean verdaderas o no- permiten extraer una determinada conclusión. Si es así, el razonamiento será válido, correcto. Si no es así, el razonamiento será inválido, incorrecto.

Por lengua natural (también llamado lenguaje ordinario) se entiende la lengua utilizada normalmente en una comunidad de individuos para la comunicación de éstos entre sí. El lenguaje natural se caracteriza por su enorme capacidad y riqueza comunicativa, es flexible, permite jugar con las palabras y con las expresiones produciendo metáforas y ambiguedades. Otras veces pueden expresarse incluso paradojas como la que se produce cuando digo "soy un mentiroso" o "no llevo nada".
De todo lo anterior se deduce que si bien el lenguaje natural es un instrumento idóneo para ciertos propósitos, no es igualmente apropiado para otros menesteres como la ciencia, en que se desea un máximo de exactitud y precisión.
Consideraciones como las anteriores han empujado a la construcción de lenguas artificiales para ciertos propósitos, lenguas en las que sea posible operar con exactitud y eficacia.

Hoy día la lógica cuenta con un sistema de símbolos especialmente inventado y construido para lograr precisión y operatividad. La lógica se expresa, pues, en un lenguaje artificial. El lenguaje de la lógica es, además, un lenguaje formal.
Un lenguaje formal es un lenguaje artificial que:
a)    está construido eligiendo arbitrariamente ciertos símbolos y reglas.
b)    En él se prescinde del significado.
c)    Se atiende exclusivamente a los símbolos y a las reglas establecidas. La lógica, como las matemáticas, es un lenguaje formal.

Un lenguaje formal debe constar de tres tipos de categorías:
a)    una tabla de símbolos formales: equivalente del alfabeto en los lenguajes naturales
b)    una relación de reglas de formación de fórmulas: las gramáticas de los lenguajes naturales
c)    reglas de transformación de fórmulas, que permiten pasar de unas expresiones a otras.


símbolos lógicos













Regla de calculo