FP_U1

9
UNIDAD 1 CONCEPTOS BASICOS. 1 1.1 CLASIFICACIÓN DEL SOFTWARE El software son los programas los cuales contienen las instrucciones responsables de que el Hardware realice su tarea, se le denomina Software a todos los componentes intangibles de un ordenador, es decir, el conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos de un sistema de cómputo. Esto incluye aplicaciones informáticas tales como un procesador de textos, que permite al usuario realizar una tarea, sistema operativo que permite funcionar al resto de los programas adecuadamente. - SOFTWARE DE SISTEMAS: Son los programas que permiten la administración y control de la parte física o los recursos de la computadora, también llamado sistema operativo el cual tiene tres grandes funciones: coordina y manipula el hardware del ordenador, como la memoria, las unidades de disco; organiza los archivos en diversos dispositivos de almacenamiento y gestiona los errores de hardware y del mismo software. Interactúa entre el usuario y los componentes hardware del ordenador. Se clasifican en Sistemas Operativos Monousuarios, Monotarea y Multiusuarios, Multitarea. Los sistemas operativos de tarea única, los más primitivos, solo pueden manejar un proceso en cada momento. Todos los sistema operativos modernos son multitarea, esto quiere decir que puedes realizar varias acciones a la ves como por ejemplo mandar a imprimir y estar trabajando con otro documento o lo mas usual estar navegando por internet y escuchar muisca Sistemas operativos comerciales: · Windows XP / Windows Vista · Mac OS X: para ordenadores Apple. · Unix: Creado por AT&T en 1970 · Linux - SOFTWARE DE APLICACION: Son aquellos programas que nos ayudan a tareas específicas como edición de textos, imágenes, cálculos, etc. Suele resultar una solución informática para la automatización de ciertas tareas complicadas como puede ser la contabilidad o la gestión de un almacén. Ciertas aplicaciones desarrolladas ‘a medida’ suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, de hoja de cálculo y de base de datos. Como existen muchos programas se dividen en cuatro categorías de software de aplicaciones: – Aplicaciones de negocios. – Aplicaciones de Utilería. – Aplicaciones Personales. – Aplicaciones de Entretenimiento. - Aplicaciones de negocios: Las aplicaciones más comunes son procesadores de palabras, software de hojas de cálculo, sistemas de bases de datos y Graficadores * Procesadores de palabras: Estos permiten hacer cambios y correcciones con facilidad, permiten revisar la ortografía e incluso la gramática de un documento, cambiar la apariencia de la letra, agregar gráficos, fusionar listas de direcciones con cartas con envío de correo en

description

Conceptos basicos de fundamentos de programacion

Transcript of FP_U1

Page 1: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

1

1.1 CLASIFICACIÓN DEL SOFTWARE

El software son los programas los cuales contienen las instrucciones responsables de que el Hardware realice su tarea, se le denomina Software a todos los componentes intangibles de un ordenador, es decir, el conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos de un sistema de cómputo. Esto incluye aplicaciones informáticas tales como un procesador de textos, que permite al usuario realizar una tarea, sistema operativo que permite funcionar al resto de los programas adecuadamente.

- SOFTWARE DE SISTEMAS: Son los programas que permiten la administración y control de la parte física o los recursos de la computadora, también llamado sistema operativo el cual tiene tres grandes funciones: coordina y manipula el hardware del ordenador, como la memoria, las unidades de disco; organiza los archivos en diversos dispositivos de almacenamiento y gestiona los errores de hardware y del mismo software.

Interactúa entre el usuario y los componentes hardware del ordenador. Se clasifican en Sistemas Operativos Monousuarios, Monotarea y Multiusuarios, Multitarea. Los sistemas operativos de tarea única, los más primitivos, solo pueden manejar un proceso en cada momento. Todos los sistema operativos modernos son multitarea, esto quiere decir que puedes realizar varias acciones a la ves como por ejemplo mandar a imprimir y estar trabajando con otro documento o lo mas usual estar navegando por internet y escuchar muisca

