Posteado por: netcba | Agosto 26, 2008

Los gráficos viven en la computadora

Para disfrutar al máximo de una experiencia audiovisual en la computadora, ya sea por trabajo, para animación 3D, para ver un DVD en casa como en el cine o para jugar a los últimos videojuegos del momento, se necesita una buena placa aceleradora de video.

La oferta es amplia y hay muchos modelos que se ajustan a diferentes gustos y necesidades de cada usuario y en el mercado local se consigue una amplia gama, aunque algunos de los productos sólo se traen por encargo.

Para las máquinas más viejas de la generación Pentium 4 y AMD Athlon XP, las placas disponibles no son tantas y se conectan a la placa madre por su puerto AGP. Para estas especificaciones una buena opción en calidad es la Nvidia GeForce 6200 GF en cualquiera de sus dos versiones: 256 ó 512 Mb. La marca XFX vende este producto en Córdoba a $ 195 la versión de 256 Mb y a $ 265 la de 512 Mb.

Para la generación actual de computadoras, con múltiples procesadores, sin embargo, el estándar de conexión de la tarjeta a la motherboard cambió y se hizo más eficiente, hoy en día se habla de PCI- Express, en reemplazo de la interfaz AGP. Vale destacar que la familia de placas de video Ati tiene modelos de media y alta gama, que van de la ATI Radeon X1600 Series (media gama) a la ATI Radeon HD 4800 Series (tope de gama), pero no son tan comunes ni fáciles de conseguir en el mercado cordobés como la familia Nvidia GeForce.

A continuación, un listado con las mejores placas del momento para diferentes aplicaciones y exigencias.

Asus Ati Radeon X1600 Pro 512 Mb PCI-Ex 16X. Es una placa que brinda buenos resultados, pero que tiene ya un tiempo en el mercado. Está considerada como de gama media y si bien tiene 512 Mb de memoria no los explota completamente. Se consigue alrededor de $ 430. Compatible con Microsoft DirectX 9. Recomendada para todo tipo de usuario que quiera sacar provecho de una placa aceleradora, aunque su precio es elevado comparado con otros productos mejores.

Asus Nvidia GeForce 7300 GT 256 Mb PCI-Ex 16X. Otra opción de gama media. Esta placa es superior a la Ati en cuanto a rendimiento y les saca mucho provecho a sus 256 Mb. Aunque también tiene un tiempo ya en el mercado, sigue siendo vigente. Se consigue en locales especializados a alrededor de los $ 270. Soporta Microsoft DirectX 9.

XFX Nvidia GeForce 8400 GS 256 Mb PCI-Ex 16X turbo cache. La tarjeta más pequeña de las de gama alta. Soporta casi todos los juegos de última generación, pero en calidad media, y si bien es compatible con Microsoft DirectX 10, es mejor correrla bajo DirectX 9. Se consigue por $ 230 aproximadamente.

XFX Nvidia GeForce 8400 GS 512 Mb PCI-Ex 16X reales. Levemente superior a la placa anterior. Cuenta con 512 Mb de memoria dedicada real, con lo que corre casi todas las aplicaciones y juegos del momento. Compatible con Microsoft DirectX 10 y Shader Model 4.0. Se consigue por $ 260, lo que la hace una mejor opción dada la baja diferencia de precio con modelos inferiores.

XFX Nvidia GeForce 8600 GT 1Gb PCI-Ex 16X. Una de las mejores tarjetas de video que se consiguen en el mercado local. Esta placa es totalmente compatible con Microsoft DirectX 10 y Shader Model 4.0 y corre prácticamente todos los juegos y programas más exigentes. Su precio estimado es de $ 530, por lo que se recomienda solamente a personas que necesiten mucho poder gráfico.

XFX Nvidia GeForce 9600 GT 512 Mb GDDR3 PCI-Ex 16X. Casi tope de gama. Esta placa de última generación es una de las mejores que se pueden comprar hoy en día. También es compatible con Microsoft DirectX 10 y Shader Model 4.0 y se recomienda altamente para uso profesional en diseño, edición de video, animación 3D y jugadores exigentes. La única contra de esta tarjeta gráfica es su precio, unos exorbitantes $ 910. Vale aclarar que en casi todas las tiendas especializadas sólo la traen a pedido.

Fuente: La voz del Interior

Posteado por: netcba | Agosto 26, 2008

