Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La idea fundamental de la POO es combinar en una sola unidad datos y funciones que operan
sobre estos datos, tal unidad se denomina objeto.
DEFINICIÓN DE OBJETO.- Es una abstracción de cosas (entidades) del mundo real, tales
que:
Todas las cosas del mundo real dentro de un conjunto –denominadas instancias- tienen
las mismas características.
Todas las instancias siguen las mismas reglas.
Estado (atributos)
Operaciones o comportamiento (métodos invocados por mensajes
Desde el punto de vista informático los OBJETOS son tipos abstractos de datos (tipos que
encapsulan datos y funciones que operan sobre estos datos)
Ejemplos de objetos:
OBJETO: AUTO 1
Número_de_matricula
Fabricante
Precio_compra
Precio_actual
DATOS
Fecha_Compra
Calcular_Precio_Actual
FUNCIONES
DONDE:
IDENTIFICACIÓN DE OBJETOS
La identificación de objetos se obtiene examinando la descripción del problema (análisis
gramatical somero del enunciado o descripción) y localizando los nombres o cláusulas
nominales. Normalmente, estos nombres y sus sinónimos se suelen escribir en una tabla de la
que luego deduciremos los objetos reales. Los objetos pueden caer dentro de las siguientes
categorías:
Una vez identificados los objetos, será preciso identificar los atributos y las operaciones que
actúan sobre ellos.
AVION EMPLEADO
Matrícula Nombre
Licencia del piloto Número de identificación
Nombre del avión Salario
Capacidad de carga Dirección
Número de pasajeros Nombre del departamento
Atributos
Métodos (operaciones o servicios)
ATRIBUTOS
Los atributos describen el estado del objeto. Un atributo consta de dos partes: un nombre de
atributo y un valor de atributo.
Los objetos simples pueden constar de tipos primitivos, tales como enteros, carácter, boolean,
reales, o tipos simples definidos por el usuario. Los objetos complejos pueden constar de pilas,
conjuntos, listas, arrays, y los demás.
MÉTODOS
Los métodos (operaciones o servicios) describen el comportamiento asociado a un objeto.
Representan las acciones que pueden realizarse por un objeto o sobre un objeto. La ejecución
de un método puede conducir a cambiar el estado del objeto o dato local del objeto.
LOS CONTRUCTORES
Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una
determinada clase al mismo tiempo que se declara.
Los constructores son especiales por varios motivos:
LOS DESTRUCTORES
Los destructores son funciones miembro especiales que sirven para eliminar un objeto de una
determinada clase. El destructor realizará procesos necesarios cuando un objeto termine su
ámbito temporal, por ejemplo liberando la memoria dinámica utilizada por dicho objeto o
liberando recursos usados, como ficheros, dispositivos, etc.
Al igual que los constructores, los destructores también tienen algunas características especiales:
También tienen el mismo nombre que la clase a la que pertenecen, pero tienen el
símbolo ˜ delante.
No tienen tipo de retorno, y por lo tanto no retornan ningún valor.
No tienen parámetros.
No pueden ser heredados.
Deben ser públicos, no tendría ningún sentido declarar un destructor como privado, ya
que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no
puede ser heredado.
No pueden ser sobrecargados, lo cual es lógico, puesto que no tienen valor de retorno ni
parámetros, no hay posibilidad de sobrecarga.
Cuando se define un destructor para una clase, éste es llamado automáticamente cuando se
abandona el ámbito en el que fue definido. Esto es así salvo cuando el objeto fue creado
dinámicamente con el operador new, ya que en ese caso, cuando es necesario eliminarlo, hay
que hacerlo explícitamente usando el operador delete.
En general, será necesario definir un destructor cuando nuestra clase tenga datos miembro de
tipo puntero, aunque esto no es una regla estricta.
PUNTEROS
El valor de cada variable está almacenado en un lugar determinado de la memoria, caracterizado
por una dirección. El ordenador mantiene una tabla de direcciones que relaciona el nombre de
cada variable con su dirección en la memoria.
Entonces un Puntero es una variable que contiene una dirección de la memoria. Entonces:
Puntero es una variable que contiene la dirección de otra variable, para crear un puntero se
utiliza un operador especifico que es el * (asterisco).Ejemplo:
int *pEdad=0 “indica que el puntero pEdad va a guarda la dirección de una variable tipo integer,
además se lo inicializa con un valor de 0.
Como se lo crea:
unsigned short intqueEdad=50 // crea una variable (unsigned indica que lo que se guarda es del
mismo tipo).
unsigned short int *pEdad=0 // crea un punter
pEdad = &queEdad // pone la dirección de queEdad en pEdad
ARRAYS
Es la forma de estructurar elementos. Se emplea especialmente en programación y en su forma
más básica es una lista de la forma array(elemento, elemento, ...).
HERENCIA
La herencia es específica de la programación orientada a objetos, donde una clase nueva se crea
a partir de una clase existente. La herencia (a la que habitualmente se denomina subclases)
proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y métodos
de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y
métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados.
Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada.
La gran ventaja es que uno ya no debe comenzar desde cero cuando desea especializar una clase
existente. Como resultado, se pueden adquirir bibliotecas de clases que ofrecen una base que
puede especializarse a voluntad (la compañía que vende estas clases tiende a proteger las datos
miembro usando la encapsulación). El objetivo final es la reutilizabilidad o reutilización, es
decir reutilizar código anteriormente ya desarrollado.
TIPOS DE HERENCIA
Herencia simple: una clase sólo puede heredar características de una sola clase, o sea, puede
tener un padre. Smalltalk, Java y Ada soportan herencia simple. Ejemplo:
FIGURA
RECTANGULO TRIANGULO
CIRCULO
RECTANGULO
REDONDEADO
REDONDEADO
Herencia múltiple: una clase puede heredar características de una o más clases, por lo tanto,
puede tener varios padres. C++ soporta herencia múltiple. Ejemplo:
PROFESOR INVESTIGADOR
PROFESOR
UNIVERSITARIO
POLIFORMISMO
En programación, polimorfismo es una característica de un lenguaje de programación que
permite a los valores de diferentes tipos de datos ser manejados usando una interfaz uniforme.
También hay funciones polimórficas: es una función que puede ser evaluada o ser aplicada a
valores de diferentes tipos.
Dos tipos de polimorfismo: ad-hoc y paramétrico
Existen dos tipos de polimorfismo:
* Polimorfismo ad-hoc: si el rango de tipos actuales que pueden ser usados es finito y las
combinaciones deben ser especificadas individualmente antes de usarse.
* Polimorfismo paramétrico: si todo el código es escrito sin mención de ningún tipo específico y
así poder ser usado transparentemente con nuevos tipos.
La interfaz tiene dos principales "misiones": la primera es informar al usuario acerca de los
elementos que tiene a su disposición y para qué sirven, y la segunda es brindar la posibilidad de
elegir entre las distintas opciones.
De manera sintética, la interfaz consiste en un área de trabajo rodeada por diferentes barras en
las que se encuentra dispuesta una buena cantidad de botones. En la parte superior tenemos la
Barra de título del programa, que nos indica el nombre del programa que utilizamos así como el
del archivo con el que estamos trabajando.
Interfaz gráfica de usuario (en inglés conocida por el acrónimo GUI, de GraphicUserInterfase)
tipo de visualización que permite al usuario elegir comandos, iniciar programas y ver listas de
Los dispositivos de interfaz humana son los diseñados para conectar alguna parte del cuerpo del
ser humano con la interfaz gráfica de modo que puedan ser introducidos datos en el sistema.
Normalmente son dispositivos que permiten introducir directamente, y en tiempo real,
información de “orientación” y “acción” al ordenador sincronizado simultáneamente con una
interfaz gráfica.
Los dispositivos de interfaz humana como el ratón, pueden representar en la interfaz gráfica
gestos físicos y movimientos, como “apuntar”, “pulsar”, “arrastrar”, “trasladar”, “mover” de
forma metafórica que de otro modo sería muy complejo simular.
Existen diferentes tipos de interfaces humanas los cuales han sido desarrollados paralelamente a
lo largo de la historia de la interfaz gráfica. Los más importantes han sido, el teclado, el ratón de
ordenador, el trackball (bola), el cursor táctil (touchpad), la tableta gráfica y el Joystick.
VENTANAS
Las ventanas son recursos interactivos usadas para la visualización, jerarquización y navegación
de la información en un interfaz gráfico de usuario. A través de las ventanas, pueden ser
visualizados un conjunto de documentos, aplicaciones e iconos, sobre los cuales es posible
realizar diversas acciones.
Las ventanas permiten una forma relativamente fácil de interacción con la información. Su
comportamiento es como el de un objeto, y pueden ser abiertas, cerradas, movidas, escaladas,
ampliadas (zoom) y navegadas (scrolling).
Tipos de ventanas
Podemos hacer una catalogación de ciertos tipos de ventanas, desde un punto de vista
semántico, esto es, atendiendo al tipo de significados asociados a la ventana:
Ventana Modal
Las ventanas modales son aquellas ventanas específicas que han sido diseñadas como medio de
prevención de alguna acción del usuario sobre el sistema. Surgen allí donde el sistema prevé
algún error por parte del usuario. Suelen contener un mensaje de advertencia y un botón de
confirmación de la acción a realizar.
Ventana de Confirmación
Las ventanas de confirmación son aquellas que surgen de modo preventivo igualmente, pero
esta vez dan al usuario una serie de posibilidades de acción. La ventana de confirmación más
habitual es aquella que surge cuando intentamos guardar un documento que ya tenemos creado
HANDLE (manija)
¿Se ha preguntado alguna vez qué programa mantiene abierto un archivo o directorio en
particular?. Ahora lo puede averiguar. Handle es una utilidad que muestra información acerca
de identificadores abiertos para cualquier proceso del sistema. Puede usarla para consultar los
La librería ObjectWindows
Biblioteca de objetos de Windows , más conocido por la sigla OWL, es una biblioteca
de clases C + + producido por Borland con el fin de encapsular la API de Windows.
PPP fue lanzado por Borland por su compilador de Borland C++ en gran parte al mismo tiempo
que Microsoft había lanzado un producto de la competencia llamada Microsoft
FundationClasses . Desde PPP tenía una estructura superior biblioteca orientada a objetos de
Microsoft, durante un tiempo fue mucho más exitosa, sin embargo, la pérdida de cuota de
mercado cuando las actualizaciones no soporta las nuevas características de Windows, y luego
nunca se produjo. Actualmente un grupo independiente (equipo OWLNext) es responsable de
actualizar y proporcionar nuevas características.
OBJETOS INTERFAZ
Las interfaces de objetos permiten crear código el cual especifica métodos que una clase debe
implementar, sin tener que definir como serán manejados esos métodos.
Las interfaces son definidas usando la palabra reservada 'interface', de la misma manera que las
clases estándar, pero sin que cualquiera de los métodos tenga su contenido definido.
Todos los métodos en una interface deben ser públicos, esto es la naturaleza de una interface.
OBJETOS CAJA DE DIALOGO
GLOSARIO
API
Interfaz de programación de aplicaciones o API (del inglésApplicationProgramming
Interface) es el conjunto de funciones y procedimientos (o métodos, en la programación
orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una
capa de abstracción. Son usadas generalmente en las bibliotecas (también denominadas
vulgarmente "librerías").
ENCAPSULAR
La comunicación de un microprocesador con el exterior, esto es, con la memoria principal y con
las unidades de control de los periféricos, se realiza mediante señales de información y señales
de control que son enviadas a través del patillaje del microprocesador. Posteriormente, estas
señales viajarán por el bus del sistema que comunica al procesador con los demás componentes
situados en la placa base, pasando a continuación al bus de E/S hasta llegar al periférico
correspondiente. El número y tamaño de las patillas ha ido variando con el tiempo según las
necesidades y las tecnologías utilizadas.
OBJETO
ATRIBUTO
METODO
CONSTRUCTOR
DESTRUCTOR
PUNTERO
ARRAYS
POLIFORMISMO
Visual Basic está ORIENTADO A EVENTOS/OBJETOS (lo cual quiere decir que elcódigo no
se activa hasta que se llama como respuesta a un evento, por ejemplo Click debotón, Selección
de un menú, …). NO SUCEDE NADA HASTA QUE SE DETECTA UNEVENTO.
ProcedimientosDe eventos
DEFINICIÓN.- Las variables son espacios en la memoria donde el programa guarda datos. A
este lugar en la memoria se hace referencia mediante un identificador: el nombre de la variable.
Un nombre de variable tiene que cumplir con las mismas reglas que con los nombres de los
objetos.
La variable almacenará un determinado tipo de dato, y de esto dependerá la cantidad de
memoria que ocupe. Las variables, por tanto, serán de distinto tipo y en el código se puede
declarar (crear) una variable del tipo que se especifique. La sentencia para declarar una variable
será:
AlcancenVariableastDato
Donde Alcance será el alcance de la variable (Private o Public); nVariable será el nombre de la
variable y tDato será el tipo de dato que almacenará.
Los tipos de datos son los siguientes:
TIPOS DE VARIABLES:
Existen 2 modos:
a) Declaración EXPLÍCITA: en este caso todos los módulos del código de unproyecto nuevo
contienen la línea ‘OptionExplicit’. Las variables se declaran conDimnombreVariable
CONSTANTES.- Las constantes son como las variables, con la excepción de que su valor es
asignado una única vez y luego no puede ser cambiado. Su valor es asignado en la misma
declaración y si luego se intenta cambiar su valor se producirá un error. Las constantes son
privadas por defecto y si se desea que sean públicas habrá que declararlas como Public.
A continuación los ejemplos generales de una constante privada y otra pública:
ConstnConstastDato=Valor
PublicConstnConstanteastDato=Valor
Donde nConstante es el nombre la constante, tDato es el tipo de dato que almacenará (Integer,
Single, Date, etc.) y valor es el valor que almacenará. La declaración de una constante que
almacene velocidad de la luz, en forma privada y pública, sería:
ConstvelocidadluzasLong=300000
PublicConstvelocidadluzas Long=300000
El valor de una constante se utiliza de la misma forma que el valor de una variable y cumple con
los mismos criterios de alcance.
OPERADORES ARITMÉTICOS
OPERADORES LÓGICOS
b) El operador ‘&’ une cadenas de caracteres o los concatena. Solo se emplea concadenas de
caracteres:
Ejemplo: supongamos que Nombre1=”pepito” y que Nombre2=”Martinez”
Nombre1&Nombre2=”pepitoMartinez”
SENTENCIAS
Definicion.-La sentencia más sencilla es la de asignación. Consiste en el nombre de una
variable,seguido del operador de asignación (=), seguido de algún tipo de expresión.
Ejemplos:
HoradeInicio = Now
Caja2.Caption = "Datos Fijos"
BitCont = ByteCont * 8
Energia = Masa * VELOCIDADDELALUZ ^ 2
ValorNeto = Ganancias – Deudas
Porque Multimedia
El prefijo MULTI -del latinmultus- significa mucho y explica la idea de multiplicidad o de un
número considerable de medios asociados o independientes
Interactividad
Denominamos interacción a la comunicación recíproca, a la acción y reacción. Una máquina
que permite al usuario hacerle una pregunta o pedir un servicio es una "máquina interactiva".
Un cajero automático es una típica máquina interactiva, responde a las preguntas, facilita datos
o dinero, según la intención del cliente. La interacción, a nivel humano, es una de las
características educativas básicas como construcción de sentido. La interacción como acceso a
control de la información está muy potenciada con los sistemas Multimedia. Dependerá del
contexto de utilización de los recursos multimediales en qué medida potencien también la
interacción comunicativa.
Ramificación
Es la capacidad del sistema para responder a las preguntas del usuario encontrando los datos
precisos entre una multiplicidad de datos disponibles. Es una metáfora, utilizada hace tiempo
En este capítulo vamos a tratar de proporcionar unos conceptos rápidos pero esenciales que nos
permitan entender la manera de tratar el sonido. Una vez aprendidos estos, nos será posible
trabajar con el ordenador y el sonido con un cierto grado de confianza.
El sonido es una vibración que se propaga a través del aire. Se aplican los mismos principios
que cuando lanzamos una piedra a un estanque: la perturbación de la piedra provoca que el agua
se agite en todas las direcciones hasta que su amplitudes tan pequeña que deja de percibirse.
Frecuencia
Al número de veces que esta vibración se produce por segundo es lo que se conoce como
frecuencia. La frecuencia del sonido se mide en Hertzios (Hz). Una persona con los oídos
saludables puede oír frecuencias comprendidas entre los 20 y los 20000 Hz.
Cuando estas vibraciones del aire llegan a nuestros oídos, este las transforma en señales
eléctricas que puedan ser entendidas por nuestro cerebro. Un micrófono actúa de manera similar
transformando las vibraciones acústicas en eléctricas de manera que puedan guardarse,
manipularse, y reproducirse. A esta señal se la denomina señal analógica.
La forma de onda más sencilla es la denominada onda sinusoidal, que se caracteriza por tener
una frecuencia y una amplitud constante. Este tipo de ondas son las que se utilizan normalmente
para realizar los estudios ya que cualquier señal puede descomponerse mediante Transformadas
de Fourier en series de estas.
Amplitud
La amplitud de una onda nos informa de la fuerza o energía de la señal. La unidad de medida
de esta fuerza es el decibelio (dB).
Ancho de Banda
El ancho de banda de un sistema nos indica la diferencia entre la frecuencia máxima y mínima
con la que el sistema puede trabajar. Antes dijimos que el oído humano puede percibir
frecuencias comprendidas entre los 20 y los 20000 Hz, es decir, el ancho de banda de nuestro
oído es de unos 20 KHz.
Este proceso convierte una señal analógica continua en series de datos tomando medidas
instantáneas de la amplitud de la señal a una velocidad constante. Si estas medidas se toman a
una frecuencia de muestreo alta, tendremos una aproximación bastante fiable de la señal
original. Para entender mejor este concepto pensemos en el símil cinematográfico el cual toma
24 imágenes por segundo que son suficientes para simular un movimiento continuo de la
escena. Evidentemente cuantas más muestras tomemos por segundo mejor reproduciremos la
señal original.
Los sistemas digitales utilizan como unidad de información el bit el cual solo tiene dos estados,
0 y 1. Evidentemente no podemos asociar todos los posibles valores de los datos con tan solo un
bit, por este motivo se utilizan combinaciones de 8 bits ( byte ) a los que ya podremos asociar
256 valores, no obstante si se necesitara mayor resolución se utilizaran 16 bits ( word )
incrementando de esta manera el rango hasta 65536 valores.
Es el proceso que convierte los valores digitales discretos que representan al sonido en una señal
analógica continua.
Frecuencia de muestreo
La frecuencia de muestreo debe de ser lo suficientemente alta como para que los sonidos de alta
frecuencia puedan recogerse con precisión. Según el teorema de muestreo es posible reproducir
con exactitud una forma de onda si la frecuencia de muestreo es como mínimo el doble de la
frecuencia mayor a muestrear. La frecuencia más alta que percibe el oído humano es de 20 kHz,
de modo que haciendo un muestreo a 44.1 kHz aseguramos una excelente reproducción del
original. Se podría asumir que todo lo que hay que hacer por tanto para obtener buen sonido es
grabar a velocidad límite de 44.1 kHz con muestras de 16 bits. El único problema que nos
encontramos es la enorme cantidad de espacio en disco que se requiere para almacenar la
información (1 minuto ocupa aproximadamente 10.5 Mbytes).
El formato de datos mas utilizado para los archivos de sonido es el denominado Pulse
CodeModulated( PCM, modulación en código de pulso ) de 8 bits. De esta forma se obtiene un
byte por muestra de sonido. Los archivos estéreo contienen dos bytes, uno por muestra de cada
canal, con lo que se obtiene mejor calidad a costa del limitado espacio en disco.
Microsoft adoptó este formato para emplearlo con las extensiones multimedia de Windows.
Almacena muestras de audio digital de 8 y 16 bits, gestiona los datos en mono o en estéreo y
admite tres frecuencias de muestreo: 11.025 kHz, 22.05 kHz, 44.1 kHz, comprimidos o sin
comprimir.
Admite muestras de 8 y 16 bits, admite frecuencias de muestreo de 11.025 kHz, 22.05 kHz, y
44.1 kHz, y los datos pueden guardarse comprimidos o sin comprimir ( solo para SoundBlaster
). El formato de archivo VOC usa el concepto de bloques de silencio, es decir, un periodo
extenso de silencio se reemplaza en el archivo de audio con una marca y un valor de su duración
temporal, con lo que se consigue un pequeño ahorro de espacio en disco.
Apple Macintosth utiliza el formato de intercambio de audio ( IIF ) para almacenar muestras de
sonido digitalizado, admite varias frecuencias de muestreo y tamaños de muestra de hasta 32
bits por muestra. Las aplicaciones IBM PC normalmente no hacen uso de este formato.
Sound( SND )
Que es el MIDI
Las siglas MIDI se corresponden con Musical Instruments Digital Interface. Los instrumentos
musicales de hoy en día permiten transmitir al módulo de sonido el "gesto del músico ". Es
decir, que nota ha sido tocada, con que duración, con que fuerza, tc...
Las posibilidades del MIDI son ilimitadas, pero podemos resumirlas en:
Frecuencia.
La segunda propiedad es la frecuencia. Se mide en Hercios (Hertz, Hz) y nos permite saber a
cuantos ciclos por segundo va esa onda. Un ciclo es cuando la onda sube hasta un punto
máximo de amplitud, baja hasta atravesar la línea central y llega hasta el punto de amplitud
máximo negativo y vuelve a subir hasta alcanzar la línea central. El tono o altura de un sonido
depende de su frecuencia, es decir, del número de oscilaciones por segundo.
Timbre.
El timbre es la cualidad del sonido que nos permite distinguir entre dos sonidos de la misma
intensidad y altura. Podemos así distinguir si una nota ha sido tocada por una trompeta o por un
violín. Esto se debe a que todo sonido musical es un sonido complejo que puede ser
considerado como una superposición de sonidos simples.
Velocidad.
Esta es la propiedad más simple y precisa del sonido. La velocidad del sonido en un medio
puede medirse con gran precisión. Se comprueba que dicha velocidad es independiente de la
frecuencia y la intensidad del sonido, dependiendo únicamente de la densidad y la elasticidad
del medio. Así, es mayor en los sólidos que en los líquidos y en éstos mayor que en los gases.
En el aire, y en condiciones normales, es de 330,7 m/s.
Una onda es una perturbación física que se propaga en un determinado medio. Dicha
perturbación consiste en la variación local de una magnitud escalar o vectorial determinada. El
conjunto de fenómenos físicos que constituyen movimientos ondulatorios es muy amplio, ya
que, aparte del sonido, son ondas la luz, los movimientos sísmicos, las ondas hertzianas,
etcétera.
Son ondas transversales las que recorren una cuerda tensa cuando la pulsamos o las que se
propagan por una alfombra cuando la sacudimos. Los puntos de la cuerda pulsada tienen un
movimiento de vaivén pero no se desplazan. La onda transporta energía, no materia, y la
perturbación que provoca en la cuerda es perpendicular a la dirección en que avanza el
movimiento ondulatorio. La onda que se forma cuando arrojamos una piedra en un estanque es
una onda superficial de tipo transversal: si observamos un corcho flotando en el agua vemos
que, al llegar la onda hasta él, el corcho sube y baja sin moverse de sitio.
Commondialog
En ella se debe escribir los caption que se verán al momento de ejecutar el formulario. Ejemplo
CAPTION: Archivo
Name: Archivo (el mismo nombre para identificarlo), ACEPTAR
Para insertar el segundo Caption, y como nuestro reproductor es sencillo porque tendrá 1 opcion
dentro de la principal. Se debe de dar click en la flecha de la izquierda que indica que se
tabulará 5 espacios hacia adentro.
Y se procede a escribir el Caption y el Name.
Si se desea Insertar más opciones se hace el mismo proceso, pero dependiendo si las opciones
van afuera o dentro de las mismas.
Y al culminar de ingresar se verá de la siguiente forma, y damos click.
FORMATO ALMACENAMIENTO
Un formato gráfico define la manera en que se guarda una imagen y toda la información
relacionada con la misma.
Cada formato tiene sus ventajas e inconvenientes. Unos no admiten más de 256 colores, otros
admiten una gran compresión... Veamos los más frecuentes:
GIF: Formato muy utilizado en Internet gracias a su pequeño tamaño, su inconveniente es que
admite tan sólo 256 colores. El formato 89a permite guardar archivos con opciones de
transparencia.
TIFF: Es el formato elegido para los trabajos de gran calidad de imprenta. Admite compresión
sin pérdida de calidad (LZW) y e leído tanto por sistemas PC como Mac
PALABRAS CLAVES
TOP= es el espacio que deja entre la imagen insertada y el formulario sea este abajo o arriba
Left= es el espacio que deja entre la imagen insertada y el formulario sea esta izquierdo y
derecho.
Ojo= Los valores son las posiciones entre el objeto y el formulario estos valores pueden
cambiar, verificar con la ventana de propiedades.
¿QUÉ ES EL HIPERTEXTO?
Lo primero es definir el término Hipertexto, así como otro muy similar: Hipermedia. Con
respecto a Hipertexto podemos decir que resulta difícil definir en qué consiste y varios expertos
en el tema tienen diferentes puntos de vista.
La palabra Hipertexto [2] fue acuñada hacia 1965 por Theodore Holm Nelson (quién dio forma
también a la palabra Hipermedia) y se gestó cuando estaba tomando un curso en computadores
como parte de su maestría en Sociología en la Universidad de Harvard. Tuvo entonces la idea de
diseñar un sistema para manejo de textos que permitiera a los escritores revisar, comparar y
corregir su trabajo con facilidad.
Los avances tecnológicos de las últimas décadas expandieron la noción de lo que es Hipertexto.
La siguiente descripción refleja con claridad los alcances actuales de este término.
Michael Bieber [3] define el Hipertexto como el concepto de Inter – relacionar (enlazar) piezas
de información y utilizar esos enlaces para acceder a otras piezas de información relacionadas
(un elemento de información o nodo puede ser desde una simple idea hasta la porción de un
documento). El hipertexto es una colección o una Red de nodos que están Inter-relacionados o
enlazados. Un sistema de Hipertexto le permite a un autor crear los nodos y los enlaces entre
ellos, y permite al lector recorrerlos; esto es, navegar de un nodo a otro utilizando esos enlaces.
Por lo general, el sistema de Hipertexto señala los puntos de enlace o indicadores de alguna
Muchas personas consideran que los términos Hipertexto e Hipermedia son sinónimos. En
general, el Hipertexto se refiere a elementos de texto relacionados, mientras que Hipermedia;
que es un acrónimo que combina las palabras Hipertexto y Multimedia; incluye relaciones entre
elementos de cualquier tipo de medio (texto, imágenes, sonidos, animaciones, videos, etc.). Los
conceptos son idénticos, pero el Hipertexto es más difícil de implementar en un medio no
textual.
Entre las características más importantes del hipertexto tenemos las siguientes:
Nota: El que un documento sea apropiado para este medio no garantiza que será eficaz. Los
autores necesitan todavía considerar cómo lograr que un documento sea útil para sus lectores.
De Navegación. Son los que conectan los contenidos de una Red de hipertexto y sirven como
espina dorsal de la interfaz entre el lector y el computador. Permiten al usuario encontrar un
camino entre los diferentes tópicos. Ejemplos típicos de lo anterior son los botones de las
páginas de inicio y los enlaces o vínculos con las páginas subordinadas a la página que se está
consultando.
Para organizar el material, utilice una tabla con los contenidos enlazados. Esta le
permitirá clarificar las relaciones internas entre los contenidos.
Ofrezca contenido sustancial, no una simple lista de enlaces a otras páginas.
Los enlaces deben reforzar el mensaje, no reemplazarlo.
Siempre que sea posible, utilice listas de enlaces en lugar de enlaces que estén metidos
dentro del texto.
Ubique los enlaces externos en una sección que este por fuera del texto principal.
Cuando el enlace sea externo, permita que este se abra en otra ventana del navegador.
Para el texto de los enlaces elija palabras o frases significativas con el fin de disminuir
el riesgo de que el lector se desoriente cuando se mueve a través de ellos.
Genere únicamente los enlaces que sean necesarios y relevantes o cumplan una función
específica para lograr el (los) objetivo(s) que busca o propone el documento.
FRACCIONE EL TEXTO
Así los lectores no verán un bloque sólido de texto. Esta práctica mejora la lectura en pantalla y
da descanso a los ojos. Además, ayuda a los usuarios a recuperar y procesar la información más
rápidamente y a retenerla por más tiempo.
Antes de comenzar haga un esquema de los contenidos a los que se va a referir.
Estructure el texto mediante resúmenes y tablas de contenidos.
El texto se debe fraccionar en contenidos cortos y autónomos.
Reconozca que fraccionar requiere un claro direccionamiento y buen juicio
Escriba, edite y revise los contenidos en orden aleatorio, para asegurar que leídos en
cualquier orden, se entienden.
La división debe permitir al lector seleccionar los temas de su interés y poder descargar
solamente éstos.
Titule las fracciones para identificar claramente su contenido. Los títulos y subtítulos
deben ser claros, simples y concisos
Repita la información general necesaria para contrarrestar la perdida de contexto.
Organice el texto con palabras resaltadas, listas numeradas, líneas separadoras, etc.
Utilice listas con viñetas romper la monotonía de bloques de texto uniformes.
Así, quienes desean profundizaren el tema, pueden continuar leyendo sin perjuicio de quienes
buscan rápidamente la información más relevante.
Ventajas:
1. Fácil localización de referencias. Al ser el hipertexto un medio capaz de organizar textos de
modo que estos datos admiten una lectura no-lineal, a diferencia de la lectura secuencial que se
acostumbra emplear cuando se lee un texto impreso, el usuario tiene total libertad para buscar
las referencias deseadas.
2. Fácil inclusión de nuevas referencias.
3. La información puede ser estructurada jerárquicamente. Un hipertexto es una base de
datos organizada como una red en la cual cada uno es una porción de texto unida a otros textos
mediante punteros. Los documentos se unen entre sí siguiendo una estructura jerárquica o en
red, de modo que un hiperdocumento puede leerse varias de diversas maneras.
4. La función BROWSER permite una visión global de la información.
5. La información es modular: es decir, se puede acceder a ella desde distintos puntos.
6. Es posible almacenar y manejar grandes cantidades de información. Además, los
documentos que forman parte de un hipertexto no tienen necesariamente que estar formados
solamente por textos. Pueden ser fotografías, gráficos, secuencias animadas, sonidos, etc., en
tales casos, se puede hablar de hipermedia.
7. Los hipertextos se pueden utilizar también como entornos de programación y en
aplicaciones de enseñanza y formación asistida por ordenador.
Desventajas:
El hipertexto plantea algunos problemas específicos, que derivan de su propia naturaleza y de su
capacidad de tratamiento de la información a gran escala. De su correcta solución depende nada
1. La desorientación del usuario: Esta desorientación se produce por la misma facilidad con
que en los sistemas de hipertexto podemos “navegar” por entre los nodos de información con la
libertad, de manera que es posible seguir varias líneas de interés a la vez. En un momento dado
el usuario puede tener dificultades en reconocer el significado y la situación del punto en el que
se encuentra. Esta situación se denomina “perdida en el hiper - espacio”. La solución a este
problema puede buscarse arbitrando técnicas de “orientación”, como la propia función
BROWSER: sistema gráfico de representación de los nodos de información y de las ligaduras
que los relacionan, mediante mapas conceptuales o de información.
La forma más simple del hipertexto es la unión entre nodos, también llamado hipertexto de
nodos encadenados. Este tipo de hipertexto funciona como un glosario de acceso aleatorio que
posibilita el acceso directo a cualquier nodo en el hipertexto. En el diseño del hipertexto se
pueden limitar las conexiones posibles para ayudar al usuario a prevenir el azar.
Hipertexto estructurado
En este tipo de hipertexto a los usuarios se les permite moverse hacia abajo en la jerarquía para
explorar los nodos subordinados del nodo principal. Se pueden mover hacia los lados solamente
para buscar términos relativos o sinónimos. Tal restricción permite asegurar que los usuarios
recorran completamente las relaciones jerárquicas.
FUNCIONES COMO
Procesador de texto
Gestor de BD
Programas de edición de video
Programas de edición y generación de audio
Programas de dibujo
Programas de animación
Se han escrito específicamente para las X muchas aplicaciones, entre ellas juegos, utilidades
para gráficos y para programación. y las X hacen de su sistema una estación de trabajo de toda
confianza. Con una red TCP/IP, su máquina puede visualizar aplicaciones que se estén
ejecutando en otra máquina.
Entre las aplicaciones X estándar se incluye xterm, un emulador de terminal que se usa para la
mayor parte de aplicaciones basadas en texto que se ejecutan dentro de una ventana, xdm, que
gestiona las sesiones (los 'logins'), xclock, que muestra un reloj sencillo, xman, un lector de
páginas de manual basado en las X, y xless. Las aplicaciones para X-Window son muchas;
tantas, de hecho, que son demasiadas para nombrarlas aquí, pero entre ellas se cuentan hojas de
cálculo, procesadores de texto, aplicaciones para gráficos y navegadores de internet como el
Netscape Navigator. Muchas otras aplicaciones se pueden conseguir aparte. En teoría, cualquier
aplicación escrita para las X compila sin problemas bajo .
El interfaz del sistema X-Window está controlado en gran medida por el gestor de ventanas.
Este amigable programa se encarga de situar las ventanas y el interfaz de usuario que las mueve
y las cambia de tamaño, minimiza las ventanas en iconos, y controla la apariencia de los marcos
de las ventanas, entre otras tareas. XFree86 incluye twm, el clásico gestor de ventanas del MIT,
pero también gestores avanzados como el Open Look Virtual Window Manager (olvwm). Es
popular entre los usuarios de UNIX el fvwm, un gestor de ventanas compacto que requiere
menos de la mitad de memoria que el twm. Proporciona apariencia tridimensional para las
ventanas y un escritorio virtual. El usuario mueve el ratón hasta el borde de la ventana, y el
escritorio se desplaza como si fuera mucho más grande de lo que en realidad es. Fvwm es muy
configurable y permite acceso a sus funciones tanto desde el teclado como desde el ratón.
Muchas distribuciones de han usado fvwm como su gestor de ventanas estándar. Una versión de
fvwm llamada fvwm95-2 ofrece el aspecto del sistema de ventanas Microsoft Windows.
X Window System (en español sistema de ventanas X) es un software que fue desarrollado a
mediados de los años 1980 en el MIT(INSTITUTO DE MASSACHUSETTS) para dotar de una
interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre un
usuario y una o más computadoras haciendo transparente la red para éste. Generalmente se
refiere a la versión 11 de este protocolo, X11, el que está en uso actualmente. X es el encargado
de mostrar la información gráfica de forma totalmente independiente del sistema operativo.
X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente usaba
simultáneamente la capacidad de procesamiento de un mismo computador trabajando en tiempo
compartido. Cada persona usaba un terminal en red que tenía capacidades limitadas para dibujar
la pantalla y aceptar la entrada del usuario. Debido a la ubicuidad del soporte para el software X
en Unix, es usado en los computadores personales incluso cuando no hay necesidad del tiempo
compartido.
Debido a este esquema cliente-servidor, se puede decir que X se comporta como un terminal
gráfico virtual.
El hecho que exista un estándar definido para X permite que se desarrollen servidores X para
distintos sistemas operativos y plataformas, lo que hace que el código sea muy portable. Por
ejemplo. permite tener clientes X ejecutándose en un potente servidor UNIX mientras los
resultados son visualizados en una PC de escritorio con cualquier otro sistema operativo
funcionando.
CONCEPTOS BASICOS
El display puede definirse como una o más pantallas y sus dispositivos de entrada (teclado y
dispositivo apuntador, como el raton). En principio sólo se suele disponer de un display (el
display 0, ya que estos van numerados) y una pantalla (la 0). Los displays son sistemas de
visualización de mapas de bits (también llamados bitmaps).
Un mapa de bits es una imagen formada por pixels (puntos con un valor numérico asociado
que representan un color en nuestro display), y el display es un dispositivo manejador de estos
bloques de gráficos (formados por la unidades elementales de los gráficos 2d, los pixels).
Cada posición en pantalla puede determinarse a partir de 2 valores numéricos que representan
las coordenadas del pixel (por ejemplo, (0,0) es la esquina superior izquierda de la pantalla y
(1023,767) sería la esquina inferior derecha en un display de una anchura y altura de 1024x768
pixels de resolución. Estos pixels son almacenados en una porción de memoria denominada
memoria de vídeo, donde, explicado de una manera simplista (aunque en las tarjetas de vídeo
que existen desde hace algún tiempo es así) cada pixel es representando por medio de un valor
La relación entre un valor de pixel y el color asignado a este color (por ejemplo valor 0=color
negro, 1=azul, etc.), es conocida como mapa de colores (colormap), y puede ser de 2 tipos: de
tipo tabla, como en los modos de 16 y 256 colores, donde se dispone de una tabla de tripletes
RGB (paleta) que especifica a qué color corresponde cada valor numérico, o de relación directa,
como ocurre en los modos sin paleta donde cada color se construye a partir de las componentes
RGB del color deseado y colocándo estas componentes en el lugar correcto dentro de la
videomemoria, de forma que representen el color buscado.
Los recursos son objetos almacenados en forma de información de diverso tipo en los
servidores (recursos del servidor), identificados por lo que se conoce como identificadores de
recursos. Ejemplos de recursos son las fuentes de letra, los mapas de bits (gráficos, iconos o
pixmaps), los colormaps o mapas de colores, o los cursores. La ventaja de que sea el servidor
quien almacena los recursos es que el cliente no debe preocuparse del almacenamiento de los
mismos, ni tampoco deben ser enviados por la red, ya que el programa se ejecuta en la máquina
servidora, con lo que el tamaño de los clientes en memoria es menor y no necesitan estar
obteniendo continuamente información de la red de transmisión. Cuando el cliente le pide al
servidor que cree una ventana, éste le devuelve el cliente un entero identificador de esa ventana,
valor numérico que utilizará el cliente después para referir cualquier operación (de dibujo, por
ejemplo) sobre dicha ventana. Por otra parte, las propiedades de un recurso indican las
características concretas de un recurso, de tal modo que al hablar de las propiedades de una
ventana se puede hablar de su anchura, altura, posición o color de fondo.
Por otra parte, un cursor es el símbolo gráfico (como el cursor en forma de X en X Window)
que muestra la posición actual del dispositivo apuntador, así como la información de su tamaño
y forma, y una fuente es un recurso que almacena información de cada fuente de letras (con la
que se puede escribir información textual en una pantalla gráfica), de tal modo que es posible
modificar el tipo de letra de nuestra aplicación seleccionando para la misma un nuevo
identificador de fuente.
Para utilizar un programa de cliente X sobre una máquina remota, el usuario hace lo siguiente:
El cliente X remoto entonces hará una conexión al servidor X local del usuario, proporcionando
la exhibición por pantalla y la entrada.
Alternativamente, la máquina local puede ejecutar un pequeño programa que se conecte con la
máquina remota y comience la aplicación cliente.
VENTANAS
Un cliente puede solicitar la creación de una ventana. Más precisamente, puede solicitar la
creación de una subventana para una ventana existente. Como resultado, las ventanas creadas
por los clientes se arreglan en forma de un árbol (una jerarquía). La raíz de este árbol es la
ventana raíz, que es una ventana especial creada automáticamente por el servidor en el arranque.
Todas las otras ventanas son directa o indirectamente subventanas de la ventana raíz. Las
ventanas de nivel superior son las subventanas directas de la ventana raíz. Visiblemente, la
ventana raíz es tan grande como la pantalla, y descansa detrás del resto de las ventanas. Sin
embargo la ventana raíz puede ser más grande que la pantalla, en este caso el usuario puede
desplazarse alrededor del área visible.
PIXMAP Y DRAWABLES
Un pixmap es una región de memoria que puede ser usada para dibujo (drawing) de contenido.
A diferencia de las ventanas, los pixmaps no se muestran automáticamente en la pantalla. Sin
embargo, el contenido de un pixmap (o una parte de él) puede ser transferido a una ventana y
viceversa. Esto permite técnicas tales como double buffering. La mayoría de las operaciones
gráficas que se pueden hacer en ventanas, también se pueden hacer en pixmaps.
Las ventanas y los pixmaps son colectivamente llamados drawables (dibujables), y sus
contenidos de datos residen en el servidor. Sin embargo, un cliente puede solicitar que el
contenido de un drwable sea transferido del servidor al cliente o viceversa.
El cliente puede pedir un número de operaciones gráficas, tales como limpiar un área, copiar un
área en otra, dibujar puntos, líneas, rectángulos, y texto. A menos que se diga lo contrario, todas
las operaciones son posibles en todos los drawables, tanto en las ventanas como en los pixmaps.
La mayoría de los pedidos de operaciones gráficas incluyen un contexto gráfico, que es una
estructura que contiene los parámetros de las operaciones gráficas. Un contexto gráfico incluye
el color del primero plano, el color del fondo, la fuente del texto, y otros parámetros gráficos.
Cuando se pide una operación gráfica, el cliente incluye un contexto gráfico. No todos los
parámetros del contexto gráfico afectan a la operación: por ejemplo, la fuente no tiene efecto al
dibujar una línea.
El protocolo base especifica el uso de las fuentes del lado del servidor.6 Tales fuentes son
almacenadas como archivos, y el servidor tiene acceso directamente vía el sistema de archivos
local o vía la red desde otro programa llamado servidor de fuente. Los clientes pueden pedir la
lista de fuentes disponibles al servidor y pueden solicitar que una fuente sea cargada (si ya no lo
está) o descargarla del servidor (si no es usada por otros clientes). Un cliente puede pedir la
información de carácter general sobre una fuente (por ejemplo, la "subida" (ascent) de la fuente)
y el espacio que una específica secuencia de caracteres (string) toma cuando es dibujada con
una fuente determinada.
Todos los datos sobre ventanas, pixmaps, fuentes, etc., son almacenados en el servidor. El
cliente conoce los identificadores de estos objetos - números enteros que usa como nombres
Window
Pixmap
Font
Colormap (una tabla de colores, descrita abajo)
Graphic context
Estos objetos se llaman recursos. Cuando un cliente pide la creación de uno de tales recursos,
también especifica un identificador para el mismo. Por ejemplo, para crear una nueva ventana,
el cliente especifica tanto los atributos de la ventana (padre, anchura, altura, etc.) así como
también el identificador a asociar con la ventana.
Los identificadores son números enteros de 32 bits con sus tres bits más significativos iguales a
cero. Cada cliente tiene su propio conjunto de identificadores que puede usar para crear nuevos
recursos. Este conjunto es especificado por el servidor como dos números enteros incluidos en
el paquete de aceptación (el paquete que envía al cliente para informarle que la conexión es
aceptada). Los clientes eligen los identificadores que están en este conjunto de tal manera que
no coincidan: dos objetos entre ventanas, pixmaps, fuentes, colormaps, y contextos gráficos, no
pueden tener el mismo identificador.
Una vez que se ha creado un recurso, su identificador es utilizado por el cliente para pedir
operaciones sobre él al servidor. Algunas operaciones afectan al recurso dado (por ejemplo,
peticiones de mover ventanas); otros piden datos del recurso almacenados en el servidor (por
ejemplo, pedidos para saber las propiedades de las ventanas).
Los identificadores son únicos para el servidor, no sólo para al cliente; por ejemplo, no hay dos
ventanas que tengan el mismo identificador, incluso si son creadas por dos clientes diferentes.
Un cliente puede accesar a cualquier objeto dado su identificador. En particular, también puede
tener acceso a los recursos creados por cualquier otro cliente, incluso si sus identificadores están
fuera del conjunto de identificadores que puede crear.
Como resultado, dos clientes conectados con el mismo servidor pueden usar el mismo
identificador para referirse al mismo recurso. Por ejemplo, si un cliente crea una ventana con
identificador 0x1e00021 y pasa este número a otra aplicación (vía cualquier medio disponible,
por ejemplo almacenando este número en un archivo que es también accesible a la otra
aplicación), la otra aplicación puede operar en la misma ventana. Esta posibilidad es explotada,
por ejemplo, por la versión X Window de Ghostview: este programa crea una subventana,
almacenando su identificador en una variable de entorno, y llama Ghostscript, el cual dibuja el
contenido del archivo PostScript para mostrarlo en esta ventana.9
Los recursos normalmente se destruyen cuando el cliente que los creó cierra la conexión con el
servidor. Sin embargo, antes de cerrar la conexión, un cliente puede solicitar al servidor no
destruirlos.
Los eventos son paquetes enviados por el servidor a un cliente para comunicar que ha sucedido
algo en lo que el cliente puede estar interesado. Por ejemplo, un evento es enviado cuando el
usuario pulsa una tecla o hace click con el botón del ratón. Los eventos no sólo son usados para
la entrada: por ejemplo, los eventos son enviados para indicar la creación de nuevas subventanas
en una ventana dada.
Cada evento es relativo a una ventana. Por ejemplo, si el usuario hace click cuando el puntero
del ratón está en una ventana, el evento será relativo a esa ventana. El paquete del evento
contiene el identificador de esa ventana.
Un cliente puede solicitar al servidor que envíe un evento a otro cliente; esto es usado para la
comunicación entre los clientes. Tal evento es generado, por ejemplo, cuando un cliente solicita
el texto que actualmente está seleccionado: este evento es enviado al cliente que está
actualmente manejando la ventana que tiene la selección.
El evento Expose (exposición) es enviado cuando se hace visible un área de una ventana cuyo
contenido se ha destruido. El contenido de una ventana puede ser destruido en algunas
condiciones, por ejemplo, si la ventana es cubierta y el servidor no está manteniendo un
almacenamiento de respaldo. El servidor genera un evento Expose para notificar al cliente que
una parte de la ventana tiene que ser redibujada.
La mayoría de los tipos de eventos son enviados solamente si el cliente previamente manifestó
un interés en ellos. Esto es porque los clientes pueden estar interesados solamente en una cierta
clase de eventos. Por ejemplo, un cliente puede estar interesado en eventos relacionados con el
teclado pero no en eventos relacionados con el ratón. Sin embargo, algunos tipos de eventos son
enviados a los clientes incluso si no los han pedido específicamente.
Ajustando un atributo de una ventana, los clientes especifican qué tipos de eventos quieren que
se les envíen. Por ejemplo, para redibujar una ventana cuando su contenido se ha destruido, un
cliente debe recibir los eventos Expose, que le informan que la ventana necesita ser redibujada
otra vez. Sin embargo, al cliente se le enviarán los eventos Expose solamente si el cliente ha
manifestado previamente su interés en estos eventos, que es hecho apropiadamente ajustando el
atributo de máscara del evento de la ventana.
Diferentes clientes pueden pedir eventos en la misma ventana. Pueden incluso ajustar diferentes
máscaras de evento en la misma ventana. Por ejemplo, un cliente puede solamente pedir eventos
del teclado en una ventana mientras que otro cliente pide solamente eventos del ratón en la
misma ventana. Esto es posible porque, para cada ventana, el servidor mantiene una máscara de
evento separada por cada cliente. Sin embargo, hay algunos tipos de eventos que pueden ser
seleccionados solamente por un cliente a la vez para cada ventana. En particular, los eventos
que reportan los click del botón del ratón y algunos cambios relacionados al manejo de la
ventana.
El programa xev muestra los eventos relativos a una ventana. En particular, xev -id WID pide
todos los eventos posibles relativos a la ventana del identificador WID y los imprime.
En el nivel del protocolo, un color es representado por un entero sin signo de 32 bits, llamado
un pixelvalue (valor del pixel). Los elementos siguientes afectan la representación de los
colores:
1. la profundidad de color
2. el colormap (mapa de color), el cual es una tabla conteniendo los valores de intensidad
de los colores primarios rojo, verde y azul
3. el visual type (tipo visual), que especifica cómo es usada la tabla para representar
colores
En el caso más fácil, el colormap es una tabla conteniendo un triple RGB en cada fila. Un
pixelvalue x representa el color contenido en la fila x de la tabla. Si el cliente puede cambiar las
entradas en el colormap, esta representación es identificada por la clase visual PseudoColor. La
clase visual StaticColor (color estático) es similar, pero el cliente no puede cambiar las entradas
en el colormap.
Hay un total de seis clases visuales posibles, cada una identificando una manera diferente para
representar un triple RGB con un pixelvalue. PseudoColor y StaticColor son dos. El GrayScale
(escala de gris) y StaticGray (gris estático) son otras dos, diferenciándose de las anteriores
porque solamente son usadas tonalidades de gris.
Las dos clases visuales que quedan difieren de las de arriba porque dividen los pixelvalues en
tres partes y usan tres tablas separadas para la intensidad del color rojo, verde y azul. De
acuerdo a esta representación de color, un pixelvalue se convierte en un triple RGB como sigue:
Este mecanismo requiere que el colormap sea compuesto de tres tablas separadas, una para cada
color primario. El resultado de la conversión sigue siendo un triple de valores de intensidad. Las
clases visuales usando esta representación son el DirectColor (color directo) y el TrueColor
(color verdadero), diferenciándose en si el cliente puede cambiar o no los colormaps.
Para representar colores con los pixelvalues, todos estos seis mecanismos requieren algunos
parámetros adicionales para trabajar. Estos parámetros se recogen en un visual type (tipo
virtual), que contiene una clase visual y otros parámetros de la representación de colores. Cada
servidor tiene un conjunto fijo de visualtypes, cada uno asociado a un identificador numérico.
Estos identificadores son enteros sin signo de 32 bits, pero no son necesariamente diferentes de
los identificadores de recursos o de átomos.
Para cada tipo visual, el paquete de aceptación contiene tanto su identificador como los
parámetros reales que contiene (visual classs, etc). los clientes almacenan esta información,
puesto que no pueden pedirla después. Por otra parte, los clientes no pueden cambiar o crear
nuevos tipos visuales. Los pedidos para la creación de una nueva ventana incluyen la
profundidad y el identificador del tipo visual a usar para representar los colores de esta ventana.
Los Colormaps son usados sin importar si el hardware que controla la pantalla (ej., una tarjeta
gráfica), usa una paleta de colores, la cual es una tabla que también es usada para la
representación de colores. Los servidores usan los colormaps incluso si el hardware no está
usando una paleta de colores. Cuando el hardware usa las paletas de colores, sólo un número
limitado de colormaps pueden ser instalados. Particularmente, un colormap está instalado
cuando el hardware muestra colores de acuerdo al mismo. Un cliente puede solicitar el servidor
instalar un colormap. Sin embargo, esto puede requerir la desinstalación de otro colormap: el
efecto es que las ventanas usando el colormap desinstalado no serán mostradas con el color
correcto, un efecto llamado como color flashing o tecnicolor. Este problema puede ser
solucionado usando los colormaps estándar, que son colormaps con una asociación predecible
entre los pixelvalues y los colores. Gracias a esta característica, los colormaps estándar pueden
ser usados por varias aplicaciones.
La creación de colormaps es regulada por la convención ICCCM. Los colormaps estándar son
regulados por el ICCCM y por la especificación Xlib.
Una parte del sistema X Color System (Sistema de Color X) es el X Color Management System
(xcms) (Sistema de Manejo de Color X). Este sistema fue introducido con el X11R6 Release 5
en 1991. Este sistema consiste en varias características adicionales en xlib, encontradas en la
serie de funciones Xcms*. Este sistema define los esquemas de color independientes del
dispositivo que se pueden convertir en sistemas RGB dependientes del dispositivo. El sistema
consiste en las funciones Xcms* del xlib como también la X Device Color Characterization
Convention (XDCCC) que describe cómo convertir los varios sistemas de color independientes
del dispositivo en sistemas de color RGB dependientes del dispositivo. Este sistema soporta los
sistemas de color CIE XYZ, xyY, L *u*v y L *a*b también como el TekHVC
Átomos
Los átomos son enteros de 32 bits representando strings. Los diseñadores del protocolo
introdujeron los átomos porque representan strings en un tamaño corto y fijo:10 mientras que un
string puede ser arbitrariamente largo, un átomo es siempre un entero de 32 bits. La brevedad
del átomo fue explotada asignando por mandato su uso en las clases de paquetes que son
probables de ser enviados muchas veces con los mismos strings; esto resulta en un uso más
eficiente de la red. El de tamaño fijo de los átomos fue explotado especificando un de tamaño
fijo para los eventos, nombrado 32 bytes: los paquetes de tamaño fijo pueden contener átomos,
mientras que no pueden contener strings largos.
Los átomos son identificadores y son por lo tanto únicos. Sin embargo, un átomo y un
identificador de recurso pueden coincidir. El string asociado con un átomo es llamado el nombre
del átomo. El nombre de un átomo no puede ser cambiado después de la creación, y ninguno de
dos átomos pueden tener el mismo nombre. Como resultado, el nombre de un átomo es
comúnmente usado para indicar al átomo: "El átomo ABCD" significa, más precisamente, "el
átomo cuyo string asociado es ABCD", o "el átomo cuyo nombre es ABC". Un cliente puede
solicitar la creación de un nuevo átomo y puede solicitar para el átomo (el identificador) de un
string dado. Algunos átomos están predefinidos (creado por el servidor con un identificador y
string dados).
Los átomos son usados para un número de propósitos, sobre todo relacionados con la
comunicación entre diversos clientes conectados con el mismo servidor. En particular, son
usados en asociación con las propiedades de las ventanas, que son descritas más abajo.
La lista de todos los átomos que residiendo en un servidor puede ser impresa usando el
programa xlsatoms. En particular, este programa imprime cada átomo (el identificador, es decir,
un número) con su nombre (su string asociado).
Propiedades
Una propiedad es caracterizada por un nombre, un tipo, y un valor. Las propiedades son
similares a las variables en lenguajes de programación imperativos, en que un cliente puede
crear una nueva propiedad con un nombre y un tipo dados y almacenar un valor en él. Las
propiedades están asociadas a las ventanas: dos propiedades con el mismo nombre pueden
existir en dos diferentes ventanas mientras tengan diferentes tipos y valores.
El nombre, el tipo, y el valor de una propiedad son strings; más precisamente, son átomos, es
decir, string almacenadas en el servidor y accesibles a los clientes vía identificadores. Una
aplicación de cliente puede acceder a una propiedad dada usando el identificador del átomo que
contiene el nombre de la propiedad.
PROGRAMACION EN XWINDOW
A mis estudiantes les deseo suerte, tienen que analizar, reflexionar y re-escribir los programas
presentados y experimentar cambios.
#include <X11/Xlib> /* A */
#include <X11/Xutil.h>
#include <stdio.h>
main()
{
Display *display; /* B */
Window ventana;
A.-incluye los ficheros de cabecera necesarios para usar la Xlib. En ellos se definen estructuras,
macros y constantes.
B.-declara las variables de los tipos necesarios para las llamadas a la Xlib.
E.-mapea la ventana. Esto es necesario porque una ventana creada no es visible hasta que no se
mapea.
G.-espera a que se pulse una tecla. Cuando el programa termina, se ejecuta automaticamente el
procedimiento de cierre y la ventana desaparece.
Para compilar un programa cuyo fichero fuente sea xprog.c el comando es el siguiente:
y para ejecutarlo
xprog
Abrir el display
Para obtener informacion sobre el display conectado o sobre el servidor de display a partir de la
estructura devuelta por XOpenDisplay se pueden usar macros especiales en C o sus
correspondientes funciones equivalentes en otros lenguajes.
La sintaxis incluye las macros y sus correspondientes funciones. En C pueden usarse ambas
versiones, en otros lenguajes solo se pueden usar las funciones. Para saber que vendedor
proporciona el servidor pueden usarse:
ServerVendor(display )
estos valores pueden usarse para especificar los colores de las ventanas o de los graficos. Para
conocer el numero de la pantalla por defecto (normalmente 0):
DefaultScreen( display )
DefaultRootWindow( display )
main()
{
Display *d;
char *vendedor;
int pantalla, anchura, altura;
unsigned long blanco, negro;
d = XOpenDisplay( NULL );
pantalla = DefaultScreen( d );
vendedor = ServerVendor( d );
anchura = DisplayWidth( d, pantalla );
altura = DisplayHeight( d, pantalla );
blanco = WhitePixel( d, pantalla );
negro = BlackPixel( d, pantalla );
6.- Que se debe de hacer para utilizar un programa de cliente X-Windows es una máquina
remota?
Un buen diseño es la mejor expresión visual de la escencia de "algo", bien sea un mensaje o un
producto. Para hacerlo fiel y eficaz, el diseñador debe buscar la mejor forma de que ese
"ALGO" sea conformado, usado, distribuido y relacionado a su ambiente. Esta creación deberá
estética y funcionalmente reflejar el gusto de su época.
Lenguaje Visual
Es la base de creación en diseño.
Es el seguimiento de unas reglas o conceptos en cuanto a la conformación visual.
Sus leyes no son obvias.
En el diseño de interfaces, el lenguaje visual es la utilización de un conjunto de imágenes y
objetos gráficos (iconos, ventanas, tipografía, imágenes, fotografías, ilustraciones, textos,
videos, animaciones, menus, etc) para representar la información y acciones disponibles en la
interfaz.
Los objetos que se integran en la Interfaz Gráfica de Usuario (GUI), se disponen en el plano
llamado pantalla de manera ordenada siguiendo conceptos de diseño básico como pueden ser:
Elementos conceptuales
Elementos Visuales
Elementos Relacionales
Elementos Prácticos
Conceptuales: Son los que realmente no están en el plano, pero se pueden deducir:
1. Punto: Por ejemplo, una flor roja en un jardín de donde predomine el amarillo.
2. Línea: Una fotografía arquitectónica las refleja.
3. Plano: Una área de cualquier forma geométrica coloreada.
4. Volumen: Objetos que tengan profundidad volumétrica.
Visuales:
Relacionales: Nos ubican dentro del espacio y pueden ser sentidos aunque no literalmente como
la gravedad y el espacio. Otros más obvios, pueden ser percibidos claramente como la dirección
y la posición.
SERVICIOS MULTIMEDIA
Introducción a los servicios de Alojamiento y gestión de material multimedia
La web 2.0 ha introducido una enorme variedad tanto en recursos multimedia, como en
temáticas y como no en educación. El explosivo crecimiento de este tipo de recursos multimedia
es debido sobre todo a que los internautas son los creadores del contenido, gracias a
herramientas de sencillo manejo. Debido al crecimiento de estas herramientas multimedia se nos
hace necesaria para los cursos modalidad e-learning. Vamos a utilizar Flickr, Slideshare y
Youtube, que pueden ser utilizados directamente como enlaces a direcciones web externas.
Estos recursos para el proceso de Enseñanza-aprendizaje se irá diseñando a lo largo del curso
dependiendo de los temas que se vayan realizando y se utilizaran como: enlace de interés,
ampliación de conocimientos, desarrollo de una actividad o tarea, apoyo para un trabajo de
investigación individual o grupal, recursos para un foro de debate, etc.
EJEMPLO DE SERVICIOS MULTIMEDIA.
FLICKR. INTRODUCCIÓN
Flickr es posiblemente el sitio más popular para alojar y compartir fotografías en internet es un
buen ejemplo de los servicios de la Web 2.0. Su popularidad está basada básicamente en sus
herramientas para la organización de las fotografías, etiquetado y navegación por temas. Fue
desarrollada por Ludicorp en el año 2004, en 2008 incorporo la posibilidad de subir vídeos de
pequeño tamaño (90 segundo y 150 Mb como máximo).
CREACIÓN DE UNA CUENTA EN FLICKR
1. Entrar en www.flickr.com y pulsamos crear tu cuenta.
2. Si tenemos cuenta en yahoo introducimos usuario y contraseña, si no estamos dados de alta
pulsamos abajo del todo en registadme.
3. A continuación rellenamos los datos que aparecen en el formulario.
4. Nos saldrá una pantalla confirmando que hemos realizado bien los pasos y pulsamos en
continuar para comenzar a utilizar Flickr.
5. Nos salen dos opciones: o crear una cuenta nueva con nuestra ID de Yahoo o vincularla con
una cuenta previamente creada en Flickr.
6. Una vez dentro nos da por primera vez tres opciones: cargar nuestra primera foto, leer las
normas de la comunidad o bien explorar Flickr.
CARGANDO NUESTRAS PRIMERAS FOTOS
Tras pulsar sobre Carga tu primera foto o vídeo, tendremos que realizar dos sencillos pasos:
Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con
los requisitos es una falta de calidad.
Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma
en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá
falta de calidad.
Existen algunos requisitos implícitos o expectativas que a menudo no se mencionan, o se
mencionan de forma incompleta (por ejemplo el deseo de un buen mantenimiento) que también
pueden implicar una falta de calidad.
La política establecida debe estar sustentada sobre tres principios básicos: tecnológico,
administrativo y ergonómico.
El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software.
El principio administrativo contempla las funciones de planificación y control del desarrollo
del software, así como la organización del ambiente o centro de ingeniería de software.
El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado.
La adopción de una buena política contribuye en gran medida a lograr la calidad del software,
pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluación.
A partir del siguiente gráfico se observa la interrelación existente entre la Gestión de la Calidad,
el Aseguramiento de la Calidad y el Control de la Calidad.
La gestión de la calidad
El aseguramiento de la calidad
El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a
desarrollarla. Hay quienes prefieren decir garantía de calidad en vez de aseguramiento.
La garantía, puede confundir con garantía de productos, mientras que el aseguramiento pretende
dar confianza en que el producto tiene calidad.
El aseguramiento de calidad del software está presente en:
El control de la calidad
Se debe conocer:
Control de calidad: "Conjunto de técnicas y actividades de carácter operativo,
utilizadas para verificar los requerimientos relativos a la calidad del producto o
servicio".
Control de la calidad del software: Técnicas y actividades de carácter operativo,
utilizadas para verificar los requisitos relativos a la calidad, centradas en mantener bajo
control el proceso de desarrollo y eliminar las causas de los defectos en las diferentes
fases del ciclo de vida.
El control de la calidad del software está centrado en dos objetivos fundamentales:
Mantener bajo control un proceso.
Eliminar las causas de los defectos en las diferentes fases del ciclo de vida.
En general, se puede decir que el control de la calidad del software son las actividades para
evaluar la calidad de los productos desarrollados.
Que una empresa tenga implantado un sistema de gestión de la calidad, sólo quiere decir que esa
empresa gestiona la calidad de sus productos y servicios de una forma ordenada, planificada y
controlada.
Las normas de producto son diferentes a las normas de sistemas de gestión de la calidad.
Una norma de producto puede ser el marcado CE, la marca N de producto homologado por
AENOR, la marca GS de TÜV Product, y nos indican las características mínimas que el
producto cumple en materia de seguridad.
Normas de sistemas de gestión las hay de calidad (ISO 9001), de medioambiente (ISO 14001),
del sector de automoción (ISO/TS 16949) y de seguridad (OSHAS).
Las ventajas de implantar un sistema de gestión de la calidad son las siguientes:
Aumento de beneficios.
Los ocho principios de la gestión de la calidad identificados para lograr los objetivos de la
calidad, según "ISO 9000:2000 Sistemas de Gestión de la Calidad. Fundamentos y
vocabulario." son:
1. Enfoque al cliente. Las organizaciones dependen de sus clientes y por la tanto deberían
comprender las necesidades actuales y futuras de los clientes, satisfacer los requisitos de
los clientes y esforzarse en exceder las expectativas de los clientes.
2. Liderazgo. Los líderes establecen la unidad de propósito y la orientación de la
organización. Ellos deberían crear y mantener un ambiente interno, en el cual el
personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la
organización.
3. Participación del personal. El personal, a todos los niveles, es la esencia de una
organización y su total compromiso posibilita que sus habilidades sean usadas para el
beneficio de la organización.
4. Enfoque basado en procesos. Un resultado deseado se alcanza más eficientemente
cuando las actividades y los recursos relacionados se gestionan como un proceso.
5. Enfoque de sistema hacia la gestión. Identificar, entender y gestionar los procesos
interrelacionados como un sistema, contribuye a la eficacia y eficiencia de una
organización en el logro de sus objetivos.
6. Mejora continua. La mejora continua del desempeño global de la organización debería
ser un objetivo permanente de ésta.
7. Enfoque basado en hechos para la toma de decisiones. Las decisiones eficaces se
basan en el análisis de los datos y la información.
8. Relación mutuamente beneficiosa con el proveedor. Una organización y sus
proveedores son interdependientes, y una relación mutuamente beneficiosa aumenta la
capacidad de ambos para crear valor.
FACTORES DE CALIDAD DE SOFTWARE
CORRECION.- Es la capacidad de los productos software para realizar con exactitud las tareas
expresadas en su especificación.
ROBUSTEZ.- Es la capacidad de los productos software de reaccionar apropiadamente ante
condiciones excepcionales (indica el correcto flujo de ejecución del código)
EFICIENCIA.- Es la capacidad del software para hacer un buen uso de los recursos que
manipula
PORTABILIDAD.- Es la facilidad con que un sistema software puede ser migrado entre
diferentes plataformas hardware o software.
INTEGRIDAD.- Es la característica de un sistema de ser capaz de proteger sus diferentes
componentes contra los procesos o elementos que no tengan derecho de acceso a los mismos.
FACILIDAD DE USO.- Es la facilidad con la que el usuario puede interactuar con un sistema
software
3.- Realice un mapa mental sobre los principios básicos de la calidad del software
4.- Escriba 2 ideas principales de la gestión de calidad.
5.- Escriba en donde está presente el aseguramiento de calidad del software
6.- Escribas donde se detallan las actividades para el aseguramiento
7.- Escriba los métodos del aseguramiento
8.- Realice un mapa mental sobre El control de calidad
9.- Escriba la definición de gestión de calidad.
10.- Escriba las partes que componen el sistema de gestión
11.- Escriba las ventajas de implantar un sistema de gestión de calidad
12.- Realice una matriz con los 8 principios de la calidad ISO 9000:2000
13.- Realice una matriz sobre los factores de la calidad del software