Sistemas operativos comerciales:

· Windows XP / Windows Vista · Mac OS X: para ordenadores Apple. · Unix: Creado por AT&T en 1970 · Linux

- SOFTWARE DE APLICACION: Son aquellos programas que nos ayudan a tareas específicas como edición de textos, imágenes, cálculos, etc. Suele resultar una solución informática para la automatización de ciertas tareas complicadas como puede ser la contabilidad o la gestión de un almacén. Ciertas aplicaciones desarrolladas ‘a medida’ suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, de hoja de cálculo y de base de datos. Como existen muchos programas se dividen en cuatro categorías de software de aplicaciones: – Aplicaciones de negocios.

– Aplicaciones de Utilería.

– Aplicaciones Personales.

– Aplicaciones de Entretenimiento.

- Aplicaciones de negocios: Las aplicaciones más comunes son procesadores de palabras, software de hojas de cálculo, sistemas de bases de datos y Graficadores * Procesadores de palabras: Estos permiten hacer cambios y correcciones con facilidad, permiten revisar la ortografía e incluso la gramática de un documento, cambiar la apariencia de la letra, agregar gráficos, fusionar listas de direcciones con cartas con envío de correo en

Page 2: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

2

grupo, general tablas de contenido, etc. También se puede usar para crear cualquier tipo de documento (carta de negocio, documentos legales).

* Hojas de cálculo: son procesadores de números tridimensionales. Se pueden crear hojas de trabajo donde puedes colocar textos, números o formulas en las celdas, obteniendo una hoja contable computarizada. También puede crear gráficas y tablas para mostrar gráficamente relaciones entre números.

* Graficadores: Se utilizan para crear ilustraciones desde cero (0) los; usuarios pueden pintar con dispositivos electrónicos de señalamiento en vez de lápices o brochas. Otro tipo de software para gráfico son las aplicaciones para presentaciones de gráficos con este se crean gráficas y tabla a color y de calidad profesional basados en datos numéricos de otro programa (hoja de cálculo).

* Manejador de base de datos: Se utiliza para organizar los datos guardados en la computadora y permite buscar datos específicos de diferentes maneras. También archivan los datos en orden alfabético esto permite obtener la información que se desean más fácilmente.

Aplicaciones de Utilería: Las utilerías, que componen la segunda categoría de aplicaciones de software, te ayudan a administrar a darle mantenimiento a tu computadora. Aplicaciones personales: Estos programas te permiten mantener una agenda de direcciones y calendario de citas, hacer operaciones bancarias sin tener que salir de tu hogar, enviar correo electrónico a cualquier parte del mundo y además conectarte a servicios informáticos que ofrecen grandes bases de datos de información valiosa.

Aplicaciones de entretenimiento: Software de entretenimiento: Videojuegos de galería, simuladores de vuelo, juegos interactivos de misterio y rompecabezas difíciles de solucionar. Muchos programas educativos pueden ser considerados como software de entretenimiento. Estos programas pueden ser excelentes herramientas para la educación.

SOFTWARE DE PROGRAMACIÓN: Un lenguaje de programación es una serie de comandos que nos permiten codificar instrucciones de manera que sean entendidas y ejecutadas por una computadora. Los lenguajes de programación evolucionan a medida que lo hacen los Sistemas Operativos en que funcionan, siempre ha sido así. Nunca un lenguaje de programación determinó un Sistema Operativo, por el contrario los Sistemas Operativos determinaron los lenguajes de programación

Ejemplos de Lenguajes:

– Cobol

– Pascal

– Visual Basic

– Basic

– C

– C++, etc.

- SOFTWARE DE COMPRESIÓN: En la actualidad, existen programas de comprensión de archivos, cuya finalidad es reducir el espacio almacenado que ocupan en el disco. Para ello, se crearon distintas técnicas, según los diversos tipos de datos. Por ejemplo, para comprimir archivos gráficos, de video, o de sonidos, se usan los métodos de comprensión con pérdida de datos, es decir algunos de los datos son indefectiblemente eliminados cuando los archivos se

