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.
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.
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.
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 :
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?
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
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.
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.
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
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
METODOLOGIA DE INGENIERIA DEL SOFTWARE.
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 denominado
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
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:
- 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.
- 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
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 escena
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
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
IBLIOGRAFIA: Introduccion a la Computacion II Edicion J, Glenn Brookshear, youtobe, google




























