lunes, 12 de mayo de 2008

cUmUlAdores


En un CPU de computadora, el acumulador es un registro en el que son almacenados temporalmente los resultados aritméticos y lógicos intermedios que serán tratados por la Unidad aritmético-lógica (ALU).

Sin un registro como un acumulador, sería necesario escribir el resultado de cada cálculo (como adición, multiplicación, desplazamiento (shift), etc.) en la memoria principal, quizás justo para ser leída inmediatamente otra vez para su uso en la siguiente operación. El acceso a la memoria principal es significativamente más lento que el acceso a un registro como el acumulador porque la tecnología usada para la memoria principal es más lenta (pero más barata) que la usada para un registro interno del CPU.

El ejemplo canónico para el uso del acumulador es cuando se suma una lista de números. El acumulador es puesto inicialmente a cero, entonces cada número es sumado al valor en el acumulador. Solamente cuando se han sumado todos los números, el resultado mantenido en el acumulador es escrito a la memoria principal o a otro, registro no-acumulador del CPU.

Los CPUs modernos generalmente tienen muchos registros, todos o muchos de ellos pueden ser capaces de ser utilizados para los cálculos. En una arquitectura de computadora, la característica que distingue un registro acumulador de uno que no lo sea, es que el acumulador puede ser usado como operando implícito para las instrucciones aritméticas (si la arquitectura fuera a tener alguno).

Por ejemplo, una computadora pudede tener una instrucción como:

Add DireccionDeMemoria

Esta instrucción agregaría el valor leído en la posición de memoria indicada en DireccionDeMemoria al valor del acumulador, poniendo el resultado en el acumulador. El acumulador no es identificado en la instrucción por un número del registro; es implícito en la instrucción y ningún otro registro puede ser especificado en la instrucción. Algunas arquitecturas utilizan un registro particular como acumulador en algunas instrucciones, pero en otras instrucciones usan números de registros como especificación explícita del operando.