Page 3: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

3

comprimen. Sin embargo, este tipo de compresión es inaceptable para datos fundamentales, por ejemplo, los incluidos en las planillas de cálculos, las bases de datos y los documentos de textos. Para esos tipos de archivos, sólo se puede usar la comprensión sin pérdida de datos, la cual garantiza que no se pierda ni un solo bit de información durante las operaciones de comprensión o de descompresión.

1.2 ALGORITMOS

DEFINICIÓN: Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema.

Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación.

Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador.

CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos:

- Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.

- Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.

- Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.

- Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.

CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características:

1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.

2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.

3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.

4. Puede tener cero o más elementos de entrada.

5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.

PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:

- Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado. - Proceso, es la secuencia de pasos para ejecutar el algoritmo. - Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.

Page 4: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

4

TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:

- Diagramación libre (Diagramas de flujo). - Diagramas Nassi-Shneiderman. - Pseudocódigo. - Lenguaje natural (español, inglés, etc.). - Fórmulas matemáticas.

1.3 LENGUAJES DE PROGRAMACION

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML.

Según la forma de ejecución pueden ser:

Lenguajes compilados

Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.

Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).

Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.

Lenguajes interpretados

Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.

La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de

Page 5: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

5

ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.

PROGRAMACIÓN MODULAR

La programación estructurada es una técnica de diseño de programas que comenzó a ponerse en práctica a principios de los años 70. Su utilización tiene como objetivo paliar algunas deficiencias:

1. Los programas que están constituidos por un único bloque, más o menos grande, de código, dependiendo de la complejidad y tamaño de la aplicación, por ejemplo 5000 ó 6000 líneas de código sin comentar, sin documentar y sin estructurar, esto es, sin hacer uso de un sólo submódulo, son programas pocos legibles, difíciles de depurar y modificar y poco reutilizables.

2. Un problema complejo no puede solucionarse de una sola vez y con un único algoritmo; además, existen operaciones que se repiten una y otra vez a lo largo del programa, de tal manera que es necesario el mismo bloque de código pero con diferentes datos. Con el fin de dar solución a los puntos anteriores se introdujo la programación estructurada. Su objetivo primordial es resolver un problema, más o menos complejo, dividiéndolo en otros más sencillos, que ligados convenientemente, nos den la solución del problema original.

Cada subproblema se representará mediante uno o varios módulos según su complejidad. La idea es que estos módulos sean independientes, es decir, que se puedan modificar o reemplazar sin afectar al resto del programa o que puedan ser reutilizados en otros programas. Supongamos el siguiente ejemplo. “Un profesor quiere crear un programa para gestionar la notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas según las distintas calificaciones, etc.” Un posible división del problema en módulos sería: Esta subdivisión nos permitiría, fácilmente, cambiar la forma de visualizar a los alumnos, reutilizar el módulo “Visualizar” en otro programa y sobre todo es mucho más fácil de comprobar su funcionamiento.

Por tanto, las ventajas del diseño modular se traducen, principalmente, en que los programas son: más fáciles de escribir y probar (los módulos pueden escribirse y probarse separadamente) y más fáciles de mantener y documentar.

PROGRAMACION ESTRUCTURADA

Se refiere a un conjunto de técnicas que han ido evolucionando. Estas técnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas y que reducen los errores. Ésta incorpora entre otros elementos: el diseño descendente, recursos abstractos y estructuras básicas. La programación estructurada es una forma de escribir programación de ordenador de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional ( GOTO ).

Page 6: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

6

¿QUÉ ES UNA INTERFAZ GRAFICA DE USUARIO?

En el contexto del proceso de interacción persona-ordenador, la interfaz gráfica de usuario (IGU), es el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la representación del lenguaje visual, una interacción amigable con un sistema informático.

