22 de julio de 2016

informatica

introducción 
Las ciencias de la computación o informática, es la disciplina que trata de establecer una base científica para temas tales como:

  • El diseño asistido por computadora.
  • La programación de la información
  • Las soluciones algor

El papel de los algoritmos 
Un algoritmo es un conjunto de pasos que define como hay que realizar una tarea.El objetivo de la búsqueda de los algoritmos era determinar un conjunto de instrucciones que denominara como resolver problemas.ítmicas, entre otrasEn las maquinas los algoritmos se codifican de una manera compatible con la maquina y al introducirlos se les llama programa


CIENCIA DE LOS ALGORITMOS
A medida que los intentos de expresar las tareas en una forma algorítmica comenzaron a plantear problemas a la mente humana, tuvieron que dedicarse cada vez mas en la investigación del estudio de los algoritmos.

Fue en este momento en el que los matemáticos empezaron a dar sus frutos.
ABSTRACCIÓN
Gracias a esto somos capaces de construir, analizar y gestionar sistemas de computadoras.
 de este modo, somos capaces de entender la parte del sistema que sea relevante para la parte del sistema que tengamos entre manos.
La abstracción desempeña un papel muy importante en la tarea de hacer progresar las propias ciencias de la computación, haciendo a los investigadores centrar su atención en aéreas concretas dentro de un campo complejo

REPERCUSIONES SOCIALES
En el campo de las leyes genera cuestiones relativas al grado con el que se puede ser poseedor de la propiedad intelectual , en el campo de la ética genera opciones que desafían los principios tradicionales, en el campo de la acción de gobierno genera debates al grado que tendrían que regular la tecnología informática y sus aplicaciones.
https://youtu.be/VFOtStfBjHI  12 de julio del 2016 

BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google

ALMACENAMIENTO DE DATOS

LOS BITS Y SU ALMACENAMIENTO

La información se codifica mediante patrones de 0s y 1s. Estos se denominan BITS. (dígitos binarios), se tratan de símbolos cuyo significado depende de cada aplicación concreta.

OPERACIONES BOLEANAS

Esta operación es la que permite manipular valores verdadero/falso, en honor al matemático George Boole, conocido con el nombre de lógica


ALMACENAMIENTO MASIVO
La mayoría de las computadoras disponen de dispositivos de almacenamiento adicionales conocidos como ALMACENAMIENTO MASIVO.
EN ESTOS SE INCLUYEN:



Discos magnéticos



                                                                                                                                                                                               DISCO DVD






                                                                           DISCO CD





Entre las ventajas del almacenamiento masivo, podemos citar una menor vitalidad, mayores capacidades de almacenamiento, su bajo coste, y en muchos casos, la capacidad de extraer el medio de almacenamiento de la maquina con el propósito de archivarlo.



https://www.youtube.com/watch?v=HUVkLFBNFdY- 22 DE JULIO 2016
BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google

Tratamientos de datos
En este blog veremos manipulado los datos de una computadora y como se comunica con dispositivos periféricos tales como impresoras y teclados además exploraremos los fundamentos de la arquitectura de computadoras y veremos como se programan mediantes instrucciones codificadas. como veremos a continuación :


Arquitectura de computadoras

La circuitería de una computadora que controla el tratamiento de los datos se conoce como unidad central de procesamiento  gpu,central,procesin .el procesador. Un procesador consta de tres partes la unidad arrítmica –logica,que contiene los circuitos que realizan las operaciones con los datos.




Memoria cache
es instructivo comparar los distintos recursos de memoria de una computadora en relación con su funcionalidad. Lenguaje maquina. con el fin de aplicador el concepto de programa almacenado los procesadores están diseñados para reconocer instrucciones codificadas como patrón de bits.

Ejecución de programa
Las computadoras ejecutan un programa almacenados en su memoria copiando las instrucciones desde de la memoria al procesador ,cada instrucción se codifica y se hace lo que la instrucción ordene .
Programa y datos,
En la memoria principal de una computadora podemos almacenar simultáneamente muchos programas y siempre y cuando ocupen partes diferentes de la memoria 

