domingo, 13 de septiembre de 2009

PRACTICA 2.1 MILLAS

CONSOLA



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace practica_2._2_console
{
class Program
{
static void Main(string[] args)
{
int distancia, vel, tiempo;
Console.WriteLine("\n\t\tPrograma que calcula la distancia en millas");
Console.WriteLine("\n\nIntroduce el valor entero que representa la velocidad del viaje:");
vel = int.Parse(Console.ReadLine());
Console.WriteLine("\nIntroducee el valor entero que representa el tiempo transcurrido:");
tiempo = int.Parse(Console.ReadLine());
distancia = vel * tiempo;
Console.WriteLine("\nLa distancia total en millas es: {0}", distancia);
Console.ReadLine();
}
}
}



VISUAL





using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace practica_2._3
{
public partial class Form1 : Form
{
int v, t, d;
public Form1()
{
v = t = d = 0;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
v = int.Parse(txtb1.Text);
t = int.Parse(txtb2.Text);
d = v * t;
txtb3.Text = d.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
txtb1.Clear();
txtb2.Clear();
txtb3.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
Close();
}
private void txtb1_TextChanged(object sender, EventArgs e)
{
}
}
}
















jueves, 10 de septiembre de 2009

PRACTICA 2.0 RESISTENCIAS

CONSOLA







using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace practica_2
{
class Program
{
static void Main(string[] args)
{
int N,M,P,RS;
Console.WriteLine("introduce la cantidad de resistencias de 56 ohms");
N=int.Parse(Console.ReadLine());
Console.WriteLine("Introduce la cantidad de resistencia de 33 ohms");
M = int.Parse(Console.ReadLine());
Console.WriteLine("introduce la cantidad de resistencias de 15 ohms");
P=int.Parse(Console.ReadLine());
RS = N * 56 + M * 33 + P * 15;
Console.WriteLine("la resistencia total en serie es {0}",RS);
Console.ReadKey();
}
}
}

VISUAL



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int N, M, P, RS;
public Form1()
{
N = M = P = RS = 0;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
N = int.Parse(textBox1.Text);
M = int.Parse(textBox2.Text);
P = int.Parse(textBox3.Text);
RS = N * 56 + M * 33 + P * 15;
textBox4.Text = "la resistencia total en serie es" + RS.ToString();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
}
}







lunes, 7 de septiembre de 2009

COMO REALIZAR UN PROGRAMA EN C#

paso #1
paso #2
paso#3

paso#4

paso#5
paso#6

paso#7


paso#8

TAREA 5


Introduccion a C#

C# Es un lenguaje de propósito general diseñado en el año 2001 por Microsoft para su plataforma .NET. Sus principales creadores son Scott Wiltamuth y Anders Hejlsberg, éste último también conocido por haber sido el diseñador del lenguaje Turbo Pascal y la herramienta RAD Delphi.
Aunque es posible escribir código para la plataforma .NET en muchos otros lenguajes, C# es el único que ha sido diseñado específicamente para ser utilizado en ella, por lo que programarla usando C# es mucho más sencillo e intuitivo que hacerlo con cualquiera de los otros lenguajes ya que C# carece de elementos heredados innecesarios en .NET. Por esta razón, se suele decir que C# es el lenguaje nativo de .NET
La sintaxis y estructuración de C# es muy parecida a la de C++ o Java, puesto que la intención de Microsoft es facilitar la migración de códigos escritos en estos lenguajes a C# y facilitar su aprendizaje a los desarrolladores habituados a ellos. Sin embargo, su sencillez y el alto nivel de productividad son comparables con los de Visual Basic.
Un lenguaje que hubiese sido ideal utilizar para estos menesteres es Java, pero debido a problemas con la empresa creadora del mismo -Sun-, Microsoft ha tenido que desarrollar un nuevo lenguaje que añadiese a las ya probadas virtudes de Java las modificaciones que Microsoft tenía pensado añadirle para mejorarlo aún más y hacerlo un lenguaje orientado al desarrollo de componentes.
En resumen, C# es un lenguaje de programación que toma las mejores características de lenguajes preexistentes como Visual Basic, Java o C++ y las combina en uno solo. El hecho de ser relativamente reciente no implica que sea inmaduro, pues Microsoft ha escrito la mayor parte de la BCL usándolo, por lo que su compilador es el más depurado y optimizado de los incluidos en el .NET Framework SDK


C# es un lenguaje orientado a objetos moderno, simple y poderoso. Fue desarrollado por Microsoft y posteriormente estandarizado. Fue modelado principalmente en base a C++ y Java.