La interfaz gráfica de usuario (en inglés Graphical User Interface,GUI) es un tipo de interfaz de usuario que utiliza un conjunto de imágenes y objetos gráficos (iconos, ventanas, tipografía) para representar la información y acciones disponibles en la interfaz. Habitualmente las acciones se realizan mediante manipulación directa para facilitar la interacción del usuario con la computadora.

Surge como evolución de la línea de comandos de los primeros sistemas operativos y es pieza fundamental en un entorno gráfico.

Como ejemplo de interfaz GUI podemos citar el escritorio o desktop del sistema operativo Windows y el entorno X-Window de Linux.

1.4 PROGRAMA

Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.

En informática, se los denomina comúnmente binarios, (propio en sistemas Unix, donde debido a la estructura de este último, los ficheros no necesitan hacer uso de extensiones; posteriormente, los presentaron como ficheros ejecutables, con extensión .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilación y han sido creados, las instrucciones que se escribieron en un determinado lenguaje de programación, han sido traducidas al único idioma que la máquina comprende, combinaciones de ceros y unos llamado código máquina. El mismo término, puede referirse tanto a un programa ejecutable, como a su código fuente, el cual es transformado en un binario una vez que es compilado.

Generalmente el código fuente lo escriben profesionales conocidos como programadores. Este código se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo, y que posteriormente puede ser convertido en una imagen ejecutable a través de un programa-compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instrucción por instrucción.

De acuerdo a sus funciones, los programas informáticos se clasifican en software de sistema y software de aplicación. En los computadores actuales, al hecho de ejecutar varios programas de forma simultánea y eficiente, se le conoce como multitarea.

1.5 PROGRAMACION

Acción de programar. En computación, la programación es el proceso de escribir en un lenguaje de programación el código fuente de un software.

Un término más amplio de programación puede incluir no sólo a escribir, sino a analizar, probar, depurar y mantener el código programado.

Page 7: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

7

El fin último de la programación es crear programas o software, que luego será ejecutado por otro programa o directamente por el hardware de la computadora.

La programación es una parte del Ciclo de vida del software. Los modelos de análisis y desarrollo general de software son estudiados por la ingeniería del software.

1.6 PARADIGMAS DE PROGRAMACION

Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados. La resolución de estos problemas debe suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería de software.

Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.

Ejemplo :

Probablemente el paradigma de programación que actualmente es el más usado a todos los niveles es la orientación a objeto. El núcleo central de este paradigma es la unión de datos y procesamiento en una entidad llamada “objeto”, relacionable a su vez con otras entidades “objeto”.

Tradicionalmente datos y procesamiento se han separado en áreas diferente del diseño y la implementación de software. Esto provocó que grandes desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptación a los cambios y escalabilidad. Con la orientación a objetos y características como el encapsulado, polimorfismo o la herencia se permitió un avance significativo en el desarrollo de software a cualquier escala de producción.

La orientación a objeto parece estar ligado en sus orígenes con lenguajes como Lisp y Simula aunque el primero que acuño el título de programación orientada a objetos fue Smaltalk.

1.7 EDITORES DE TEXTO

Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato, conocidos comúnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. Hoy en día es comúnmente de 7- ó 8-bits en ASCII o UTF-8, rara vez EBCDIC.

Por ejemplo, un editor ASCII de 8 bits que lee el número binario 0110 0001 (decimal 97 o hexadecimal 61) en el archivo lo representará en la pantalla por la figura a, que el usuario reconoce como la letra “a” y ofrecerá al usuario las funciones necesarias para cambiar el número binario en el archivo.

Los editores de texto son incluidos en el sistema operativo o en algún paquete de software instalado y se usan cuando se deben crear o modificar archivos de texto como archivos de configuración, scripts o el código fuente de algún programa.

El archivo creado por un editor de texto incluye por convención en DOS y Microsoft Windows la extensión “.txt”, aunque pueda ser cambiada a cualquier otra con posterioridad. Tanto Unix como Linux dan al usuario total libertad en la denominación de sus archivos.

Page 8: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

8

Al trasladar archivos de texto de un sistema operativo a otro se debe considerar que existen al menos dos convenciones diferentes para señalar el término de una línea: Unix y Linux usan sólo retorno de carro en cambio Microsoft Windows usa al término de cada línea retorno de carro y salto de línea.

1.8 COMPILADOR E INTÉRPRETE

Un compilador acepta programas escritos en un lenguaje de alto nivel y los traduce a otro lenguaje, generando un programa equivalente independiente, que puede ejecutarse tantas veces como se quiera.

En un compilador hay que distinguir tres lenguajes diferentes:

- el de los programas de partida (LA)

- el de los programas equivalentes traducidos (LB), normalmente el lenguaje de máquina

- el lenguaje en que está escrito el propio compilador (LC), que puede ser igual o diferente a uno de los otros dos.

Los programas interpretados suelen ser más lentos que los compilados, pero los intérpretes son más flexibles como entornos de programación y depuración. Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.

Un intérprete traduce un código fuente en lenguaje máquina también. El intérprete difiere del compilador en que ejecuta cada orden una vez que se traduce. Este proceso puede hacer más lenta la ejecución del programa, así que los intérpretes se utilizan menos que los compiladores. Un intérprete es otra manera de implementar un lenguaje de programación. La interpretación comparte muchos aspectos con el compilador. Los análisis léxico, sintáctico y verificación de tipos son exactamente los mismos que en un compilador.

Pero en lugar de generar código del árbol sintáctico, el árbol sintáctico se procesa directamente para evaluar expresiones y ejecutar sentencias, y así hasta terminar. Un intérprete puede necesitar evaluar la misma parte del árbol sintáctico varias veces (por ejemplo cuando se hacen ciclos), por eso la interpretación puede ser más lenta que la ejecución de un programa compilado. Pero escribir un intérprete es más fácil de mover a una máquina diferente, así que para aplicaciones donde la velocidad no importa, lo mejor es utilizar un intérprete.

Es muy útil sabe cómo se hace un intérprete o un compilador, porque esto permite a los programadores tener una idea de lo que hacen los programas de alto nivel, lo que a su vez, ayudará a los programadores para crear código más eficiente. Otras razones. Los errores que devuelven los compiladores proporcionan una manera fácil de entender el código fuente; además, se conoce la diferencia entre errores léxicos, sintácticos, errores de tipos, y así.

1.9 EJECUTABLES

Es un archivo binario el cual la computadora interpreta como programa. En pocas palabras son programas que ha sido comprimidos en un formato de código máquina, que al momento de ejecutarse desempeñan la función para la que fueron hechos.

Generalmente, contiene instrucciones en código máquina de un procesador en concreto, pero también puede contener bytecode que requiera un intérprete para ejecutarlo. Además suele contener llamadas a funciones específicas de un sistema operativo (llamadas al sistema).

Page 9: FP_U1

UNIDAD 1 CONCEPTOS BASICOS.

9

Dependiendo del tipo de que se traten las instrucciones, hablaremos de ejecutables portables (se pueden ejecutar en varias plataformas) y no portables (destinado a una plataforma concreta). Por ejemplo, un ejecutable Java es portable ya que utiliza un bytecode no asociado a un procesador en concreto.

1.10 CONSOLA DE COMANDOS

Es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple. Debe notarse que los conceptos de CLI, Shell y Emulador de Terminal no son lo mismo, aunque suelen utilizarse como sinónimos.

La Línea de Comandos de Windows es una implementación de la consola MS-DOS para la interfaz gráfica de las diversas versiones Microsoft Windows.

La línea de comandos ha estado presente en forma activa en el sistema operativo Windows desde la versión 3.0 hasta la versión Windows 98, donde los programas de la interfaz gráfica eran ejecutados por medio de la consola y sobre la cual todo el sistema operativo era montado.

A partir de la versión de Windows XP, la línea de comandos pasó a segundo plano como un complemento de sistema, sin que perdiera la funcionalidad de la misma.