EQUIPO 1 Integrantes: Gómez Muñoz Héctor Hernández Ferrer Alejandro Medina López Ernesto Mejia Hernández Mario Oliva Torres Mónica Qué es el software El software es el conjunto de instrucción que las computadoras emplean para manipular datos. Sin el software, la computadora sería un conjunto de medios sin utilizar. Al cargar los programas en una computadora, la máquina actuará como si recibiera a una educación instantánea; de pronto "sabe" cómo pensar y cómo operar. LENGUAJE MÁQUINA Lenguaje original de la computadora, un programa debe estar escrito en el lenguaje de la máquina para poder ser ejecutado. Este es generado por software y no por el programador. El programador escribe en un lenguaje de programación, el cual es traducido al lenguaje de máquina mediante interpretes y compiladores. El lenguaje de máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Un ejemplo muy claro de este lenguaje es Fortran. LENGUAJE ENSAMBLADOR los programas ensambladores traducen antes los símbolos de código de operación especificados a sus equivalentes en lenguaje de máquina. Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorran tiempo y requieren menos atención a detalles . Se incurren en menos errores y los que se cometen son más fáciles de localizar. Además, los programas en lenguaje ensamblador son más fáciles de modificar que los programas en lenguaje de máquina. Pero existen limitaciones. La codificación en lenguaje ensamblador es todavía un proceso lento. Además, una desventaja importante de estos lenguajes es que tienen una orientación a la máquina. Es decir, están diseñados para la marca y modelo específico de procesador que se utiliza. LENGUAJE ENSAMBLADOR Las características fundamentales de un Ensambladores: cada una de sus sentencias es una codificación simbólica de una instrucción numérica máquina. nos permite llegar a usar cualquier recurso del sistema, cosa que no nos permiten los lenguaje de alto nivel. Programar en Ensamblador es como programar en un lenguaje máquina ya que hay una identificación entre lenguaje máquina de 0 y 1 y un lenguaje simbólico. LENGUAJE ENSAMBLADOR Los números decimales se pueden almacenar de varias formas, como por ejemplo: - Desempaquetado, donde cada byte contiene un dígito. Ejemplo: 1434 ® 01 04 03 04 ® 0000 0001 0000 0100 0000 0011 0000 0100 - Empaquetado, donde cada byte contiene dos dígito. Ejemplo: 1434 ® 14 34 ® 0001 0100 0011 0100 - Agrupaciones superiores al byte: Palabra ® 2 bytes. Doble Palabra ® 2 palabras Cuádruple Palabra ® 4 palabras Párrafo ® 16 bytes. Página ® 256 bytes (normalmente). Segmento ® 64k bytes ( normalmente). Lenguajes Orientados a procedimientos Están fundamentados en la estructura del lenguaje usado originalmente para describir el problema, como también en el procedimiento empleado para resolverlo. Tiene por objeto descargar al programador de la tarea de reducir todos los cálculos y toma de decisiones a las pasos elementales requeridos por el repertorio limitado de operaciones ofrecido a nivel de lenguaje de maquina. Los lenguajes convencionales basados en el modelo computacional de Von Newman se llaman imperativos, basados en instrucciones o, simplemente, lenguajes Von Newman; Basic, Pascal, Fortran y Lenguaje C fueron los lenguajes imperativos de mayor influencia cuando aparecieron. Lenguajes de Cuarta Generación. Los 4GL se apoyan en unas herramientas de mucho más alto nivel denominadas herramientas de cuarta generación. El usuario no debe definir los pasos a seguir en un programa para realizar una determinada tarea, tan sólo debe definir una serie de parámetros que estas herramientas utilizarán para generar un programa de aplicación. Se dice que los 4GL pueden mejorar la productividad de los programadores en un factor de 10, aunque se limita el tipo de problemas que pueden resolver. Los 4GL abarcan: Lenguajes de presentación, como lenguajes de consultas y generadores de informes. Lenguajes especializados, como hojas de cálculo y lenguajes de bases de datos. Lenguajes de muy alto nivel que se utilizan para generar el código de la aplicación. Generadores de aplicaciones que definen, insertan, actualizan y obtienen datos de la base de datos. Los lenguajes SQL y QBE son ejemplos de 4GL. Programación Visual. En general la programación visual está orientada a lo que sucede en la interfaz. Esta interfaz debió haber sido previamente diseñada por algún programa de diseño de interfaces que por lo general viene incluido en el entorno de desarrollo del lenguaje elegido. En el caso de Visual Basic para Windows, este programa de diseño de la interfaz es lo que primero salta a la vista, lo mismo que en Delphi. Ejemplos: VB: SUB Text1_Change () Command1.Enabled = (Text1.Text <> "") END SUB SUB Command1_Click () MsgBox "Hola " & Text1.Text ' Cámbiese el & por + en VB-DOS END SUB En Delphi el código podría será sí: procedure TForm1.Edit1Change(Sender: TObject); begin Button1.Enabled := (Edit1.Text <> '' ) end; procedure TForm1.Button1Click(Sender: TObject); Var iTonta : ShortInt; begin iTonta := MessageDlg ('Hola ' + Edit1.Text, mtInformation, [mbOk], 0) end; Programación Orientada a Objetos La programación Orientada a Objetos trata a los datos y a los procedimientos que operan sobre ellos como un solo objeto. La programación orientada a objetos surge como un nuevo paradigma que permite acoplar el diseño de programas a situaciones del mundo real, las entidades centrales son los objetos, que son tipos de datos que encapsulan con el mismo nombre estructuras de datos y las operaciones o algoritmos que manipulan esos datos. Algunas de las ventajas de esta aproximación son la reutilización de código, el desarrollo de prototipos. Algo de lo que debe de cumplir un lenguaje de este tipo es: Abstracción: que permite representar las características esenciales de un objeto, sin preocuparse de las no esenciales. Encapsulación: es la propiedad que permite asegurar que el contenido de la información de un objeto está oculto al mundo exterior. La encapsulación permite la división de un programa en módulos. Ejemplo de Programas orientados a Objetos: Java,C,C++ Niveles de lenguajes de programación les de lenguajes de programación LENGUAJES DE BAJO NIVEL: Dependen de la arquitectura del ordenador que tengamos, por ejemplo, el lenguaje Ensamblador Utilizan códigos muy cercanos a los de la maquina , lo que hace posible la elaboración de programas muy potentes y rápidos , pero son de difícil aprendizaje . LENGUAJES DE ALTO NIVEL: Utilizados por la mayoría de programadores, son mas fáciles de aprender que los de bajo nivel. Son portables (eso quiere decir que se pueden llevar a varias arquitecturas... por ejemplo, Intel, Mac ...) y disminuyen el tiempo de programación. Por ejemplo el lenguaje C. Software de Aplicación Programas de ampliación: o también llamado software de aplicación; es el software diseñado y escrito para realizar una tarea especifica, ya sea personal, o de procesamiento. Aquí se incluyen las bases de datos, tratamientos de textos, hojas electrónicas, gráficas, comunicaciones, etc.. El software de aplicación esta diseñado y escrito para realizar tareas específicas personales, empresariales o científicas como el procesamiento de nóminas, la administración de los recursos humanos o el control de inventarios. Todas éstas aplicaciones procesan datos (recepción de materiales) y generan información (registros de nómina). para el usuario. Este describe programas que son para el usuario, así descrito para poder realizar casi cualquier tarea. Este es aquel cuyo que puede ser utilizado en cualquier instalación informática, independiente del empleo que vayamos a hacer de ella. Como existen muchos programas se dividenenvarias categorías: Aplicaciones de negocios. (Procesadores de palabras, hojas de cálculos, base de datos, Graficadores). Aplicaciones de Utilería. (Calculadora, cuadro de texto, buscadores de archivos) Aplicaciones Personales. (Generados o creados por un programador). Aplicaciones de Entretenimiento.( Juegos, reproductores). Software de Sistemas. Es aquél software que se desarrolla en base a una necesidad, es aquel que un desarrollador puede implementar para solucionar algún conflicto en una empresa. En este caso la diferencia es que el software de aplicación nos provee de herramientas que nos auxiliaran en la documentación o desarrollo de algunas cosas que son en cierta manera genérica y el de sistemas es para resolver un problema en especial.