Que es C#

es el lenguaje que Microsoft desarrollo principalmente para la plataforma .Net. Para su creación se usaron conceptos de C, C++, Smalltalk, Modula 2 y Java.
Desde sus primeras versiones C# continúa evolucionando agregando funcionalidad que mejora y facilita notablemente la escritura de código, como la seguridad de tipos, manejo automático de memoria y más. Actualmente está disponible la versión 3.0 del lenguaje


C# es un lenguaje moderno, mejora la productividad en el desarrollo de software, incorpora características del estado del arte de los lenguajes actuales.

C# es un lenguaje simple permitiendo una sintaxis sencilla y elegante, evitando la utilización de punteros, la gestión de memoria, la validación de límites de arrays.

C# es un lenguaje poderoso permitiendo el desarrollo de código “seguro” y “no seguro”.

C# es un lenguaje de propósito general que puede ser utilizado para la construcción de aplicaciones web, aplicaciones de escritorio, servicios web, aplicaciones para celulares y componentes.

C# es un lenguaje totalmente orientado a objetos.
Su creador es Anders Hejlsberg quien trabajó con Scott Wiltamuth y Peter Golde. Hejlsberg fue el creador de Turbo Pascal.


C# es moderno, simple, poderoso y orientado a objetos.

Ventajas y caracteristicas del lenguaje
Ventajas frente a C y C++
  • Compila a código intermedio (CIL) independiente del lenguaje en que haya sido escrita la aplicación e independiente de la máquina donde vaya a ejecutarse
    Recolección de basura automática
    Eliminación del uso punteros, en C# no se necesitan
    No hay que preocuparse por archivos de cabecera ".h"
    No importa el orden en que hayan sido definidas las clases ni las funciones
    No hay necesidad de declarar funciones y clases antes de definirlas
    No existen las dependencias circulares
    Soporta definición de clases dentro de otras
    No existen funciones, ni variables globales, todo pertenece a una clase
    Todos los valores son inicializados antes de ser usados (automáticamente se inicializan al valor estandarizado, o manualmente se pueden inicializar desde constructores estáticos)
    No se pueden utilizar valores no booleanos (enteros, coma flotante...) para condicionales. Es mucho más limpio y menos propenso a errores
    Puede ejecutarse en una sandbox restringida
  • Ventajas frente a C++ y java

Concepto formalizado de los métodos get y set, con lo que se consigue código mucho más legible
Gestión de eventos (usando delegados) mucho más limpia.

Ventajas frente a java

  1. El rendimiento es, por lo general, mucho mejor
    CIL (el lenguaje intermedio de .NET) está estandarizado, mientras que los bytecodes de java no lo están
    Soporta bastantes más tipos primitivos (value types), incluyendo tipos numéricos sin signo
    Indizadores que permiten acceder a cualquier objeto como si se tratase de un array
    Compilación condicional
    Aplicaciones multi-hilo simplificadas
    Soporta la sobrecarga de operadores, que aunque pueden complicar el desarrollo son opcionales y algunas veces muy útiles
    Permite el uso (limitado) de punteros cuando realmente se necesiten, como al acceder a librerías nativas que no se ejecuten sobre la máquina virtual
C# es un lenguaje moderno, sencillo y muy seguro. Fue creado para desarrollar aplicaciones orientadas a objetos. Incorpora las características de un lenguaje de última generación. Está en continuo desarrollo y tiene el soporte de una de las empresas más grandes del sector.

C# es un lenguaje de propósito general y aunque cada plataforma sea dispar y tenga sus

secretos, podemos desarrollar aplicaciones para cualquiera de ellas utilizando el mismo lenguaje.
Este hecho acarrea la consecuencia que un desarrollador en


C# profundiza el conocimiento del lenguaje mejorando la calidad del software que escribe ya se trate de aplicaciones Web, Servicios Web, aplicaciones de escritorio, aplicaciones Smartphone, Gadget, Live, MSN o Microsoft Spaces.
Un escenario común de hoy en día consiste en modelar una aplicación web que utiliza servicios de una capa estructurada con servicios web. Además los servicios son accedidos desde gadget en Live y desde aplicaciones de escritorio para la barra de tareas de Windows que monitorean ciertas variables. Se utilizan diversas tecnologías y todas ellas programadas con C#.


C# es ideal para cualquier punto de este escenario.


Como guardar un programa en C#


primero eligimos la opcion archivo le damos en la opcion guardar todo y aparecera una ventana en la cual le indicaremos en que carpeta guardaremos nuestro proyecto.


Compilación y ejecución