Declarar y recorrer un array Simple

Algo que se utiliza bastante en el ambito de la programacion es el almacenamiento en arrays simples o complejos.
cuando hablamos de arrays simples nos referimos a simples vectores y cuando nos referimos a complejos hablamos de matrices.

Para declarar un Vector podemos hacerlo de la siguiente manera

Dim Nombre as tipo

Cuando hablamos de “Nombre” nos referimos a la identificacion de este objeto y cuando nos referimos al “tipo” hablamos del tipo de dato.
A partir de esto vamos a suponer que el vector tiene almacenado en su interior los nombres de cinco Alumnos. Entonces lo declarariamos de la siguiente manera:

Dim Alumnos(4) as String

Para recorrer este vector y mostrar los datos en un Data Grid podemos hacerlo de dos maneras.

Declaramos una variable que actue como indice del vector por ejemplo “i”

Dim Alumnos(4) as String
Dim i as Byte = 0 // Declaramos la variable que va a ser el indice de nuestro Vector
Dim fila as Byte = 0 // Declaramos la fila del datagrid

Mientras i <= 4
DataGrid.Rows.Add()
DataGrid.Item(0,fila).Value=i
i = i + 1
fila = fila + 1

Loop

Otra forma seria con la estructura For each

Dim Alumnos() as String
Dim Dato as String
// Declaramos la variable que va a almacenar nuestro dato
Dim fila as Byte = 0 // Declaramos la fila del datagrid

For each Dato in Alumnos()
DataGrid.Rows.Add()
DataGrid.Item(0,fila).Value = Dato
fila = fila +1
Next

Posteado por: netcba | Agosto 26, 2008

Estructuras repetitivas (bucles)

Los ordenadores se diseñaron inicialmente para realizar tareas sencillas y repetitivas. El ser humano es de lo más torpe acometiendo tareas repetitivas: pronto le falla la concentración y comienza a tener descuidos. Los ordenadores programables, en cambio, pueden realizar la misma tarea muchas veces por segundo durante años y nunca se aburren (o, al menos, hasta hoy no se ha tenido constancia de ello)

La estructura repetitiva, por tanto, reside en la naturaleza misma de los ordenadores y consiste, simplemente, en repetir varias veces un conjunto de instrucciones. Las estructuras repetitivas también se llaman bucles, lazos o iteraciones. Nosotros preferiremos la denominación bucle.

(Recuerde que la estructura repetitiva o bucle es una de las estructuras permitidas en la programación estructurada)

Los bucles tienen que repetir un conjunto de instrucciones un número finito de veces. Si no, nos encontraremos con un bucle infinito y el algoritmo no funcionará. En rigor, ni siquiera será un algoritmo, ya que no cumplirá la condición de finitud.

El bucle infinito es un peligro que acecha constantemente a los programadores y nos toparemos con él muchas veces a lo largo de este curso. Para conseguir que el bucle se repita sólo un número finito de veces, tiene que existir una condición de salida del mismo, es decir, una situación en la que ya no sea necesario seguir repitiendo las instrucciones.

Por tanto, los bucles se componen, básicamente, de dos elementos:

  • un cuerpo del bucle o conjunto de instrucciones que se ejecutan repetidamente
  • una condición de salida para dejar de repetir las instrucciones y continuar con el resto del algoritmo

Dependiendo de dónde se coloque la condición de salida (al principio o al final del conjunto de instrucciones repetidas), y de la forma de realizarla, existen tres tipos de bucles, aunque hay que resaltar que, con el primer tipo, se puede programar cualquier estructura iterativa. Pero con los otros dos, a veces el programa resulta más claro y legible. Los tres tipos de bucle se denominan:

  • Bucle “mientras“: la condición de salida está al principio del bucle.
  • Bucle “repetir“: la condición de salida está al final del bucle.
  • Bucle “para“: la condición de salida está al principio y se realiza con un contador automático.

El bucle “mientras”

El bucle “mientras” es una estructura que se repite mientras una condición sea verdadera. La condición, en forma de expresión lógica, se escribe en la cabecera del bucle, y a continuación aparecen las acciones que se repiten (cuerpo del bucle):

mientras (condición) hacer
inicio
   acciones (cuerpo del bucle)
fin