El papel de las controladoras
La comunicación entre una computadora y  otros dispositivos suelen gestionarse mediante un aparato intermedio denominado controladora.
Acceso directo a memoria 
Puesto que una controladora esta conectada al bus de la computadora puede efectuar sus propias comunicaciones con  la memoria principal.
USB y fire wire
El bus seria universal usby fire wire son sistema de comunicación serie estandarizadas que simplifican el proceso  de añadir nuevos depósitos periféricos a una computadora personal USB fue desarrollada bajo la dirección de Intel .el desarrollo de fire wire fue liberado por Apple. 





BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google




Sistemas operativos

¿Qué es un  sistema
 Operativo?
Es un software que controla la computadora y administra los servicios y sus funciones como así también la ejecución de otros programas compatibles con éste.  
Un sistema operativo permite interactuar con el hardware de computadoras, teléfonos celulares, etc. y ejecutar programas compatibles en éstos.  
Permite controlar las asignaciones de memoria, ordenar las solicitudes al sistema, controlar los dispositivos de entrada y salida, facilitar la conexión a redes y el manejo de archivos.






HISTORIA DE LOS SISTEMAS
 OPERATIVOS


   Los sistemas operativos han ido creciendo a partir de orígenes muy humildes. Las computadoras de 1940 y 1950 no eran muy flexibles las maquinas podrían ocupar una habitación completa. Cuando varios usuarios necesitaban compartir una maquina se suministraban hojas de petición para que los usuarios pudieran reservar la máquina durante un periodo de tiempo. 










BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google





REDES E INTERNET
       ¿Que son las redes e Internet?

Es el campo de la ciencia de la computación que describimos mediante el término redes y que abarca el estudio de la forma que pueden conectarse unas computadoras con otras para compartir información.





ARQUITECTURA DE INTERNET
En general estas redes son construidas y mantenidas por        organizaciones denominadas proveedores de servicios de internet también resulta común utilizar el término ISP para hacer referencia a las propias redes. Así podemos utilizar expresiones como conectarse a un ISP, cuando lo que realmente queremos decir es conectarse a la red proporcionada por un ISP.
El sistema de redes operado por los ISP pueden clasificarse en una jerarquía de acuerdo con el papel que desempeña en la estructura global de internet.



BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google





Los algoritmo

Una lista de instrucciones donde se especifica una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”.
Un algoritmo es un conjunto ordenado de pasos ejecutables y no ambiguos, que definen un proceso finito con un fin determinado.
Durante la ejecución de un algoritmo, la información acerca del estado de un proceso debe de ser suficiente para determinar de forma univoca y completas las acciones requeridas por cada paso.para realizar un programa es conveniente el diseño o definicion previa del algoritmo. El diseño de los algoritmos requiere creatividad, y conocimientos profundos de la técnica de programación



Ø  ¿Qué relación tienen los algoritmos con la informática?

Los algoritmos computacionales son el paso previo para la creación de un programa computacional, el cual es creado y diseñado por una persona con los conocimientos informáticos necesarios para convertir esa secuencia de pasos en una aplicación por medio de un lenguaje de programación.


Hay diferentes tipos de algoritmos, por ejemplo:

Ø Los Algoritmos aritmético ------  Operaciones +    -    *     /     etc.
 Ø Los Algoritmos computacionales ------ Programas de computadora o se                          Ø Los Algoritmos de la vida cotidiana ----- tareas especificas 



     Construcción de un algoritmo