El programa "Hello World!" se puede compilar creando un proyecto en el Entorno de desarrollo integrado (IDE) de Visual Studio, o bien mediante la línea de comandos. Utilice el símbolo del sistema de Visual Studio o ejecute vsvars32.bat para incluir el conjunto de herramientas de Visual C# en la ruta de acceso del símbolo del sistema.
Para compilar el programa desde la línea de comandos:
Cree el archivo de código fuente mediante cualquier editor de texto y guárdelo con un nombre como Hello.cs. Los archivos de código fuente de C# utilizan la extensión .cs.
Para invocar el compilador, ejecute el comando:
csc Hello.cs
Si el programa no contiene errores de compilación, se creará un archivo Hello.exe.
Para ejecutar el programa, escriba el comando:
Hello
Para obtener más información sobre el compilador de C# y sus opciones, vea Opciones del compilador de C#.

BIBLIOGRAFIA

miércoles, 2 de septiembre de 2009

CARACTERISTICAS DE LOS LENGUAJES VHDL, PLD, FPGA.

El lenguaje VHDL

Los estudios para la creación del lenguaje VHDL (VHSIC HDL)
comenzaron en el año 1981, bajo la cobertura de un programa para el desarrollo
de Circuitos Integrados de Muy Alta Velocidad (VHSIC), del Departamento de
Defensa de los Estados Unidos. En 1983 las compañías Intermetrics, IBM y
Texas Instruments obtuvieron la concesión de un proyecto para la realización del
lenguaje y de un conjunto de herramientas auxiliares para su aplicación.
Finalmente, en el año 1987, el lenguaje VHDL se convierte en la norma
IEEE-1076 –como todas las normas IEEE, se somete a revisión periódica, por lo
que en 1993 sufrió algunas leves modificaciones–.

Características del lenguaje


El lenguaje VHDL fue creado con el propósito de especificar y documentar
circuitos y sistemas digitales utilizando un lenguaje formal. En la práctica se ha
convertido, en un gran número de entornos de CAD, en el HDL de referencia para
realizar modelos sintetizables automáticamente. Las principales características
del lenguaje VHDL se explican en los siguientes puntos:

Descripción textual normalizada: El lenguaje VHDL es un lenguaje de
descripción que especifica los circuitos electrónicos en un formato adecuado
para ser interpretado tanto por máquinas como por personas. Se trata además
de un lenguaje formal, es decir, no resulta ambiguo a la hora de expresar el
comportamiento o representar la estructura de un circuito

Amplio rango de capacidad descriptiva: El lenguaje VHDL posibilita la
descripción del hardware con distintos niveles de abstracción, pudiendo
adaptarse a distintos propósitos y utilizarse en las sucesivas fases que se dan
en el desarrollo de los diseños.

Otras ventajas: Además de las ventajas ya reseñadas también es destacable
la capacidad del lenguaje para el manejo de proyectos de grandes
dimensiones, las garantías que comporta su uso cuando, durante el ciclo de
mantenimiento del proyecto, hay que sustituir componentes o realizar
modificaciones en los circuitos, y el hecho de que, para muchas
organizaciones contratantes, sea parte indispensable de la documentación de
los sistemas.


LANGUAGE PLD
El más sencillo de los Programable Lógica Device (o Dispositivo Lógico Programable) consiste en un ara y o vector de puertas AND (que es programable) y otro de puertas OR (que es fijo o no programable). Mediante tecnología EPROM, EEPROM o FLASH podremos conexionar las entradas del vector de puertas AND de la forma que queramos, de forma que tendremos una operatividad u otra.

El usar PLD's para nuestros proyectos nos proporciona varias ventajas sobre la forma tradicional (con circuitos MSI), siendo la más importante el que una PLD puede llegar a sustituir 10 o más circuitos TTL con lo que nuestro diseño es más sencillo de crear, ya sea por una mayor facilidad de "rutado", o por ser más pequeño.

Otra de la ventajas principales es el abaratamiento de los costes, ya que nos es más económico el usar un PLD (aunque sólo usemos una parte ínfima de él) que su circuito lógico TTL equivalente, ya que el coste de éstos últimos los soporta el usuario final en su totalidad.
Pero quizás la superioridad de usar PLD's se basa en su flexibilidad, ya que puede evitar cambios en el circuito impreso o la placa donde irán colocados los componentes tratando de cambiar las conexiones internas del dispositivo, o bien la disposición de los pines.

LENGUAJE FPGA

