Archivo del Enero de 2008

Gráficas de AMD de doble núcleo

AMD nuevamente ha ampliado su familia de tarjetas gráficas, tanto de nivel de entrada con sus HD 3450 y 3470, como las de gama media y alta con las HD 3650 y 3870×2, ésta última la más esperada por tratarse de un modelo que integra doble núcleo de gráficos RV670 interconectados a través de un bus PCI Express interno. Como ya hiciera nVidia con su modelo GeForce 7950×2 hace unos años, se trata de ofrecer una tarjeta el doble de potente y con la máxima cantidad de memoria, destinada al mercado de entusiastas del PC que utilizan grandes pantallas de visualización y desean obtener el máximo rendimiento en la reproducción de juegos.

AMD

La ATI Radeon HD 3870×2 utiliza tecnología CrossFire lo que hace posible que el sistema tenga hasta un 1,7x más de prestaciones sobre la generación actual. AMD también destaca el bajo consumo de energía que lleva a cabo su nuevo modelo HD 3870×2, con apenas 47 vatios de potencia reproduciendo contenidos de alta definición con PowerPlay, frente a los 75 vatios que suele disipar el modelo 8800 Ultra de nVidia. La cantidad de memoria con la que se comercializará por el momento será de 1 GB, aunque es un factor que AMD deja en manos de los integradores. La refrigeración de las GPUs es otro factor a tener en cuenta a la hora de integrarla en cualquier configuración. El fabricante ha conseguido mantener el valor, pasando de los 34 dB que emitía la Radeon HD 3870 de un solo núcleo, a los 36 dB que arroja el nuevo modelo.

La HD 3870×2 ofrece soporte Shader Model 4.1, así como la tecnología CrossFire de ATI, para poder emparejar dos tarjetas. Sus dos conectores DVI ofrecen soporte HDMI con el canal de audio integrado Surround 5.1, y la segunda generación de UVD (Universal Video Decoder) mejora la reproducción de contenidos de alta definición Blu-ray y HD DVD.

Todas las tarjertas ofrecen soporte de la última versión de la API de Windows, DirectX 10.1 a pesar de que por el momento apenas existan juegos desarrollados bajo dichas instrucciones. Con la llegada del primer “service pack” de Windows Vista se ofrecerá el soporte, con lo que previsiblemente se incrementará la demanda de este tipo de productos. Entre los principales Partners que ya comercializan estos nuevos modelos de gráficos de AMD se encuentran Asus, Sapphire, Gigabyte, PowerColor, GeCube, HIS y VisionTek entre otros

Visual Basic .Net: Pronto pondre como hacer un programa en c con dev-cpp y usar la dll en visual basic

Como dice el titulo pronto hare como una especie de tutorial de como hacer un programa en c con el ide dev-cpp y despues poder usar estas rutinas desde visual basic.

Creo que esto puede ser bastante interesante y a la vez he intentado buscar por internet ejemplos y por lo menos yo no lo he conseguido y si puede servir de ayuda a alguien que no quiera perder sus joyas de programacion en c y seguir usandolas en visual basic .net pues… genial!!! o no?

Visual Basic .Net Relación de Ejercicios de Ficheros de Texto 17

Hacer un diccionario español-inglés e inglés-español. El programa leerá dos listas de parejas de palabras desde un fichero y luego nos permitirá buscar una palabra en inglés o en español. Si la palabra se encuentra en la lista correspondiente nos devolverá su correspondiente en el otro idioma.

Imports System.io
Module Module1

    Sub Main()

        Dim l1, l2 As New List(Of String)
        Dim i, j, op As Integer

        Console.WriteLine("Leyendo fichero...")
        leefichero2columnas("datos17.txt", l1, l2)
        Console.WriteLine("Diccionario cargado en memoria.")

        Console.WriteLine("1-Español-Ingles")
        Console.WriteLine("2-Ingles-Español")
        op = Console.ReadLine
        Select Case op
            Case 1
                Console.Write("Dame palabra: ")
                Dim s As String = Console.ReadLine
                Dim a As Integer = buscapalabra(l1, s)
                If a <> -1 Then
                    Console.WriteLine("Traducido es: " & l2.Item(a))
                Else
                    Console.WriteLine("Palabra no contenida en diccionario.")
                End If
            Case 2
                Console.Write("Dame palabra: ")
                Dim s As String = Console.ReadLine
                Dim a As Integer = buscapalabra(l2, s)
                If a <> -1 Then
                    Console.WriteLine("Traducido es: " & l1.Item(a))
                Else
                    Console.WriteLine("Palabra no contenida en diccionario.")
                End If

        End Select
        Console.ReadKey()
    End Sub

    Function buscapalabra(ByVal l As List(Of String), ByVal cad As String) As Integer
        Dim i, v As Integer
        v = -1
        For i = 0 To l.Count - 1
            If l.Item(i).ToUpper  = cad.ToUpper  Then
                v = i
                Exit For
            End If
        Next
        If v <> -1 Then
            Return v
        Else
            Return -1
        End If
    End Function

    Sub leefichero2columnas(ByVal f As String, ByRef l1 As List(Of String), ByRef l2 As List(Of String))
        Dim cadenas() As String
        Dim i As Integer = 0
        Dim sr As StreamReader = New StreamReader(Environment.CurrentDirectory & "\" & f)
        While Not sr.EndOfStream
            cadenas = DivideCadena(sr.ReadLine)
            l1.Add(cadenas(1))
            l2.Add(cadenas(2))
            i += 1
        End While
        sr.Close()
    End Sub
    Function DivideCadena(ByVal cadena As String) As String()

        Dim i As Integer
        Dim pos1, pos2 As Integer
        Dim numcadenas As Integer

        Dim arraycadenas(0) As String

        numcadenas = 0
        pos1 = 0
        i = 1
        While (i < cadena.Length)

            If (Posicion(cadena, i) = ",") Then
                pos2 = i
                numcadenas = numcadenas + 1
                ReDim Preserve arraycadenas(numcadenas)
                arraycadenas(numcadenas) = cadena.Substring(pos1, pos2 - pos1 - 1)
                pos1 = pos2
            End If

            i = i + 1
        End While

        numcadenas = numcadenas + 1
        ReDim Preserve arraycadenas(numcadenas)
        arraycadenas(numcadenas) = cadena.Substring(pos1)

        Return arraycadenas

    End Function

    Function Posicion(ByVal cad As String, ByVal indice As Integer) As String

        Return cad.Substring(indice - 1, 1)

    End Function

End Module