En la común arquitectura de microprocesadores x86, se pueden usar una diversidad de registros como acumuladores para las operaciones artiméticas-lógicas (como EAX, EBX, ECX, etc.), pero para la multiplicación y división, se usa de una manera implícita el registro EAX (o alguno de sus subcomponentes (AX ó AL), en conjunto con el registro EDX y sus subcomponentes.

CoNtAdOr



En electrónica digital, un contador (counter en inglés) es un circuito secuencial construido a partir de biestables y puertas lógicas capaz de realizar el cómputo de los impulsos que recibe en la entrada destinada a tal efecto, almacenar datos o actuar como divisor de frecuencia. Habitualmente, el cómputo se realiza en un código binario, que con frecuencia será el binario natural o el BCD natural (contador de décadas).

Existen diversos tipos de contadores:

* Contadores de rizado.
* Contadores paralelos.
* Contadores de rizado mod-6.
* Contador Johnson. Activa una sola salida entre varias. En respuesta al pulso de conteo, la salida siguiente pasa a ser la activa. No se emplea un contador binario seguido de un decodificador debido a que, al conmutar entre dos estados, podría producir pulsos espúreos en otras salidas. El 4017 es un contador johnson de 10 estados.

“Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Los incrementos son generalmente de uno en uno.”

Válvulas termoiónicas [editar]

También se pueden construir contadores basados en tubos termoiónicos. Son dos tipos, de funcionamiento totalmente diferente:

* Decatrón
* Trocotrón

bUcLe WhIlE



El Bucle while o bucle mientras es una estructura de la mayoría de los lenguajes de programación estructurados cuyo propósito es repetir un bloque de código mientras una condición se mantenga verdadera.
La sintaxis en pseudocódigo es la siguiente:

while '''(Condición)'''
Operación
Operación
Operación
Operación
...
fin while

Condición [editar]

La condición ha de ser una sentencia que devuelva un valor booleano, y esta puede ser el valor booleano en sí, verdadero(true) si la condición se cumple, o falso si esta no se cumple(false). También puede contener el nombre de una variable booleana, y el valor de la expresión dependerá de su contenido. Se debe tener en cuenta que además de las variables y también pueden haber allí llamadas a funciones que devuelvan un valor.

Sentencias Comparativas [editar]

La forma más obvia tal vez, y la más usada sin duda, son las sentencias comparativas, que usan los operandos igual, diferente, menor o igual, mayor o igual, menor y mayor. En el caso del lenguaje C, se utilizan los siguientes símbolos para representar las comparaciones anteriores: ==, !=, <=, >=, <, >.

Particularidades de lenguajes [editar]

En algunos lenguajes, se pueden utilizar variables no booleanas en la comparación: Por ejemplo, si vale 0 será como si la condición no se cumpliera, y siempre que sea diferente de 0, se considerará que la condición se cumple.

Ejemplo (usando sintaxis de C) [editar]

int Tecla = 0;
while(Tecla == 0)
{
Tecla = readkey(); /* Intentamos leer una pulsación de tecla*/
}

En este ejemplo lo que hacemos es que el programa se ature hasta que el usuario pulse una tecla, con lo que cambiará el valor de la variable "Tecla".

Ejemplo (usando el lenguaje Lexico)

Genera y muestra los primeros 10 números naturales:

tarea
{
el objeto número_natural es una cantidad
copie 0 en número_natural
mientras número_natural < 10 haga:
{
copie número_natural + 1 en número_natural
muestre número_natural

BuClE fOr



El bucle for o ciclo for es una estructura de control en la que se puede indicar el número máximo de iteraciones. Está disponible en casi todos los lenguajes de programación imperativos.

Elementos del bucle [editar]

* Variable de control: prácticamente un mandato impuesto por el uso habitual es utilizar la letra i como variable de control, o bien sus sucesoras en caso de bucles anidados. El uso de esta letra críptica quizás a primera vista es sin embargo una excelente forma de aportar agilidad de lectura al código por su uso tan extensivo. Como raras veces los bucles anidados superan las tres dimensiones (por una sencilla cuestión de explosión exponencial), las letras i, j y k suelen ser las únicas relacionadas con este uso. En C se define en el primer parámetro de la instrucción junto con la inicialización (opcional).

* Inicialización de la variable de control: en pseudolenguaje se pide explicitarlo (es la sección := ValorInicial), sin embargo, otros lenguajes más permisivos como C no lo requieren de forma obligatoria. De todos modos, la práctica de utilizar variables de control que no se inicializan en el bucle no es recomendada para la legibilidad del código. En C se define en el primer parámetro del bucle junto con la variable de control.

* Condición de control: en pseudolenguaje se ve representado por el valor final que puede tomar la variable de control (la sección A ValorFinal). En C es el segundo parámetro y puede ser cualquier condición (ni siquiera es obligación que esté la variable de control, aunque una vez más, esto no se considera una buena práctica).

* Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier número entero (léase bien entero, o sea que técnicamente podemos decrementar). En C es el último parámetro.

* Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. En pseudolenguaje pesa la restricción de no poder alterar el valor de la variable de control; esto no es requerido en C, pero no se considera una buena práctica.
Usos [editar]

Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren según el índice. Por esto último, una condición mínima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programación.
For en pseudolenguaje [editar]

La principal diferencia de un bucle PARA con respecto a los bucles MIENTRAS Y REPETIR, es que puede determinarse al comienzo del bucle cuántas veces se iterará el mismo, lo cual muchas veces puede redundar en una optimización del código por parte de los compiladores. Los condicionales constituyen junto con los bucles los pilares de la programación estructurada, y su uso es una evolución de una sentencia de lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición.

El bucle PARA se ha convertido en el bucle más ampliamente utilizado en la programación, ya que con la evolución de los lenguajes la mayoría de las condiciones de fin (casi siempre la longitud de un vector) puede determinarse con una función. Un ejemplo claro es el reemplazo del código de recorrido de una tabla:

PSEUDOLENGUAJE

MIENTRAS NoFinDeTabla(tabla) HACER
PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN MIENTRAS

Es lo mismo decir:

PARA i := 0 a CantidadRegistros(tabla) - 1, PASO = 1
PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN PARA

Otro uso común es utilizar los bucles PARA para recorrer vectores de dos o más dimensiones, en cuyo caso se anidan estas iteraciones.

PSEUDOLENGUAJE

Vector a[3][4][2]. // Estamos indicando un vector de 3 dimensiones y 24 elementos en total.
PARA i:= 0 A 2 HACER
PARA j:= 0 A 3 HACER
PARA k:= 0 A 1 HACER
HacerAlgo(a[i][j][k])
FIN PARA
FIN PARA
FIN PARA


Ejemplo de PARA en pseudolenguaje [editar]

PARA VariableControl := ValorInicial A ValorFinal, PASO = Incremento
Cuerpo
FIN PARA

donde VariableControl, ValorInicial, ValorFinal y Paso son enteros. La(s) instrucción(es) del cuerpo se ejecutará(n) (ValorFinal - ValorInicial + 1) veces, o sea que va desde ValorInicial a ValorFinal inclusive.

Ejemplo en C [editar]

# include
void main()
{
int vector[10], i;
for(i = 0; i < 10; i++)
{
vector[i] = i;
}
}

En la definición del for, tenemos que la variable de control i se inicializa en un valor 0, luego se entrega la condición de control que debe ser falsa durante su ejecución, para completar el ciclo; y por último, tenemos el incrementador en una unidad.

Si por ejemplo en la condición colocamos i < 11, entonces el ciclo for se ejecutará desde [0...10], lo cual, al intentar acceder al elemento vector[10], esto generará error, ya que el vector (por definición) va desde [0..(n-1)].

Ejemplo anterior escrito en Lexico [editar]

tarea
{
los objetos vector[10], i son cantidades
variando i desde 0 hasta 9 haga
copie i en vector[i]
}

Bucle Por Cada (For Each) [editar]

Este bucle es una evolución del concepto del bucle Para en algunos lenguajes. Se utiliza para recorrer estructuras repetitivas de datos de forma más simple y ágil. El bucle For Each puede describirse genéricamente (en pseudolenguaje) de la siguiente manera:

POR CADA elemento DE tipo EN conjunto HACER
Cuerpo
FIN FOR EACH

* Elemento: es el nombre de la variable u objeto que toma el elemento iterado en el cuerpo del bucle.
* Tipo de Dato: es el tipo de variable o la clase a la que pertenece el objeto que se quiere iterar.
* Conjunto: es la estructura de datos que se quiere iterar. El uso más típico es con vectores o -en programación orientada a objetos- clases del tipo Colección.
* Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. Si bien no se impone una obligación al respecto, lo más común es que en este Cuerpo exista alguna operación sobre el elemento iterado.

Necesidad de una nueva estructura de control [editar]

Esta estructura surge como una innovación en los lenguajes para permitir un código más ágil y legible en una situación que es una de las principales causas del uso del bucle PARA: aplicar la misma operación sobre todos los elementos de un vector, y no necesitar conocer la posición del elemento en el vector. Esta estructura con el bucle PARA se resuelve de la siguiente manera:

PARA i := 1 A Vector.tamaño() HACER
Vector[i] = AlgunaOperación(Vector[i])
FIN PARA

Donde i es la variable de control y Vector una estructura de datos.

Con el bucle POR CADA esto se reduce a:

POR CADA x DE tipo EN Vector HACER
x = AlgunaOperación(x)
FIN PARA

Las ventajas de utilizar la estructura POR CADA son las siguientes:

1. No es necesario llamar a una función que obtenga el tamaño del vector
2. No es necesario utilizar la incómoda notación de subíndices para referirnos al valor en cuestión, sobre todo teniendo en cuenta que si utilizamos esta estructura es porque no necesitamos el valor del índice.
3. Nos permite hacer un chequeo en tiempo de compilación sobre el tipo de dato que representa el elemento.


El bucle POR CADA no es un sustituto del PARA, es una mejora para el muy frecuente caso anteriormente mencionado. La diferencia esencial entre el bucle PARA y el POR CADA es que en el primero guía su iteración por una variable que se incrementa hasta cierto punto de corte; en cambio en el segundo lo que guía la iteración es el recorrido de todos los elementos de un vector. Ciertamente podemos transformar cualquier POR CADA en un PARA, pero transformar un bucle PARA en un bucle POR CADA requeriría inicializar y controlar manualmente las variables de control, con lo cual se perdería nuevamente legibilidad en el código. Por tanto, cuando en un lenguaje se nos da la posibilidad de utilizar ambas estructuras, la elección del POR CADA debe hacerse en aquellos casos para los que fue pensado: aplicar la misma operación a todos los elementos de un vector sin importar el orden en que se hagan; si bien no es necesario que la variable elemento sea utilizada en el cuerpo del bucle, su ausencia denota con seguridad una mala elección de estructura de control.

For en pseudolenguaje [editar]

La principal diferencia de un bucle PARA con respecto a los bucles MIENTRAS Y REPETIR, es que puede determinarse al comienzo del bucle cuántas veces se iterará el mismo, lo cual muchas veces puede redundar en una optimización del código por parte de los compiladores. Los condicionales constituyen junto con los bucles los pilares de la programación estructurada, y su uso es una evolución de una sentencia de lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición.

El bucle PARA se ha convertido en el bucle más ampliamente utilizado en la programación, ya que con la evolución de los lenguajes la mayoría de las condiciones de fin (casi siempre la longitud de un vector) puede determinarse con una función. Un ejemplo claro es el reemplazo del código de recorrido de una tabla:

PSEUDOLENGUAJE

MIENTRAS NoFinDeTabla(tabla) HACER
PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN MIENTRAS

Es lo mismo decir:

PARA i := 0 a CantidadRegistros(tabla) - 1, PASO = 1
PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN PARA

Otro uso común es utilizar los bucles PARA para recorrer vectores de dos o más dimensiones, en cuyo caso se anidan estas iteraciones.

PSEUDOLENGUAJE

Vector a[3][4][2]. // Estamos indicando un vector de 3 dimensiones y 24 elementos en total.
PARA i:= 0 A 2 HACER
PARA j:= 0 A 3 HACER
PARA k:= 0 A 1 HACER
HacerAlgo(a[i][j][k])
FIN PARA
FIN PARA
FIN PARA


Ejemplo de PARA en pseudolenguaje [editar]

PARA VariableControl := ValorInicial A ValorFinal, PASO = Incremento
Cuerpo
FIN PARA

donde VariableControl, ValorInicial, ValorFinal y Paso son enteros. La(s) instrucción(es) del cuerpo se ejecutará(n) (ValorFinal - ValorInicial + 1) veces, o sea que va desde ValorInicial a ValorFinal inclusive.

Ejemplo en C [editar]

# include
void main()
{
int vector[10], i;
for(i = 0; i < 10; i++)
{
vector[i] = i;
}
}

En la definición del for, tenemos que la variable de control i se inicializa en un valor 0, luego se entrega la condición de control que debe ser falsa durante su ejecución, para completar el ciclo; y por último, tenemos el incrementador en una unidad.

Si por ejemplo en la condición colocamos i < 11, entonces el ciclo for se ejecutará desde [0...10], lo cual, al intentar acceder al elemento vector[10], esto generará error, ya que el vector (por definición) va desde [0..(n-1)].

Ejemplo anterior escrito en Lexico [editar]

tarea
{
los objetos vector[10], i son cantidades
variando i desde 0 hasta 9 haga
copie i en vector[i]
}

Bucle Por Cada (For Each) [editar]

Este bucle es una evolución del concepto del bucle Para en algunos lenguajes. Se utiliza para recorrer estructuras repetitivas de datos de forma más simple y ágil. El bucle For Each puede describirse genéricamente (en pseudolenguaje) de la siguiente manera:

POR CADA elemento DE tipo EN conjunto HACER
Cuerpo
FIN FOR EACH

* Elemento: es el nombre de la variable u objeto que toma el elemento iterado en el cuerpo del bucle.
* Tipo de Dato: es el tipo de variable o la clase a la que pertenece el objeto que se quiere iterar.
* Conjunto: es la estructura de datos que se quiere iterar. El uso más típico es con vectores o -en programación orientada a objetos- clases del tipo Colección.
* Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. Si bien no se impone una obligación al respecto, lo más común es que en este Cuerpo exista alguna operación sobre el elemento iterado.

Necesidad de una nueva estructura de control [editar]

Esta estructura surge como una innovación en los lenguajes para permitir un código más ágil y legible en una situación que es una de las principales causas del uso del bucle PARA: aplicar la misma operación sobre todos los elementos de un vector, y no necesitar conocer la posición del elemento en el vector. Esta estructura con el bucle PARA se resuelve de la siguiente manera:

PARA i := 1 A Vector.tamaño() HACER
Vector[i] = AlgunaOperación(Vector[i])
FIN PARA

Donde i es la variable de control y Vector una estructura de datos.

Con el bucle POR CADA esto se reduce a:

POR CADA x DE tipo EN Vector HACER
x = AlgunaOperación(x)
FIN PARA

Las ventajas de utilizar la estructura POR CADA son las siguientes:

1. No es necesario llamar a una función que obtenga el tamaño del vector
2. No es necesario utilizar la incómoda notación de subíndices para referirnos al valor en cuestión, sobre todo teniendo en cuenta que si utilizamos esta estructura es porque no necesitamos el valor del índice.
3. Nos permite hacer un chequeo en tiempo de compilación sobre el tipo de dato que representa el elemento.


El bucle POR CADA no es un sustituto del PARA, es una mejora para el muy frecuente caso anteriormente mencionado. La diferencia esencial entre el bucle PARA y el POR CADA es que en el primero guía su iteración por una variable que se incrementa hasta cierto punto de corte; en cambio en el segundo lo que guía la iteración es el recorrido de todos los elementos de un vector. Ciertamente podemos transformar cualquier POR CADA en un PARA, pero transformar un bucle PARA en un bucle POR CADA requeriría inicializar y controlar manualmente las variables de control, con lo cual se perdería nuevamente legibilidad en el código. Por tanto, cuando en un lenguaje se nos da la posibilidad de utilizar ambas estructuras, la elección del POR CADA debe hacerse en aquellos casos para los que fue pensado: aplicar la misma operación a todos los elementos de un vector sin importar el orden en que se hagan; si bien no es necesario que la variable elemento sea utilizada en el cuerpo del bucle, su ausencia denota con seguridad una mala elección de estructura de control.

lunes, 14 de abril de 2008

algoritmo

es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la algoritmia, y su definición queda formalizada por el modelo computacional de la Máquina de Turing.
Su importancia radica en mostrar la manera de llevar a cabo procesos y resolver mecánicamente problemas matemáticos o de otro tipo.
El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo:
CARACTERISTICAS DE LOS ALGORITMOS:

1. Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".
2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".
3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel".
Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.

DIAGRAMA DE FLUJO

Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.

miércoles, 5 de marzo de 2008

La LiBeRtAd



La libertad es un valor primordial, ya que permite que los demás valores existan. Aunque los medios de comunicación, los políticos o la escuela hablen sobre este valor, definirlo no es tan fácil pues existen distintas formas de concebirlo y ejercerlo.

En principio, la libertad es la situación donde uno tiene la posibilidad de actuar o no sin interferencias, presiones, ni constricciones.
la libertad no puede ser absoluta o ilimitada. la libertad significa que cada quien puede decidir por sí mismo obedeciendo sólo a su propio criterio y no determinado por otros. Esta definición se orienta más hacia la autonomía que cada uno tenemos, por ejemplo: la de vestir como me gusta o elegir el credo que quiera. Así, mientras que en el terreno individual la libertad entraña la capacidad de autodeterminarnos y autogobernarnos, en el ámbito social la libertad remite al derecho y a la consiguiente responsabilidad de participar en las decisiones colectivas, como la formación de gobiernos, la discusión de las leyes y la elaboración de las políticas públicas; sólo participando de esta manera puede decirse que al obedecer las leyes y a nuestras autoridades nos estaremos obedeciendo a nosotros mismos.

Las diferentes formas de la libertad están estrechamente vinculadas entre sí: no es casual que los gobiernos autoritarios las restrinjan por igual.

martes, 12 de febrero de 2008


HoSpItAlIdAd:
es la "liberalidad que consiste en acoger y prestar asistencia a los necesitados; buen recibimiento que se hace a los visitantes". La palabra "hospital" viene de esta idea, ya que un hospital es un albergue. El griego para hospitalidad es "filoxenia", amor de extraños. Es requisito para el oficio de anciano en la iglesia y obligación de todo cristiano. Pablo enseñó a los cristianos en Roma a ser celosos en compartir para las necesidades de los hermanos y practicar la hospitalidad . Abraham y Lot hospedaron ángeles sin saberlo. Los judíos del Antiguo Testamento, tenían que tratar al extranjero como a uno de la casa. Muchos hemos sentido la angustia de estar fuera de nuestro sitio, mirado como enemigo, sin derechos ni refugio. ¡Que afortunado ser recogido, protegido y tratado como de la casa! La hospitalidad se basa en la regla de oro, que los hombres están en la mutua obligación de ayudarse unos a otros. No sé si a ti te gusta compartir lo tuyo con otros, pero para Cristo, los que recogen forasteros son benditos y los que no los recogen son malditos. Si el Señor nos manda a amar al enemigos, ¿cuánto más al extraño? El cristiano por naturaleza da amor como lo da Dios… sin restricciones y sin condiciones. La iglesia hospitalaria crece porque ama al extraño mientras que la iglesia introvertida mengua porque limita su amor para los suyos solamente.

¿Que Es uNa PaGiNa wEb?

Una página web es una fuente de información adaptada para la World Wide Web (WWW) y accesible mediante un navegador de Internet. Esta información se presenta generalmente en formato HTML y puede contener hiperenlaces a otras páginas web, constituyendo la red enlazada de la World Wide Web.

Las páginas web pueden ser cargadas de un ordenador o computador local o remoto, llamado Servidor Web, el cual servira de HOST. El servidor web puede restringir las páginas a una red privada, por ejemplo, una intranet, o puede publicar las páginas en el World Wide Web. Las páginas web son solicitadas y transferidas de los servidores usando el Protocolo de Transferencia de Hypertexto (HTTP - Hypertext Transfer Protocol). La acción del Servidor HOST de guardar la página web, se denomina "HOSTING".

Las páginas web pueden consistir en archivos de texto estático, o se pueden leer una serie de archivos con código que instruya al servidor cómo construir el HTML para cada página que es solicitada, a esto se le conoce como Página Web Dinámica.

Publicado por ana karina en 16:33 0 comentarios

DiFeReNcIa EnTrE uN BlOg, WiKi, PaGiNa WeB

Blog:
Este actua de manera en la cual publicas bitacoras en la web.

Pagina web:
En este caso la pagina web utiliza ligas en las cuales contiene mas informacion del tema o aveces te puede llevar a otra pagina.

Wiki:
En estas paginas puedes publicar informacion en la cual es rapida y muy sencilla pero al dejarse de utilizar esta informacion se puede perder.

Publicado por ana karina en 16:32 0 comentarios

iMoViE

iMovie es un software de edición de video creado por Apple Computer como parte de la suite de aplicaciones iLife para Macintosh, el cual permite a los usuarios editar sus propias peliculas hechas en casa. Versiones anteriores de iMovie (2.0.3 y anteriores) funcionan en Mac OS 9, pero desde la versión 3, iMovie funciona solamente en Mac OS X.

Su versión más reciente fue lanzada el 7 de agosto de 2007, incluida en iLife '08.

Cuando iMovie fue lanzado por primera vez, se hizo popular por su simplicidad, haciendo que las mayoría de las tareas fueran fáciles de realizar sólo con ticar y arrastrar. Fue tanto el impacto que tuvo que hasta revistas de PC le dieron revisiones y hasta una lo puso en su portada.

El film de Jonathan Caouette llamado Tarnation, editado totalmente con iMovie, fue presentado en el festival de Cannes de 2004.

Integrado con FireWire, iMovie toma el video crudo de las mayoría de las cámaras de video digitales (o de las análogas con convertidor digital) y los carga en la Mac. Una vez hecho eso, iMovie puede editarlos, agregarles títulos y música. Predeterminadamente son incluidos efectos de corrección de color y herramientas de mejoras de video, así como también transiciones y efectos de presentaciones.

iMovie 1.0 marcó un cambio importante en el software de Apple que continúa haciendo efecto hasta el día de hoy. iMovie 1.0 incluía los datos de los creadores, así como otros software de Apple lo hacían en ese tiempo. Pero las constantes llamadas a Apple pidiendo hablar con éstos empleados hizo que Steve Jobs eliminara de los créditos de los productos de software de Apple a sus creadores; una práctica que traía de sus días en Atari.
A principios de 2005, Apple lanzó iMovie HD como parte de iLife '05, incluyendo soporte para editar video de alta definición.

Publicado por ana karina en 16:32 0 comentarios

Biografia de Guillermo Gonzalez Camarena

Guillermo González Camarena, científico e inventor mexicano, en Latinoamérica generalmente se piensa que inventó la televisión lo que Camarena realmente inventó y patentó fue el sistema bicolor simplificador en 1960 y en 1940 un sistema secuencial de campos, mientras que el sistema que usamos hoy en día usa tres.

Fue un hombre multifacético que por igual investigaba, inventaba o componía canciones. Nació el 17 de febrero de 1917 en Guadalajara, Jalisco y muere el 18 de abril de 1965 en un accidente automovilístico tenido en Las Lajas, Veracruz. Sus padres fueron Arturo González y Sara Camarena.

Publicado por ana karina en 16:31 0 comentarios

Tecnologia de audio digital

El audio digital consiste en señales de audio grabadas en forma digital, es decir, representada por ceros y unos. En cómputo, el audio digital es muy utilizado en aplicaciones multimedia mediante el uso de archivos wave audio, que son grabaciones hechas a partir de señales analógicas. Wave audio puede distribuirse en tiempo real sobre cualquier medio que transmita datos.

WAV es el formato estándar para almacenar archivos wave audio, puede almacenar con una resolución de 8 y 16 bits a frecuencias de muestreo de 11.025 , 22.050, 44.1 y 48kHz. WAV es compatible prácticamente con todos los programas y aplicaciones de multimedia, y con la mayoría de los editores y grabadores de audio. Los niveles de calidad están determinados por el tamaño y la frecuencia de las muestras, así como del software y hardware utilizado para la grabación.

La memoria y el espacio en disco aumentan de manera lineal con el incremento de la frecuencia.

Publicado por ana karina en 16:31 0 comentarios

teCNoLogiA dE VIDeo priNcIpaL

Grabación de video en forma digital. Si desea editar el video en el computador o empotrar clips en documentos de multimedia, la fuente de video debe iniciarse de manera digital (cámara digital) o ser convertida a digital. Los cuadros de cámaras de video análogas y VCR se convierten en cuadros digitales (mapas de bits) al utilizarse tomadores de cuadros o dispositivos similares adicionados a un computador personal.

Las señales no comprimidas de video digital consumen grandes cantidades de almacenamiento y requieren un gran ancho de banda para transmisión. Los esquemas de compresión de tiempo real de alta proporción son esenciales para el uso efectivo.