Un lenguaje de descripción de hardware (HDL, Hardware Description Language) permite documentar las interconexiones y el comportamiento de un circuito electrónico, sin utilizar diagramas esquemáticos.El flujo de diseño suele ser típico:Definir la tarea o tareas que tiene que hacer el circuito.Escribir el programa usando un lenguaje HDL. También existen programas de captura de esquemas que pueden hacer esto, pero no son útiles para diseños complicados.Comprobación de la sintaxis y simulación del programa.Programación del dispositivo y comprobación del funcionamiento.Un rasgo común a estos lenguajes suele ser la independencia del hardware y la modularidad o jerarquía, es decir, una vez hecho un diseño éste puede ser usado dentro de otro diseño más complicado y con otro dispositivo compatible.Componentes del ciclo de desarrollo de FPGA Libre:Las partes componentes que hacen posibles el ciclo de desarrollo con dispositivos FPGA actualmente utilizadas por los desarrolladores de FPGA Libre puede resumirse en los siguientes ítems:El código HDLSelección del HDL para realizar los diseños.Convenciones y reglas del código para desarrollo en grupo y mayor reusabilidad.Interconectividad de cores.Extensiones y asistentes a lenguajes HDL.Librerías HDL.Cores IP.Edición del códigoSoftware de edición.Asistentes del software de edición.SimulaciónHerramienta de simulación.Banco de pruebas.Asistentes del banco de pruebas.Visualización de formas de onda.Asistentes para el proceso de simulación.SíntesisHerramienta de síntesis.Transferencia a la FPGASelección del dispositivo FPGA.Hardware para grabación en la FPGA o memoria.Software para grabación en la FPGA o memoria.

PRACTICA DEL LABORATORIO





INVESTIGACION

1.-Explique por medio de un dibujo el funcionamiento interno de una computadora. Solo mencione lo que usted considere lo más importante, con una sola frase.


1.1. Estructura interna del computador
2. CPU : unidad central de procesamiento Aula – unidad lógica aritmética bus de datos memorias : RAM, ROM, cache.
3. CPU : unidad central de procesamiento.
4. Es donde se manipulan los datos.
5. Cuando la computadora corre un programa.

6. Busca los comandos del programa dentro del conjunto de instrucciones de la CPU y las ejecuta en orden
7. transforma los datos de entrada en
8. Informacion útil de salida.
2.-Investigue las características mas importantes de un procesador, de una computadora actual. (Ver las características del fabricante)

Principales características de la arquitectura del procesador AMD Opteron™ de Segunda Generación












Los procesadores AMD Opteron™ de Segunda Generación agregan nuevas e importantes características como la capacidad de migrar a cuádruples núcleos, la Virtualización™ AMD (AMD-V™) y la memoria DDR2 con consumo eficiente de energía, a las ya probadas tecnologías lanzadas en 2003 con los procesadores AMD Opteron de primera generación
Tecnología AMD64
· Ejecuta la base instalada de aplicaciones y sistemas operativos de 32 bits al pico de su rendimiento, al tiempo que provee una ruta de migración para el cómputo de 64 bits
· Diseñada para permitir el cómputo de 64 bits, a la vez que ofrece compatibilidad con la vasta infraestructura de software x86
· Permite utilizar una arquitectura única en ambientes de 32 y 64 bits
Arquitectura de Conexión Directa
· La revolucionaria Arquitectura de Conexión Directa de AMD ayuda a eliminar los cuellos de botella inherentes en las tradicionales arquitecturas de bus frontal lateral.
· La Arquitectura de Conexión Directa conecta los procesadores, el controlador de memoria integrado y los dispositivos de E/S directamente al procesador y se comunica a la velocidad del procesador
· La tecnología HyperTransport™ ofrece una interconexión de ancho de banda escalable entre los procesadores, subsistemas de E/S y otros chipsets, con hasta tres conexiones HyperTransport coherentes ofreciendo hasta 24,0 GB/s de ancho de banda máxima por procesador
· El controlador de memoria integrado de la memoria DRAM DDR2 incorporada a la pastilla ofrece un ancho de banda de hasta 10,7 GB/s (con DDR2-667) por procesador
Capacidad para actualizar a Cuádruples Núcleos
· Los procesadores AMD Opteron con memoria DDR2 están diseñados para ofrecer un camino de actualización de doble núcleo a cuádruples núcleos (cuando estén disponibles en el 2007) con la misma configuración térmica, a fin de aprovechar las inversiones existentes
· Mantienen la misma plataforma con la misma eficiencia en el consumo de energía
Virtualización™ AMD (AMD-V™)
· La Virtualización™ AMD asistida por hardware y la Arquitectura de Conexión Directa ofrecen una aproximación equilibrada para ayudar a mejorar el desempeño de la virtualización, permitiendo que se ejecuten más máquinas virtuales por servidor
· La Virtualización™ AMD optimiza el trabajo del servidor al interceptar selectivamente las instrucciones destinadas a los ambientes huéspedes
· La Arquitectura de Conexión Directa ayuda a los huéspedes a ejecutarse a una velocidad cercana a la nativa
· El controlador de memoria integrado con reconocimiento de virtualización ofrece un aislamiento eficiente de la memoria de la máquina virtual
Mejor relación de rendimiento por vatio
· La memoria DDR2 con consumo eficiente de energía utiliza hasta 30% menos energía que la memoria DDR1 y hasta 58% menos que la memoria FBDIMM
· La tecnología AMD PowerNow!™ con Administración Optimizada de Energía puede ofrecer rendimiento sobre demanda a la vez que reduce al mínimo el consumo de energía
· Plan consistente de desarrollo de energía estándar con opciones de bajo consumo
· Las plataformas DDR2 pueden ser actualizadas para los procesadores AMD Opteron™ de cuádruples núcleos en 2007 dentro de las bandas térmicas existentes, ofreciendo una relación de rendimiento por vatio significativamente mejor