Algoritmo para preparar un pastel de frutas.
1. Inicio
2. Obtener la receta (huevos, harina, mantequilla, tipo_fruta, fruta y tiempo_horno)
3. Obtener la cantidad a preparar.
4. Mezclar_base (huevos, harina, mantequilla
5. Hornear_base (tiempo_horno)
6. Reparar_fruta (tipo_fruta, fruta).
7.Cortar_servir (comensales, tipo_fruta).
 8. Fin.

Pseudocódigo
Es la técnica que permite presentar la solución de un problema mediante un algoritmo escrito en palabras normales de un idioma, utilizando palabras imperativas. Es común encontrar en pseudocódigo palabras como: inicie, lea,imprima sume, divida, calcule y finalize. No hay un léxico obligado para el pseudocódigo, pero con el uso frecuente se han establecido estándares.

















BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google




LENGUAJE DE PROGRAMACIÓN  

PERSPECTIVA HISTORICA.
PRIMERAS GENERACIONES: 
los programas para las computadoras modernas constan de secuencias de instrucciones codificadas como dígitos numéricos tal sistema de codificación se conoce como lenguaje maquinas es  una tarea tediosa que a menudo conduce a errores que se deben localizar y corregir antes de dar la tarea por finalizada.
 En la década de 1940, los investigadores simplificaron              el proceso de programas desarrollando sistemas de notación que permitían representar las instrucciones en forma mnemónica, en lugar de en forma numérica…:
EJEMPLO: mover el contenido del registro 5 al registro 6. Se expresaría como: 4056,  utilizando el lenguaje máquina que lo vimos en el capítulo 2.
Un sistema MNEMONICO se expresaría: MOV   R5,  R6
Una vez que se establecieron este tipo de sistemas mnemónicos, se desarrollaron programas conocidos como ensambladores para convertir las expresiones mnemónicas en instrucciones de lenguaje maquina. De este modo en vez de verse obligados a desarrollar un programa directamente en lenguaje máquina, se podría desarrollar un programa en forma mnemónica y luego convertirlo a lenguaje maquina por medio de un ensamblador.
Un sistema mnemónico para la representación de programas se denomina lenguaje ensamblador. Estos representaron un gran paso en la búsqueda de mejores técnicas de programación.

DESVENTAJAS
Un programa escrito en un lenguaje ensamblador es inherentemente dependiente de la máquina, es decir las instrucciones del programa se expresan en términos de las características de una maquina concreta. Como consecuencia, en lenguaje ensamblador no puede moverse fácilmente a otra computadora con una arquitectura diferente, porque es necesario reescribirlo para adaptarse a la configuración de registros y al conjunto de instrucciones de la nueva computadora.
Un programa, aunque ya no está obligado a codificar las  instrucciones en forma numérica, sigue viéndose forzado a pensar en términos  de los pequeños pasos incrementales del lenguaje de máquina.
LOS MAS CONOCIDOS SON:

FORTRAN (formula translator, traductor de formulas) fue desarrollado para aplicaciones cientificas y de ingenieria.


COBOL(common business-oriented language, lenguaje comun orientado a la empresa.) fue desarrollada por la arma de estados unidos para aplicaciones empresariales.
En general el enfoque de esta tercera generacion era identificar un conjunto de primitivas de alto nivel, con las que pudiera desarrollarse software

PARADIGMAS DE PROGRAMACION.
Esta basada en una escala lineal , en la que la posicion de un lenguaje esta determinada por el grado en el que el usuario de ese lenguaje se ve liberado del mundo de las especifidades tecnicas de las computadoras.

PARADIGMA IMPERATIVO


Tambien conocido como paradigma procedimental: es el paradigma en el que esta basado nuestro pseudocodigo del capitulo 5.

Este define el proceso de programacion como el desarrollo de una secuencias de comandos que, al ser ejecutados, manipula los datos para generar el resultado deseado.

Debemos enfocar el proceso de programacion determinado un algoritmo para solucionar el problema


PARADIGMA DECLARATIVO

Pide al programador que describa el problema que hay que resolver, en lugar del algoritmo que hay que aplicar. Un sistema de programacion declarativo aplica un algoritmo preestablecido para solucionar de problemas de proposito general con el fin de solucionar los problemas que se le presenten. El objetivo del programador consiste en desarrollar un enunciado presciso del problema en lugar de describir un algoritmo para la resolucion del problema.

PARADIGMA FUNCIONAL
Este programador se ve como una entidad que acepta entradas y genera salidas. Los matematicos denominan a tales entidades como funciones, razon por la que esta tecnica recibe el nombre de paradigma funcional.
Bajo este paradigma los programas se construyen conectando entidades predefinidas mas pequeñas, tal que las salidas de cada unidad se utilizen como entradas de otras unidades, de tal forma que al final se obtenga una relacion entrada-salida global deseada. Consiste en construir funciones como conjuntos  anidados de otras funciones mas simples.
PARADIGMA ORIENTADA A OBJETOS
De acuerdo con este paradigma, un sistema software se ve conceptualmente como un conjunto de unidades, denominados objetos, cada uno es capaz de llevar a cabo las acciones que les afectan directamente.
Estos objetos interactuan para resolver el problema que tengamos entre manos.


CONCEPTOS DE PROGRAMAS TRADICIONALES.
Un programa esta formado por un conjunto de sentencias que suelen caer de tres categorias distintas:
v Sentencias declarativas.
v Sentencias imperativas.
v Sentencias de comentarios.
SENTENCIAS DECLARATIVAS
Describen la terminologia personal que se empleara posteriormente en el programa, como por ejemplo los nombres utilizados para hacer referencias a los elementos de datos.
SENTENCIAS IMPERATIVAS
Describen los pasos que componen los algoritmos subyacentes
SENTENCIAS DE COMENTARIOS
Mejoran la legibilidad de un programa explicando sus caracteristicas ocultas  en una forma mas facilmente comprensibles por parte de las personas
PROCEDIMIENTOS
Es un conjunto de sentencias para realizar una tarea que puede ser utilizada como herramienta abstracta por otras unidades de programa
Los procedimientos normalmente pueden escribirse como unidades de programas individuales.
La unidad comienza como una sentencia, conocida como cabecera del procedimiento que identifica entre otras cosas, el nombre del procedimiento 
 


                                 

BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google



INGENIERA DEL SOFTWARE

La ingeniería del software es la rama de la ciencias de la computación, que busca principios que forman como guía para el desarrollo de sistemas de software complejos y de gran tamaño.
Los problemas con los que nos encontramos al desarrollar este tipo de sistemas son algo mas que versiones ampliados de los problemas con los que topamos a la hora de escribir pequeños programas.
El desarrollo de esos sistemas requiere mas de el apoyo de una persona a lo largo de un periodo dilatado de tiempo durante el cual los requisitos del problema propuesto pueden verse alterados, y el personal asigando podría variar.

LA DISCIPLINA DE LA INGENIERÍA DE SOFTWARE

Para poder apreciar los problemas implicados en la ingeniería del software, resulta útil seleccionar un dispositivo complejo de gran tamaño como ser un (automóvil) e imaginar que nos piden que los diseñemos y que luego supervisemos su construcción.
La ingeniería es un campo bien consolidado podríamos pensar que existe una gran cantidad de técnicas de ingeniería previamente desarrolladas que puedan ser utiles. a investigación en el campo de la ingeniería de software trata de avanzar actualmente en dos niveles: algunos denominadores, denominados practicos, trabajan intentando desarrollar técnicas para su aplicación inmediata.

CICLO DE VIDA DEL SOFTWARE

Los pasos principales en la fase de desarrollo tradicional del ciclo de vida del software son: Análisis de requisitos el diseño la implementación y las pruebas. El ciclo de vida del software comienza con el análisis de requisitos, estos requisitos se registran en un documento denominado Especificación de Requisitos Software , este documento es un acuerdo escrito entre todas las partes implicadas que pretender guiara el proceso de desarrollo del software.




FASE DE DESARROLLO TRADICIONALDEL CICLO DE VIDA DEL SOFTWARE
                   ANALISIS DE REQUISITOS
         DISEÑO   
        IMPLEMENTACION
         PRUEBAS
                                                        
                                                        DISEÑO

Mientras que el análisis de requisitos proporciona una descripción del producto software propuesto el diseño implica crear un plan para la construcción de ese sistema propuesto. La implementación implica la estructura de programas , la creación de archivos de datos y el desarrollo de fase de datos ,las pruebas se consideran solo como una de las tareas dentro del aseguramiento de la calidad de software. Muchos ingenieros de software argumentan que las pruebas no deberían ya contemplarse como un paso separado dentro del proceso de desarrollo sino que en realidad deberían incorporarse.


METODOLOGIA DE INGENIERIA DEL SOFTWARE.

MODELO EN CASCADA 
por analogía con el hecho de que al proceso de desarrollo solo se dejaba fluir en una dirección. En años recientes las técnicas de ingeniería de software han cambiado para reflejar la contradicción entre el entorno altamente estructurado impuesto por el modelo de cascada y el proceso mucho mas libre de prueba y error, que tan vital resulta en ocasiones para la resolucion creativa de problemas, esto se refleja en la Aparicio denominad




MODELO INCREMENTAL,
de desarrollo software, el sistema de software deseado se construye en incrementos, siendo el primer sistema una versión simplificada del producto final, con una funcionalidad limitada.








MODELO INTERATIVO,

es similar al modo incremental y en ocasiones se identifican con el, aunque se traten en realidad de dos modelos distintos. Mientras que el modelo incremental incorpora la nocion de ampliar cada versión preliminar de un producto para conseguir una versión de mayor envergadura, el modelo interativo se trata de refinar cada versión. En realidad el modelo incremental implica un proceso interativo subyacente, mientras que el  modelo iterativo por su parte puede añadir característica de forma incremental.




MODULARIDAD

Es  una forma de obtener un software manejable, cualquier modificacion futura solo tendrá que aplicarse a unos pocos módulos permitiendo que la persona que efectué la modificación se concentre en esa parte del sistema. Un objetivo a la hora de diseñar un sistema modular debería ser maximizar la independencia  entre módulos. Es tan importante como minimizar el acoplamiento entre módulos es maximizar el acoplamiento interno dentro de cada modulo, el termino cohesión se utiliza para hacer referencia a este acoplamiento interno, es decir al grado de relación entre las distintas partes internas de un modulo.

OCULTAMIENTO DE LA INFORMACION

Hace referencia a la acción de restringir la información a una parte especifica de un sistema software. El objetivo es evitar que las acciones de los módulos tengan dependencias a efectos innecesarios en otros módulos.   El  ocultamiento de información tiene dos caras complementarias una como objetivo del diseño y otra como objetivo de implementación .El ocultamiento de información es crucial de cara a la abstracción y el uso de herramientas abstractas.

PRUEBAS DEL SOFTWARE
La mayoría del software actual se verifica por medio de pruebas tales pruebas son en el mejor de los casos inexactas. No es posible garantizar mediante pruebas que un programa software es correcto , por tanto probar todas las posibles rutas dentro de un programa complejo es una tarea imposible. Los ingenieros de software han desarrollado metodologías de pruebas que mejoran la probabilidad de detectar errores en el software utilizando un numero limitado de pruebas.

DOCUMENTACION
Es una parte importante del paquete software final . Existen tres categorías de documentación del usuario; documentación del usuario, documentación del sistema y documentación técnica. La interfaz persona-Maquina se apoya fuertemente en las áreas de ingeniería denominadas Ergonomía y cognetica .La ergonomía es la que mejor se comprende .

En los interfaces de las PC aparecen otros ejemplos menos críticos.



















BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google






ESTRUCTURAS DE DATOS BASICAS

Comenzamos  nuestro estudio presentando algunas estructuras básicas  de datos que nos servirán como ejemplos en futuras secciones
u  ARRAYS: es un bloque datos rectangular cuyas entradas son todas del mismo tipo. En particular un array  bidimensional esta compuesto por filas y columnas en las que las distintas posiciones se identifican mediante una pareja de índices. El primer índice identifica la fila asociada con la posición, mientras que el segundo índice identifica la columna.

u  LISTAS, FILAS O COLAS: es un conjunto cuyas entradas están ordenadas de manera secuencial, el inicio de una lista se denomina principio de lista. El otro extremo se denomina final.
     ARBOLES: es un conjunto cuyas entradas tienen una organización jerárquicas similar al de el organigrama de cualquier empresa. Se imponen restricciones de que las diferentes ramas de la organización no converjan en ninguno de los niveles inferiores


CONCEPTOS RELACIONADOS
Estos temas están relacionados con el concepto de estructura de datos:
v  La abstracción
v  La diferencia entre estructura estáticas y dinámicas
v  El concepto del puntero

  LA ABSTRACION
La memoria principal de una computadora no esta organizada como arrays pilas, colas y arboles , si no como una secuencia de celdas de memoria direccionales. En este contexto el termino usuario no hace referencia necesariamente a una persona, en lugar de ello el significado de la palabra dependerá de nuestra perspectiva en cada momento.
En este caso, el software de aplicación será responsable de presentar los datos en una forma abstracta que sea cómoda para esa persona


Estructura de datos estática y dinámica


Una diferencia importante a la hora de construir estructuras de datos abstractos es si la estructura que se esta simulando es estática o dinámica, es decir la forma o el tamaño de la estructura varia a lo largo del tiempo.
Ejemplo:
Si la abstracción es una lista de nombres, es importante considerar si la lista tendrá un tamaño fijo a lo largo de toda su existencia lo se va a ir ampliando a medida que se añadan los nombres.



PUNTEROS

 es un área de almacenamiento que contiene una de esas conexiones codificadas. En el caso de la estructura de datos se utilizan para anotar la ubicación en la que están almacenados. Punteros


IMPLEMENTACION DE ESTRUCTURAS DE DATOS
Maneras de almacenarse en la memoria principal de una computadora:

Ø ALMACENAMIENTO DE ARRAYS:
Estas estructuras suelen proporcionarse como estructuras primitivas en los lenguajes de programación de alto nivel, nuestro objetivo es comprender como se traducen los programas que manejan esas estructuras.

Ø MATRICES
supongamos que queremos almacenar una secuencia de 24 mediciones de temperatura, cada una de las cuales requiere una celda de memoria de espacio de almacenamiento, además queremos identificar esas medidas según su posición dentro de la secuencia. En resumen queremos poder manipular la secuencia como si fuera una matriz homogenea unidimensional.

ALMACENAMIENTO DE LISTAS
Una de las estrategias posibles seria almacenar la lista completa en un mismo bloque de celdas de memoria con direcciones consecutivas.
Suponiendo que cada nombre no tenga mas de ocho caracteres, podemos dividir ese bloques de celdas en un conjunto de sub-bloques, teniendo cada una de ellas ocho celdas. En cada sub-bloque podemos almacenar un nombre, usando una celda por cada letra. el uso de este sistema requiere un bloque de 80 celdas de memoria consecutivas para almacenar una lista de 10 nombres.
Lo mas importante es que toda la lista se almacena en un mismo bloque de memoria de gran tamaño, estando las entradas sucesivas unas a continuación de otras celdas de memorias continuas, este tipo de organización se denomina LISTA CONTINUA.

TIPOS ABSTRACTOS DE DATOS
 este tipo esta compuesto por dos partes:
  1.  un sistema de almacenamiento predeterminado: (como un sistema en complemento a dos en el caso del tipo entero y un sistema de punto flotante en el caso del tipo real.
  2. una colección de operaciones predefinidas: (como la suma y resta.
En particular los tipos de datos primitivos en un lenguaje de programación están asociados con una serie de operaciones primitivas. Los tipos de datos definidos por el usuario tradicionalmente permiten a los programadores definir nuevos sistemas de almacenamiento

Almacenamiento de pilas y colas
para emplear pilas y colas se suele emplear una organización similar a la de las listas continuas. En el caso de una pila se reserva un bloque de memoria lo suficientemente grande como para que quepa la pila con su tamaño máximo.


TIPOS DE DATOS PERSONALIZADOS
Expresar un algoritmo suele ser mas fácil si hay disponibles tipos de datos distintos que los proporcionados como primitivos en los lenguajes de programación. Por esta razón, muchos lenguajes de programación modernos permiten a los programadores definir tipos de datos adicionales, utilizando los primitivos como componentes básicos .

BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google




Sistema de base de datos

Es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.



Sistema de datos para la PC

  las computadoras personales se utilizan en una amplia variedad de aplicaciones que van desde la mas elementales hasta la mas santificada. En las aplicaciones de base de datos elementales existen verdaderos sistemas de base de datos para la PC, siendo uno de ellos Microsoft Access. Es un sistema de base de datos relacional completo con software de diagramas. Archivos


Base de datos orientada a objeto
Esta solución conduce a obtener a una base de datos orientada a objeto, compuesto por objetos que están enlazados entre si con el fin de reflejar sus relaciones, una implementación orientada a objetos de la base de datos la sección podría estar compuesta de tres por ejemplo empleado, puesto y asignación


Estructura de archivo tradicional

  • Los sistemas de base de datos multidimensional con el fin de considerar la estructura de archivos tradicional. Esa estructura representa el inicio histórico de los sistemas de almacenamiento y recuperación de datos
  • Archivos secuenciales: es un archivo que accede de forma serie, desde principios hasta su final como si la información de archivos estuviera dispuesta en una única fila de gran longitud.los archivos de textos que son archivos secuenciares en los que cada registro lógico es un único símbolo codificado mediante ASCII o Unicode suele servir como herramienta básica para construir archivos secuenciales
  • Archivos indexados: un índice de un archivo contiene una lista de las claves almacenadas en el archivo junto con entradas que indican donde esta almacenando el registro que contiene cada clave.
Minería de datos
Patrones de comportamiento a lo largo Un campo en rápida expansión esta estrechamente relacionada con la tecnología de base de datos es el de la minería de datos  que son técnicas que permiten descubrir patrones dentro del conjunto de datos
Descripción de clase y discriminación de clase:
La descripción de clase trata de identificar propiedades que caracterizan a un grupo dado de elemento de dato otra forma de minería de dato es
Análisis de agrupamiento: trata de descubrir clases de la descripción de clase análisis de asociaciones amplia la búsqueda de enlace entre grupo de datos.
Análisis de excepciones: otra forma de minería de datos  trata de identificar aquellos elementos de datos que no  se ajustan a la norma

BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google



Gráficos por computadora
Con la aparición de las cámaras digitales ,se en incrementado rápidamente la popularidad del software para la manipulación  de imágenes codificadas digitalmente .Este software permite retocar fotografías .eliminando manchas y esos puntos rojos que aparecen en los retratos ,así como cortar y pegar partes de diferentes fotografías con el fin de crear imágenes que no reflejan necesariamente la realidad mediante tecnología de gráficos 3D .Las películas animadas se crean de forma similar .salvo  porque el animador humano es el que interactúa con el entorno virtual en lugar de que el interactúa con el entorno virtual en lugar de que el interactué sea el espectador. El producto que al final se distribuye

Panorámica de los gráficos
Los gráficos 3D considerando el proceso completo de creación y visualización de imágenes ,un proceso que costa de tres pasos  modelado, generación  visualización .La escena de gráficos 3D se construye a partir de datos de algoritmo codificados digitalmente

Modelado
Un proyecto de grafico 3D comienza de forma bastante similar a una función teatral. Es preciso diseñar un estudio y hace falta recopilar o construir el utillaje adecuado. En las terminologías de los grafico por computadora el estudio se denomina escenaResultado de imagen para modelado de los graficos por computadora

Televisión 3d
Para la televisión todas dependen del mismo efecto visual estereoscópico .dos imágenes ligeramente distintas que lleguen al ojo izquierdo y derecho  acción de Recorte, conversión  de barrio y eliminara ocultas
Ahora vamos a centrarnos en el proceso de producir una imagen a partir de un grafo de escenas. Nuestro enfoque consistiría  por ahora utilizar las técnicas que asa la mayoría de los sistemas de videojuegos interactivos  tomadas el conjunto estas técnicas forman lo que es un paradigma muy  bien consolidado que se conoce con el nombre de cadena de generación
El proceso de asociar la posiciones de lo pixeles con puntos de la escena se denomina conversión de barrio porque implica convertir en filas horizontales de pixeles denominado línea de barrido o tramado : rasterización ,por que la matriz de pixeles es como un trama o rastre la conversión de barrido se lleva acabo tirando líneas rectas.
serán interpretado por el cerebro asignados ala imágenes una sensación de profundidad

Proceso de animación
Consiste en automatizar el proceso completo de animación .podríamos imaginarnos un software que a partir de los parámetros apropiados generan automáticamente  la se ciencia de animación deseada, .el proceso  hecho en la dirección queda ilustrada por el hecho que la industria del cine ahora genera imágenes de multitudes  ensena de batalla.
Una gran cantidad de  animaciones siguen siendo creada hoy en día por animadores humanos sin embargo en de ve de dibujar fotogramas bidimensionales a mano como en la década de de 1920 estos animadores utilizan software para manipular objetos virtuales tridimensionales  dentro de un grafo de escenas











BIBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google




INTELIGENCIA ARTIFICIAL

¿Qué es la inteligencia Artificial?

Es el campo de las ciencias de la computación que trata de construir maquinas autónomas, maquinas que sean capaces de llevar a cabo tareas complejas sin intervención humana.
Este objetivo requiere que las maquinas sean capaces de percibir y razonar.



Razonamiento

El desarrollo de las capacidades de razonamiento en una maquina a sido objeto de investigación durante muchos años. Uno de los resultados de esas investigaciones es el reconocimiento de que existe una gran clase de problemas de razonamiento que presentan características comunes, dichas características se pueden definir mediante una entidad abstracta conocida con el nombre de SISTEMAS DE PRODUCCION.


Este sistema está formado por tres componentes principales:

1.    Un conjunto de estados: cada estado es una situación que puede presentarse dentro del entorno de la aplicación concreto en el que nos encontramos.
2.    Un conjunto de producciones: un producto es una operación que puede realizarse en el entorno de aplicación con el fin de pasar de un estado a otro.
3.    Un sistema de control: está compuesto de la lógica que resuelve el problema de pasar del estado inicial al estado objetivo.

REBOTICA

Es el uso de los agentes físicos autónomos que se comportan de manera inteligente. al igual que sucede con cualquier otro agente, los robots deben ser capaces de percibir, razonar y actuar dentro de su entorno.

Las investigaciones en rebotica abarcan, por tanto, todas las áreas de inteligencia artificial, además de utilizar intensamente los resultados de la ingeniería mecánica y eléctrica.





IBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google



TEORIA DE LA COMPUTACION

Funciones y su computibilidad
La Teoría de la Computabilidad se ocupa de construir un formalismo matemático para razonar sobre la existencia o no existencia de algoritmos efectivos para problemas particulares. Los resultados que se prueben dentro de esta teoría deben ser aplicables a todas las arquitecturas de ordenadores, independientemente de sus parámetros, como pueden ser la velocidad del procesador o el tamaño de la memoria. Para ello tiene como base el concepto de modelo de computación. 

Necesitamos saber qué entendemos por algoritmo efectivo y por problema. Aunque el desarrollo formal de la teoría de la computabilidad se realiza  en el siglo XX, sin embargo la búsqueda de algoritmos efectivos para resolver ciertos problemas se viene realizando desde hace más de 2000 años.
Los matemáticos griegos, como se comprueba en los trabajos de Euclides y Pitágoras,  pusieron gran énfasis en las técnicas constructivas. Así, en geometría se plantearon algunos problemas que dejaron sin resolver y que han constituido materia de investigación durante mucho tiempo, como:
q    El problema de la cuadratura del circulo:
"Dado un circulo, construir un cuadrado con la misma área utilizando regla y compás

q     El problema de la trisección de un ángulo:
"Dividir un ángulo dado en tres partes iguales mediante regla y un compás".

q     El problema de la duplicación del cubo:
"Dado un cubo, construir otro con exactamente el doble de volumen que el original, utilizando regla y compás".

La Teoría de la Computabilidad se ocupa de dividir el universo de todos los lenguajes sobre    , en aquellos lenguajes que pueden ser reconocidos por algoritmos efectivos y los que no.  Ello conduce a las funciones no computables, es decir, a los problemas no resolubles.
Vamos a recordar algunos modelos clásicos (máquinas) de computación, como las máquinas de Turing (determinística y no determinísticas) y los autómatas celulares que conducen a diferentes formalizaciones del concepto de algoritmo, todas ellas equivalentes (equivalentes también a otras formalizaciones ideadas por Kleene, Church, Post, etc.). Esta equivalencia refuerza la Tesis de Church-Turing que afirma:
La clase de problemas que se pueden resolver utilizando el sistema de programación  de Turing es exactamente el mismo con el que se puede resolver con cualquier sistema de programación razonable 

MAQUINAS DE TURING

Es un intento de comprender las capacidades y limitaciones de las maquinas. Muchos investigadores han propuesto y estudiado dispositivos computacionales uno de ellos es la máquina de turing, que fue propuesta por Alan Turing (desarrollo el concepto de máquina de turing en la década de 1920).Esta compuesta por una unidad de control que puede leer y escribir símbolos en una cinta por medio de un cabezal de lectura/escritura.














IBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google