Cuando se llega a una instrucción mientras, se evalúa la condición. Si es verdadera, se realizan las acciones y, al terminar el bloque de acciones, se regresa a la instrucción mientras (he aquí el bucle o lazo). Se vuelve a evaluar la condición y, si sigue siendo verdadera, vuelve a repetirse el bloque de acciones. Y así, sin parar, hasta que la condición se haga falsa.

Por ejemplo, vamos a escribir un algoritmo que muestre en la pantalla todos los números enteros entre 1 y 100

algoritmo contar
variables
  cont es entero
inicio
  cont = 0
  mientras (cont <= 100) hacer
  inicio
    cont = cont + 1
    escribir (cont)
  fin
fin

Aquí observamos el uso de un contador en la condición de salida de un bucle, un elemento muy común en estas estructuras. Observe la evolución del algoritmo:

  • cont = 0. Se le asigna el valor 0 a la variable cont (contador)
  • mientras (cont <= 100) hacer. Condición de salida del bucle. Es verdadera porque cont vale 0, y por lo tanto es menor o igual que 100.
  • cont = cont + 1. Se incrementa el valor de cont en una unidad. Como valía 0, ahora vale 1.
  • escribir(cont). Se escribe el valor de cont, que será 1.

Después, el flujo del programa regresa a la instrucción mientras, ya que estamos en un bucle, y se vuelve a evaluar la condición. Ahora cont vale 1, luego sigue siendo verdadera. Se repiten las intrucciones del bucle, y cont se incrementa de nuevo, pasando a valer 2. Luego valdrá 3, luego 4, y así sucesivamente.

La condición de salida del bucle hace que éste se repita mientras cont valga menos de 101. De este modo nos aseguramos de escribir todos los números hasta el 100.

Lo más problemático a la hora de diseñar un bucle es, por lo tanto, pensar bien su condición de salida, porque si la condición de salida nunca se hiciera falsa, caeríamos en un bucle infinito. Por lo tanto, la variable implicada en la condición de salida debe sufrir alguna modificación en el interior del bucle; si no, la condición siempre sería verdadera. En nuestro ejemplo, la variable cont se modifica en el interior del bucle: por eso llega un momento, después de 100 repeticiones, en el que la condición se hace falsa y el bucle termina.

El bucle “repetir”

El bucle de tipo “repetir” es muy similar al bucle “mientras”, con la salvedad de que la condición de salida se evalúa al final del bucle, y no al principio, como a continuación veremos. Todo bucle “repetir” puede escribirse como un bucle “mientras”, pero al revés no siempre sucede.

La forma de la estructura “repetir” es la que sigue:

repetir
inicio
   acciones
fin

Cuando el ordenador encuentra un bucle de este tipo, ejecuta las acciones escritas entre inicio y fin y, después, evalúa la condición, que debe ser de tipo lógico. Si el resultado es falso, se vuelven a repetir las acciones. Si el resultado es verdadero, el bucle se repite. Si es falso, se sale del bucle y se continúa ejecutando la siguiente instrucción.Existe, pues, una diferencia fundamental con respecto al bucle “mientras”: la condición se evalúa al final. Por lo tanto, las acciones del cuerpo de un bucle “repetir” se ejecutan al menos una vez, cuando en un bucle “mientras” es posible que no se ejecuten ninguna (si la condición de salida es falsa desde el principio)

Ejemplo: Escribir un algoritmo que escriba todos los números enteros entre 1 y 100, pero esta vez utilizando un bucle “repetir” en lugar de un bucle “mientras”

algoritmo contar
variables
  cont es entero
inicio
  cont = 0
  repetir
  inicio
    cont = cont + 1
    escribir (cont)
  fin
  mientras que (cont <= 100)
fin

Observa que el algoritmo es básicamente el mismo que en el ejemplo anterior, pero hemos cambiado el lugar de la condición de salida.

El bucle “para”

En muchas ocasiones se conoce de antemano el número de veces que se desean ejecutar las acciones del cuerpo del bucle. Cuando el número de repeticiones es fijo, lo más cómodo es usar un bucle “para”, aunque sería perfectamente posible sustituirlo por uno “mientras”.

La estructura “para” repite las acciones del bucle un número prefijado de veces e incrementa automáticamente una variable contador en cada repetición. Su forma general es:

para cont desde valor_inicial hasta valor_final hacer
inicio
   acciones
fin