3.-Mencione 5 diferencias de los lenguajes de alto nivel y bajo nivel.El de bajo nivel está más próximo a lo que entiende la máquina y el de alto.

Nivel más próximo a lo que entiende el ser humano
Lenguajes de alto nivel
La programación en ensamblador es factible para pequeños programas, ya que al codificar directamente en el lenguaje que entiende la máquina se pueden optimizar para que se ejecuten de la manera más rápida o con menor ocupación de memoria posible.

1.-Cercanos al problema
2- Alto nivel de abstraccion
3- Varias instrucciones maquina
4-lenguaje 3ra generacion
5-Lenguajes declarativos




Lenguajes de bajo nivel

Un lenguaje de bajo nivel es un lenguaje específico de la máquina con la que estamos trabajando, es necesario conocer la estructura de ordenador para poder escribir programas (microprocesador, sistema operativo, direcciones de memoria, puertos, interrupciones hardware/software).
1-Lenguaje maquina
2- Lenguaje ensamblador
3-Cercanos a la maquina
4- Bajo nivel de abstracción
5- Arquitectura de la maquina


4.-Explique porque la memoria RAM, se le considera el escritorio de trabajo, en una computadora.

R= la PC es como un escritorio de trabajo en una oficina común, las gavetas del escritorio serían como el disco duro de tu computador donde se guardan los documentos con los que trabajamos, cada vez que necesitas hacer algo con alguno de ellos, lo sacamos de la gaveta y lo colocamos sobre el escritorio para poder trabajar de manera cómoda y eficiente, probablemente así podríamos trabajar con algunos archivos sin sacarlos de la gaveta pero sería muy incómodo y poco productivo, así que los tomamos y los ubicamos sobre la mesa del escritorio.
En la mesa del escritorio, podríamos compararla con la memoria RAM, de manera que mientras más grande sean las gavetas del escritorio, mayor será el número de archivos que podemos almacenar, mientras más grande sea la mesa del escritorio podremos tener una mayor cantidad de archivos abiertos simultáneamente, lo cual facilitará nuestro trabajo.Así mismo, la computadora con una buena cantidad de memoria RAM nos facilitara trabajar con varias aplicaciones a la vez y el tamaño del disco duro determinará cuantos archivos podremos almacenar.

BIBLIOGRAFIA

http://es.wikipedia.org/wiki/Lenguaje_de_alto_nivel"
http://images.google.com/imgres?imgurl=http://s3.subirimagenes.com:81/imagen/2779478pcpartes.png&imgrefurl=http://pcyalgomas.wordpress.com/2009/06/24/definiciones/&usg=___g69xRVb-ct8ygwpMFMPWFrscww=&h=743&w=928&sz=359&hl=en&start=75&sig2=a7DjojTQqpcFz36qgHHu_w&um=1&tbnid=ePSp8cUHyOrd6M:&tbnh=118&tbnw=147&prev=/images%3Fq%3Dfuncionamiento%2B%2BINTERNA%2BDE%2BUNA%2BCOMPUTADORA%26ndsp%3D20%26hl%3Den%26sa%3DN%26start%3D60%26um%3D1&ei=hSieStz0AZ2UtgP6_owf
http://www.amd.com/la-es/Processors/ProductInformation/0,,30_118_8796_14281,00.html