cont es la variable contador. La primera vez que se ejecutan las acciones situadas entre inicio y fin, la variable cont tiene el valor especificado en la expresión valor_inicial. En la siguiente repetición, cont se incrementa en una unidad, y así sucesivamente, hasta alcanzar el valor_final. Cuando esto ocurre, el bucle se ejecuta por última vez y después el programa continúa por la instrucción que haya a continuación.El incremento de la variable cont siempre es de 1 en cada repetición del bucle, salvo que se indique otra cosa. Por esta razón, la estructura “para ” tiene una sintaxis alternativa:

para cont desde valor_inicial hasta valor_final inc|dec paso hacer
inicio
   acciones
fin

De esta forma, se puede especificar si la variable cont debe incrementarse (inc) o decrementarse (dec) en cada repetición, y en qué cantidad (paso).

Ejemplo 1: Escribir un algoritmo que escriba todos los números enteros entre 1 y 100, utilizando un bucle “para”

algoritmo contar
variables
  cont es entero
inicio
  para cont desde 1 hasta 100 hacer
  inicio
    escribir (cont)
  fin
fin

De nuevo, lo más interesante es observar las diferencias de este algoritmo con los dos ejemplos anteriores. Advierta que ahora no es necesario asignar un valor inicial de 0 a cont, ya que se hace implícitamente en el mismo bucle; y tampoco es necesario incrementar el valor de cont en el cuerpo del bucle (cont = cont + 1), ya que de eso se encarga el propio bucle “para”. Por último, no hay que escribir condición de salida, ya que el bucle “para” se repite hasta que cont vale 100 (inclusive)

Ejemplo 2: Escribir un algoritmo que escriba todos los números enteros impares entre 1 y 100, utilizando un bucle “para”:

algoritmo contar
variables
  cont es entero
inicio
  para cont desde 1 hasta 100 inc 2 hacer
  inicio
    escribir (cont)
  fin
fin

Este ejemplo, similar al anterior, sirve para ver el uso de la sintaxis anternativa del bucle “para”. La variable cont se incrementará en 2 unidades en cada repetición del bucle.

Posted by Alfredo Moreno Vozmediano in : …para principiantes, Programación , trackback

Posteado por: netcba | Agosto 24, 2008

Inventaron un buscador de baños

Dos jóvenes estudiantes de Colonia han creado un buscador en Internet que localiza baños públicos en Alemania para aquellos que se encuentren fuera de casa y necesiten ir con urgencia al excusado.

Ambos de 18 años, Christoph Beckmann y Christian Rohowski saben lo delicado que es cuando uno siente la necesidad repentina de ir al excusado y no encuentra ninguno a mano.

“Estando una vez en Berlín, me puse a buscar un baño púbico en la Alexanderplatz, pero casi me pierdo”, comenta Christoph al diario Berliner Zeitung. Por ello, se les ocurrió abrir el portal www.lootogo.de con un buscador de urinarios en el que ya se han registrado cerca de mil baños públicos en todo el país.

El usuario no tiene más que introducir en el buscador el sitio donde se encuentra –por ejemplo, “Berlin-Alexanderplatz”– y unas bombillas de colores le indican en el googlemap el lugar exacto de los baños públicos de la zona.

Categorías. Pero además de su localización, este buscador clasifica los excusados según el grado de higiene, el tiempo de espera media para acceder a él y su equipamiento, como el papel higiénico, por ejemplo.

Christian asegura que él mismo se ha encargado de inspeccionar un centenar de letrinas públicas. “Siempre que estoy fuera levanto la vista en busca de un baño y lo pruebo para luego calificarlo”, explica este joven estudiante de informática, quien añade que dedica cerca de 10 horas semanales a este curioso hobby.

Los autores de la iniciativa destacan en su portal de Internet que, para aquellos que están en mitad de la calle y no se pueden aguantar, también pueden acceder a la web desde un teléfono móvil.

Con nota. Además de Christian y Christoph, cualquier usuario puede valorar los baños públicos dentro de una escala del 1 al 6, de mejor a peor.

Hasta el momento, la nota más baja es para un urinario público de Colonia, con un 4,9.

Junto a esta curiosa página web, que recibe cerca de 500 consultas a diario, existe otra muy parecida, www.gratispinkeln.de , en la que el internauta puede consultar los urinarios públicos en donde hacer sus necesidades de forma gratuita, algo poco común en Alemania.

Fuente: La voz del interior

Entradas antiguas »

Categorías