Las herramientas de software son. Software de herramientas. Ejemplos de programas. Tareas y funciones del software de la herramienta

resumen

SOFTWARE - un conjunto de programas del sistema de procesamiento de información y documentos de póliza necesarios para el funcionamiento de estos programas (GOST 19781-90). Además, un conjunto de programas, procedimientos y reglas, así como documentación relacionada con el funcionamiento del sistema de procesamiento de datos (ST ISO 2382/1-84).

SOFTWARE INSTRUMENTAL - software destinado a ser utilizado en el diseño, desarrollo y mantenimiento de programas. Por lo general, este término se usa para enfatizar la diferencia entre esta clase de software y el software de aplicación y sistema. software.

Un COMPILER es un compilador que convierte un programa escrito en un lenguaje fuente en un módulo de objeto.

Intérprete - un programa (a veces hardware) que analiza comandos o declaraciones de programa y los ejecuta inmediatamente.

SISTEMA OPERATIVO: un conjunto de programas de control y procesamiento que, por un lado, actúan como una interfaz entre los dispositivos del sistema informático y los programas de aplicación y, por otro lado, están diseñados para controlar dispositivos, administrar procesos informáticos, distribuir efectivamente recursos informáticos entre procesos de cómputo y organizar computación confiable.

PROGRAMA APLICADO: un programa diseñado para realizar ciertas tareas del usuario y está diseñado para la interacción directa con el usuario.

VISUALBASIC es una herramienta de desarrollo de software desarrollada por Microsoft e incluye un lenguaje de programación y un entorno de desarrollo.

VISUALBASICFORAPPLICATION: una implementación ligeramente simplificada del lenguaje de programación Visual Basic integrado en la línea de productos oficina de microsoft(incluidas las versiones de Mac OS), así como muchos otros paquetes de software como AutoCAD, SolidWorks, CorelDRAW, WordPerfect y ESRI ArcGIS.

El objeto del trabajo es estudiar los tipos y funciones del software, en particular, instrumental.

Clasificación de software:

Tipos de software de herramientas:

1) Editores de texto

4) compiladores

5) Intérpretes

6) Enlazadores

8) Ensambladores

9) Depuradores

10) Perfiladores

11) Generadores de Documentos

Para crear un programa en el lenguaje de programación seleccionado, debe tener los siguientes componentes:

2. Compilador o intérprete. El texto fuente se traduce a un código objeto intermedio utilizando un programa compilador.

El resultado del trabajo: Se considera el software, sus funciones y tipos, en particular el software instrumental, su esencia, tareas. El tercer capítulo analiza Microsoft Visual Basic como una herramienta de desarrollo de software y su dialecto: Microsoft Visual Basic para aplicaciones. A Papel a plazo Se implementó un algoritmo para la solución de un problema financiero y económico utilizando el lenguaje de programación Pascal.

Introducción

A mundo moderno más de una persona que ha probado los beneficios de la civilización no puede imaginar su vida sin el uso de tecnologia computacional. Su uso se da en cualquier esfera de la actividad humana: producción, comercio, educación, entretenimiento y comunicación de las personas, sus actividades científicas y culturales. Todo esto se debe a la posibilidad de seleccionar equipos informáticos para resolver cualquier tarea, incluso la más compleja.

Sin embargo, la universalidad y especialización de la tecnología informática está garantizada por el uso, sobre la base de casi cualquier computadora, de un conjunto diferente de software que brinda soluciones a cualquier tarea.

Todos vemos la gran variedad de programas informáticos y el ritmo vertiginoso de su crecimiento y mejora, y solo una pequeña parte de nosotros representa el lado invisible en su diseño, desarrollo y creación. Sin embargo, esta área de la tecnología informática es, en nuestra opinión, la más importante, ya que de su desarrollo dependerá el futuro de la tecnología informática.

Y dado que el desarrollo de cualquier programa de computadora sucede con el uso del software Tool, entonces en nuestro trabajo final nos gustaría detenernos en él en detalle, destacándolo de todo el software y revelando su esencia y características.

Para mayor claridad, consideraremos el software de herramientas (objeto de estudio) usando el ejemplo del paquete de software VisualBasicforApplication (objeto de estudio) utilizado para la programación en el entorno de Microsoft Office, la suite ofimática más común y popular.

1 software

1.1 Concepto y esencia del software

El software (SW) es una parte integral de un sistema informático. Es una continuación lógica de los medios técnicos de cualquier computadora. El alcance de una computadora en particular está determinado por el software creado para ella. La computadora en sí no tiene conocimiento en ningún área de aplicación. Todo este conocimiento se concentra en programas que se ejecutan en computadoras que tienen un conjunto de funcionalidades específicas y están diseñadas para realizar funciones específicas, en la mayoría de los casos, altamente especializadas, como crear y procesar imágenes gráficas o archivos de sonido.

Actualmente, el software consiste en cientos de miles de programas que están diseñados para procesar una amplia variedad de información para una variedad de propósitos.

Software (SW) también incluye toda el área de actividad en el diseño y desarrollo de software:

1) tecnología de diseño de software (por ejemplo, diseño de arriba hacia abajo, diseño estructural y orientado a objetos);

2) métodos para probar programas;

3) métodos para probar la corrección de los programas;

4) análisis de la calidad de los programas;

5) documentación de programas;

6) desarrollo y uso de herramientas de software que faciliten el proceso de diseño de software, y mucho más.

Hay muchas definiciones diferentes de software. En general, el software es un conjunto de programas de sistemas de procesamiento de información y documentos de programas necesarios para el funcionamiento de estos programas (GOST 19781-90). Además, un conjunto de programas, procedimientos y reglas, así como documentación relacionada con el funcionamiento del sistema de procesamiento de datos (ST ISO 2382/1-84).

El software es uno de los tipos de soporte del sistema informático, junto con el soporte técnico (hardware), matemático, informativo, lingüístico, organizativo y metodológico.

La jerga informática a menudo usa la palabra software de la palabra inglesa software, que se usó por primera vez en este sentido en un artículo del American Mathematical Monthly del matemático John W. Tukey de la Universidad de Princeton en 1958.

Otras definiciones:

1) SOFTWARE es un conjunto de programas que permiten el procesamiento automatizado de información en una computadora.

2) SOFTWARE (software de una computadora electrónica), un conjunto de programas de un sistema de procesamiento de datos y documentos de programa necesarios para la implementación de programas en una computadora electrónica.

3) SOFTWARE: un conjunto de programas para administrar el proceso de operación de la computadora, automatización de programación.

4) SOFTWARE - un conjunto de programas informáticos que proporcionan procesamiento o transmisión de datos.

Todas las definiciones son similares y reflejan la esencia del software: la organización de la interacción de la parte (técnica) del hardware, en forma de varios nodos integrados y dispositivos periféricos, su control y coordinación de la interacción general del sistema informático. entre sí y con el usuario.

1.2 Características del programa

Los conceptos anteriores de software determinan las funciones realizadas por el software en el proceso de funcionamiento de los equipos informáticos. La lista de estas funciones es muy diversa, pero condicionalmente se pueden dividir en los siguientes cinco tipos:

1. Hardware-mecánica. Hacen interfaz con varios componentes de la computadora, aseguran la transmisión de una señal de hardware de un componente a otro.

2. Lógica de máquina. Procesar e interpretar un conjunto de pulsos electromagnéticos. hardware en un código de programa lógicamente consciente con una cierta estructura y propiedades.

3. Información y mando. Verifican el cumplimiento del código del programa con los principios del sistema y crean estructura lógica información y ponerla en práctica.

4. Interfaz. Proporcionan procesamiento e interpretación del código del programa en un formato de visualización accesible para el usuario. Crea un ambiente propicio para la interacción "Ordenador-Hombre, Hombre-Ordenador".

5. Aplicado. Realiza acciones matemáticas, lógicas, físicas y otras con un conjunto de datos disponibles, es decir, procesa la información disponible para resolver determinados problemas.

Esta lista está lejos de ser exhaustiva, lo que indica la diversidad y ambigüedad de las funciones realizadas por el software.

1.3 Tipos de software

Dependiendo de las funciones que proporcione un determinado componente de la computadora, se hace necesario crear su propio software especializado para el mismo, motivo fundamental para la creación de software de varios tipos que se muestran en la (Fig. 1):

a) Programas de aplicación que proporcionan directamente la realización del trabajo requerido por los usuarios;

b) los programas del sistema diseñados para controlar el funcionamiento del sistema informático, realizan diversas funciones auxiliares, por ejemplo:

1) gestión de recursos informáticos;

2) creación de copias de la información utilizada;

3) verificar la operatividad de los dispositivos informáticos;

4) emisión de información de referencia sobre la computadora, etc.;

c) instrumentos sistemas de software, que facilitan el proceso de creación de nuevos programas para la computadora.

El software del sistema asegura el funcionamiento y mantenimiento de la computadora, además de automatizar el proceso de creación de nuevos programas. El software del sistema incluye: sistema operativo y su interfaz de usuario; software de herramientas; sistemas de mantenimiento.

El sistema operativo es una parte obligatoria de un software especial que garantiza el funcionamiento efectivo de una computadora personal en varios modos, organiza la ejecución de programas y la interacción del usuario y dispositivos externos con computadora

La interfaz de usuario (programas de servicio) son complementos de software del sistema operativo (shells y entornos) diseñados para simplificar la comunicación del usuario con el sistema operativo.

Los programas que proporcionan una interfaz conservan la forma de comunicación (diálogo) entre el usuario y el sistema operativo, pero cambian el idioma de comunicación (normalmente el idioma de los comandos se convierte en el idioma del menú). Los sistemas de servicio se pueden dividir condicionalmente en sistemas de interfaz, shells de sistemas operativos y utilidades.

Los sistemas de interfaz son potentes sistemas de servicio, la mayoría de las veces de tipo gráfico, que mejoran no solo la interfaz de usuario, sino también la interfaz del programa de los sistemas operativos, en particular, al implementar algunos procedimientos adicionales para dividir recursos adicionales.

Los shells de los sistemas operativos proporcionan al usuario una interfaz cualitativamente nueva en comparación con la implementada por el sistema operativo y hacen que el conocimiento de este último sea opcional.

Las utilidades automatizan la ejecución de ciertos procedimientos típicos y de uso frecuente, cuya implementación requeriría que el usuario desarrolle programas especiales. Muchas utilidades tienen una interfaz interactiva desarrollada con el usuario y están cerca en términos de comunicación con los shells.

Herramientas de software (sistemas de programación): una parte obligatoria del software, con cuyo uso se crean los programas. El software de herramientas incluye herramientas para escribir programas (editores de texto); herramientas para convertir programas en una forma adecuada para su ejecución en una computadora (ensambladores, compiladores, intérpretes, cargadores y enlazadores), herramientas para monitorear y depurar programas.

Los editores de texto le permiten editar, formar y combinar convenientemente los textos de los programas, y algunos, y controlar la sintaxis de los programas creados.

Un programa escrito en lenguaje algorítmico debe convertirse en un módulo objeto escrito en lenguaje máquina (en códigos binarios). Tal transformación es realizada por traductores (ensamblador, del lenguaje Assembler y compiladores, de lenguajes de alto nivel). Para algunos lenguajes algorítmicos, se utilizan intérpretes que no crean un módulo de objeto, sino que en cada ejecución siguiente del programa, traducen cada una de sus líneas o declaraciones individuales a lenguaje de máquina. El módulo de objeto es procesado por el cargador - enlazador, que lo convierte en un programa de máquina ejecutable.

Las herramientas de depuración le permiten rastrear programas (ejecución paso a paso con la emisión de información sobre los resultados de la ejecución), verificar la sintaxis del programa y los resultados intermedios en los puntos de interrupción y modificar los valores de las variables en estos puntos.

técnico y servicio postventa son herramientas de software para monitorear, diagnosticar y restaurar la salud de una computadora, discos, etc.

El software de aplicación proporciona una solución a las tareas del usuario. El concepto clave aquí es el paquete. programas de aplicación.

Un paquete de software de aplicación es un conjunto de programas para resolver una variedad de problemas sobre un tema o tema específico. Existen los siguientes tipos de paquetes de aplicaciones:

1) propósito general- centrado en la automatización de una amplia gama de tareas del usuario (procesadores de texto, editores de hojas de cálculo, sistemas de gestión de bases de datos, procesadores gráficos, sistemas de publicación, sistemas de automatización de diseño, etc.);

2) orientado a métodos: la implementación de varios métodos económicos y matemáticos para resolver problemas (programación matemática, planificación y gestión de redes, teoría de colas, estadísticas matemáticas, etc.);

3) orientado a problemas: destinado a resolver una tarea específica (problema) en un área temática específica (paquetes bancarios, paquetes contables, gestión financiera, sistemas de referencia legal, etc.).

El software de aplicación incluye herramientas de software de servicio que sirven para organizar un entorno de trabajo conveniente para el usuario, así como para realizar funciones auxiliares (gestores de información, traductores, etc.).

Al construir una clasificación de software, se debe tener en cuenta el hecho de que el rápido desarrollo de la tecnología informática y la expansión del alcance de las aplicaciones informáticas han acelerado considerablemente el proceso de evolución del software. Si antes era fácil enumerar las principales categorías de software: sistemas operativos, traductores, paquetes de software de aplicación, ahora la situación ha cambiado radicalmente. El desarrollo de software ha ido tanto en profundidad (nuevos enfoques para la construcción de sistemas operativos, lenguajes de programación, etc.) como en amplitud (los programas de aplicación han dejado de aplicarse y han adquirido valor independiente). El equilibrio entre los productos de software requeridos y los disponibles en el mercado está cambiando rápidamente. Incluso los productos de software clásicos, como los sistemas operativos, evolucionan constantemente y están dotados de funciones intelectuales, muchas de las cuales antes pertenecían únicamente a las capacidades intelectuales humanas.

2. Software de herramientas

2.1 Esencia y concepto de software instrumental

Software de herramientas (IPO): software destinado a ser utilizado en el diseño, desarrollo y mantenimiento de programas.

Utillaje aplicado en fase de desarrollo. El software de herramientas es un conjunto de programas utilizados para ayudar a los programadores en su trabajo, para ayudar a los gerentes de desarrollo de software en su deseo de controlar el proceso de desarrollo y los productos resultantes. Los representantes más famosos de esta pieza de software son programas de traductores de lenguajes de programación que ayudan a los programadores a escribir instrucciones de máquina. Los programas de la herramienta son traductores de Fortran, Cobol, Jovial, BASIC, APL y Pascal. Facilitan el proceso de creación de nuevos programas de trabajo. Sin embargo, los traductores de idiomas son solo la parte más conocida de los programas de herramientas; hay muchos de ellos.

El uso de computadoras para ayudar a crear nuevos programas está lejos de ser obvio para las personas que no son programadores profesionales. A menudo sucede que los profesionales hablan de software de herramienta (fase de desarrollo) y de sistema (fase de uso) al unísono, asumiendo que los no iniciados en los secretos de su habilidad conocen este papel del software de herramienta. Además de en la fase de uso (para programas de aplicación), el software del sistema también funciona en la fase de desarrollo, pero solo en combinación con el software de la herramienta. El software de herramientas o sistemas de programación son sistemas para automatizar el desarrollo de nuevos programas en un lenguaje de programación.

En el caso más general, para crear un programa en el lenguaje de programación seleccionado (lenguaje de programación del sistema), necesita tener los siguientes componentes:

1. Editor de texto para crear un archivo con el código fuente del programa.

2. Compilador o intérprete. El texto fuente se traduce a un código objeto intermedio utilizando un programa compilador. El texto fuente de un programa grande consta de varios módulos (archivos con textos fuente). Cada módulo se compila en un archivo separado con código objeto, que luego debe combinarse en una sola unidad.

3. Un enlazador o ensamblador que enlaza módulos de objetos y genera una aplicación viable: código ejecutable.

Un código ejecutable es un programa completo que se puede ejecutar en cualquier computadora que tenga el sistema operativo para el cual se creó el programa. Por regla general, el archivo resultante tiene la extensión .EXE o .COM.

Recientemente, los métodos de programación visual (utilizando lenguajes de secuencias de comandos) se han generalizado, centrados en la creación de aplicaciones de Windows. Este proceso está automatizado en entornos de diseño rápido. En este caso, se utilizan componentes visuales listos para usar, que se configuran mediante editores especiales.

Los editores (sistemas de programación que utilizan herramientas visuales) más populares para el diseño visual:

1) Borland Delphi: diseñado para resolver casi cualquier problema de programación de aplicaciones.

2) Borland C++ Builder es una excelente herramienta para desarrollar aplicaciones DOS y Windows.

3) Microsoft Visual Basic es una herramienta popular para crear programas de Windows.

4) Microsoft Visual C ++: esta herramienta le permite desarrollar cualquier aplicación que se ejecute en un entorno de sistema operativo como Microsoft Windows

Así, la esencia del software instrumental es crear cualquier programa ejecutable mediante la conversión de expresiones formalmente lógicas en código máquina ejecutable, así como su control y corrección.

2.2 Tareas y funciones del software de la herramienta

El software de herramientas, como un tipo especial de software, se caracteriza por características generales y particulares.

funciones, como para todo el software en general. Discutimos las funciones generales arriba, y las funciones especializadas inherentes solo a este tipo de programa son:

1. Creación del texto del programa desarrollado utilizando palabras de código especialmente establecidas (lenguaje de programación), así como un determinado conjunto de caracteres y su ubicación en el archivo creado: la sintaxis del programa.

2. Traducción de texto programa creado en un código orientado a máquina accesible para el reconocimiento por computadora. En el caso de un volumen significativo del programa creado, se divide en módulos separados y cada uno de los módulos se traduce por separado.

3. Conexión de módulos individuales en un solo código ejecutable, de acuerdo con la estructura necesaria, asegurando la coordinación de la interacción de las partes individuales entre sí.

4. Prueba y control del programa creado, detección y eliminación de errores formales, lógicos y sintácticos, comprobación de códigos prohibidos en los programas, así como evaluación del rendimiento y potencial del programa creado.

2.3 Tipos de software de herramientas

En base a las tareas asignadas al software instrumental, podemos distinguir un gran número de varios tipos de software instrumental:

1) Editores de texto

2) Entornos de Desarrollo Integrado

4) compiladores

5) Intérpretes

6) Enlazadores

7) Analizadores y generadores de analizadores (ver Javacc)

8) Ensambladores

9) Depuradores

10) Perfiladores

11) Generadores de Documentos

12) Herramientas de análisis de cobertura de código

13) Herramientas de Integración Continua

14) Herramientas de prueba automatizadas

15) Sistemas de control de versiones, etc.

Cabe señalar que los shells para crear programas de aplicación también son creados por programas de herramientas y, por lo tanto, pueden denominarse programas de aplicación. Considere brevemente el propósito de algunos programas instrumentales.

Editores de texto.

Un editor de texto es un programa informático diseñado para procesar archivos de texto, como crear y realizar cambios.

Tipos de editores de texto.

Convencionalmente se distinguen dos tipos de editores: los editores de texto en streaming y los interactivos.

Los editores de texto continuo son programas informáticos que están diseñados para procesar automáticamente datos de texto de entrada recibidos de un archivo de texto de acuerdo con reglas predefinidas por los usuarios. La mayoría de las veces, las reglas son expresiones regulares, en un dialecto específico de este editor de texto en particular. Un ejemplo de dicho editor de texto es el editor Sed.

Los editores de texto interactivos son una familia de programas informáticos diseñados para realizar cambios en Archivo de texto interactivamente. Dichos programas le permiten mostrar el estado actual de los datos de texto en un archivo y realizar varias acciones en ellos.

A menudo, los editores de texto interactivos contienen una funcionalidad adicional significativa diseñada para automatizar algunas de las acciones de edición o para realizar un cambio en la visualización de los datos de texto, según su semántica. El resaltado de sintaxis es un ejemplo del último tipo de funcionalidad.

Los editores de texto están diseñados para crear y editar documentos de texto. Los más comunes son MS WORD, Lexicon. Las principales funciones de los editores de texto son:

1) trabajar con fragmentos de documentos,

2) insertar objetos creados en otros programas

3) paginación del texto del documento

4) ingresar y editar tablas

5) ingresar y editar fórmulas

6) formato de párrafo

7) creación automática de listas

8) creación automática de una tabla de contenido.

Se conocen decenas de editores de texto. Los más accesibles son NOTEPAD(bloc de notas), WORDPAD, WORD. El trabajo de un editor de texto en particular generalmente está determinado por las funciones, cuyo propósito se refleja en los elementos del menú y en el sistema de ayuda.

Entorno de desarrollo integrado

El entorno de desarrollo integrado (ISD) es un sistema de software utilizado por los programadores para desarrollar software (SW). El entorno de desarrollo suele incluir:

1) editor de texto

2) compilador y/o intérprete

3) herramientas de automatización de montaje

4) depurador.

A veces también contiene herramientas para la integración con sistemas de control de versiones y una variedad de herramientas para simplificar la construcción de una interfaz gráfica de usuario. Muchos entornos de desarrollo modernos también incluyen un navegador de clases, un inspector de objetos y un diagrama de jerarquía de clases para usar en el desarrollo de software orientado a objetos. Aunque existen entornos de desarrollo diseñados para varios lenguajes de programación - como Eclipse, NetBeans, Embarcadero Estudio RAD, Qt Creator o Microsoft Visual Studio, por lo general, el entorno de desarrollo está diseñado para un lenguaje de programación específico, como Visual Basic, Delphi, Dev-C++.

Un caso especial de ISR son los entornos de desarrollo visual, que incluyen la capacidad de editar visualmente la interfaz del programa.

SDK.

SDK (del inglés SoftwareDevelopmentKit) o ​​"devkit" es un kit de desarrollo que permite a los especialistas en software crear aplicaciones para un paquete de software específico, herramientas de desarrollo de software, plataforma de hardware, sistema informático, consolas de videojuegos, sistemas operativos y otras plataformas.

El programador suele obtener el SDK directamente del desarrollador de la tecnología o el sistema de destino. A menudo, el SDK se distribuye a través de Internet. Muchos SDK se distribuyen de forma gratuita para animar a los desarrolladores a utilizar esta tecnología o plataforma.

Los proveedores de SDK a veces reemplazan el término Software en el Kit de desarrollo de software con una palabra más precisa. Por ejemplo, Microsoft y Apple proporcionan kits de desarrollo de controladores (DDK) para desarrollar controladores de dispositivos, mientras que PalmSource llama a su kit de herramientas de desarrollo "PalmOS Development Kit (PDK)".

Ejemplos de SDK :

5) Kit de desarrollo de Java

6) SDK de dispositivos Opera

compiladores.

compilador -

1) Programa o medios tecnicos El que realiza la compilación.

2) El programa de máquina utilizado para la compilación.

3) Un traductor que convierte un programa escrito en el idioma fuente en un módulo objeto.

4) Un programa que traduce el texto de un programa en un lenguaje de alto nivel a un programa equivalente en lenguaje máquina.

5) Un programa diseñado para traducir un lenguaje de alto nivel a código absoluto o, a veces, a lenguaje ensamblador. Información de entrada para el compilador ( fuente) es una descripción del algoritmo o un programa en un lenguaje específico de dominio, y la salida del compilador es una descripción equivalente del algoritmo en un lenguaje orientado a máquina (código objeto).

Compilacion -

1) Traducción del programa a un lenguaje cercano a la máquina.

2) Traducción de un programa escrito en el idioma fuente a un módulo objeto. Implementado por el compilador.

Compilar: traducir un programa de máquina de un lenguaje específico de dominio a un lenguaje orientado a máquina.

Tipos de compiladores :

1) Vectorizar. Traduce el código fuente al código de máquina de las computadoras equipadas con un procesador vectorial.

2) flexibles. Compilado de forma modular, controlado por tablas y programado en un lenguaje de alto nivel o implementado con un compilador compilador.

3) Diálogo.

4) incrementales. Retraduce fragmentos y extensiones del programa sin volver a compilar todo el programa.

5) Interpretativa (paso a paso). Realiza secuencialmente una compilación independiente de cada declaración individual (comando) del programa fuente.

6) Compilador de compiladores. Un traductor que toma una descripción formal de un lenguaje de programación y genera un compilador para ese lenguaje.

7) Depurar. Elimina ciertos tipos de errores de sintaxis.

8) Residente. Reside permanentemente en la memoria principal y está disponible para reutilizar muchas tareas.

9) Autocompilado. Escrito en el mismo idioma desde el que se realiza la emisión.

10) Universales. Basado en una descripción formal de la sintaxis y la semántica del lenguaje de entrada. Los componentes de dicho compilador son: el kernel, los cargadores sintácticos y semánticos.

Tipos de compilación :

1) Lote. Compilación de múltiples módulos fuente en un elemento de trabajo.

2) Línea por línea.

3) Condicional. Recopilación en la que el texto traducido depende de las condiciones especificadas en el programa fuente. Entonces, dependiendo del valor de alguna constante, puede activar o desactivar la traducción de una parte del texto del programa.

Estructura del compilador.

El proceso de compilación consta de los siguientes pasos:

1) Análisis léxico. En esta etapa, la secuencia de caracteres del archivo fuente se convierte en una secuencia de tokens.

2) Análisis sintáctico (gramatical). La secuencia de tokens se convierte en un árbol de análisis.

3) Análisis semántico. El árbol de análisis se procesa para establecer su semántica (significado), por ejemplo, vinculando identificadores a sus declaraciones, tipos, comprobaciones de compatibilidad, determinación de tipos de expresión, etc. El resultado suele denominarse "representación/código intermedio" y puede aumentarse con un árbol de análisis, un árbol nuevo, un conjunto abstracto de instrucciones o cualquier otra cosa conveniente para un procesamiento posterior.

4) Optimización. Las construcciones redundantes se eliminan y el código se simplifica manteniendo su significado. La optimización puede estar en diferentes niveles y etapas, por ejemplo, sobre el código intermedio o sobre el código de máquina final.

5) Generación de código. A partir de la representación intermedia se genera código en el idioma de destino.

En implementaciones específicas de compiladores, estas etapas se pueden separar o combinar de una forma u otra.

Difusión y enlace.

Una característica histórica importante del compilador, reflejada en su nombre (eng. compile - juntar, componer), era que también podía realizar enlaces (es decir, contenía dos partes: un traductor y un enlazador). Esto se debe al hecho de que la compilación separada y la vinculación como una etapa separada del ensamblaje surgieron mucho más tarde que la llegada de los compiladores. En este sentido, en lugar del término "compilador", a veces se usa el término "traductor" como su sinónimo: ya sea en la literatura antigua, o cuando se quiere enfatizar su capacidad para traducir un programa a código de máquina (y viceversa, usan el término "compilador" para enfatizar la capacidad de ensamblar a partir de muchos archivos uno).

Intérpretes.

Intérprete (lenguaje de programación) -

1) Un programa o herramienta técnica que realiza la interpretación.

2) El tipo de traductor que realiza el procesamiento y la ejecución operador por operador (comando por comando) del programa fuente o consulta (a diferencia de un compilador que traduce el programa completo sin ejecutarlo).

3) Un programa (a veces hardware) que analiza comandos o sentencias de programas y los ejecuta inmediatamente.

4) Un procesador de lenguaje que analiza el programa fuente línea por línea y simultáneamente realiza las acciones prescritas, y no forma un programa compilado en lenguaje máquina que se ejecuta posteriormente.

Tipos de intérprete.

Un intérprete simple analiza e inmediatamente ejecuta (la interpretación misma) el programa comando por comando (o línea por línea), a medida que su código fuente llega a la entrada del intérprete. La ventaja de este enfoque es la respuesta instantánea. La desventaja es que dicho intérprete detecta errores en el texto del programa solo cuando intenta ejecutar un comando (o línea) con un error.

Un intérprete de tipo compilador es un sistema de un compilador que traduce el código fuente del programa en una representación intermedia, por ejemplo, código de bytes o código p, y el intérprete mismo, que ejecuta el código intermedio resultante (la llamada máquina virtual). La ventaja de tales sistemas es la mayor velocidad de ejecución del programa (debido a la eliminación del análisis del código fuente en un paso único y separado, y la minimización de este análisis en el intérprete). Desventajas: mayor requisito de recursos y el requisito de la corrección del código fuente. Se usa en lenguajes como Java, PHP, Python, Perl (se usa bytecode), REXX (se guarda el resultado del análisis del código fuente), así como en varios DBMS (se usa p-code).

Si el intérprete de tipo compilador se divide en componentes, se obtiene un compilador de lenguaje y un intérprete simple con análisis de código fuente minimizado. Además, el código fuente de dicho intérprete no tiene que tener formato de texto o ser un código de bytes que solo este intérprete entiende, podría ser el código de máquina de alguna plataforma de hardware existente. Por ejemplo, máquinas virtuales como QEMU, Bochs, VMware incluyen intérpretes de código de máquina para procesadores de la familia x86.

Algunos intérpretes (por ejemplo, para Lisp, Scheme, Python, BASIC y otros) pueden funcionar en modo de diálogo o en el llamado bucle de lectura-computación-impresión (read-eval-printloop, REPL). En este modo, el intérprete lee una construcción de lenguaje completa (por ejemplo, s-expression en Lisp), la ejecuta, imprime los resultados y luego espera a que el usuario ingrese la siguiente construcción.

El lenguaje Forth es único, que puede funcionar tanto en los modos de interpretación como de compilación de datos de entrada, lo que le permite cambiar entre estos modos en cualquier momento, tanto durante la traducción del código fuente como mientras se ejecutan los programas.

También se debe tener en cuenta que los modos de interpretación se pueden encontrar no solo en el software, sino también en el hardware. Por lo tanto, muchos microprocesadores interpretan el código de máquina utilizando microprogramas integrados, y los procesadores de la familia x86, comenzando con Pentium (por ejemplo, en la arquitectura Intel P6), durante la ejecución del código de máquina, lo pretraducen a un formato interno (a una secuencia de microoperaciones).

El algoritmo del intérprete simple :

2. analizar la instrucción y determinar las acciones apropiadas;

3. tomar las medidas apropiadas;

4. si no se alcanza la condición de terminación del programa, lea la siguiente instrucción y vaya al punto 2.

Ventajas y desventajas de los intérpretes.

1) Mayor portabilidad de los programas interpretados: el programa se ejecutará en cualquier plataforma que tenga un intérprete adecuado.

2) Como regla general, medios más avanzados y visuales para diagnosticar errores en los códigos fuente.

3) Simplificación de la depuración de los códigos fuente del programa.

4) Tamaños de código más pequeños en comparación con el código de máquina obtenido después de compiladores convencionales.

1) Un programa interpretado no puede ejecutarse por separado sin un programa intérprete. El intérprete en sí puede ser muy compacto.

2) Un programa interpretado se ejecuta más lentamente porque el análisis intermedio del código fuente y la programación de su ejecución requieren tiempo adicional en comparación con la ejecución directa del código de máquina en el que se podría compilar el código fuente.

3) Prácticamente no hay optimización de código, lo que conlleva pérdidas adicionales en la velocidad de los programas interpretados.

Enlazador.

Un enlazador (también un enlazador, enlazador) es un programa que realiza enlaces: toma uno o más módulos de objetos como entrada y ensambla un módulo ejecutable a partir de ellos.

Para enlazar módulos, el enlazador usa las tablas de nombres creadas por el compilador en cada uno de los módulos objeto. Dichos nombres pueden ser de dos tipos:

1) Nombres definidos o exportados: funciones y variables definidas en este módulo y proporcionadas para su uso por otros módulos.

2) Nombres no definidos o importados: funciones y variables a las que se refiere el módulo, pero no las define dentro de sí mismo.

El trabajo del enlazador es resolver las referencias a nombres no definidos en cada módulo. Para cada nombre importado, su definición se encuentra en otros módulos, la mención del nombre se reemplaza por su dirección.

El enlazador normalmente no realiza la verificación de tipo o conteo de los parámetros de procedimiento y función. Si es necesario combinar módulos de objetos de programas escritos en lenguajes fuertemente tipados, una utilidad adicional debe realizar las comprobaciones necesarias antes de iniciar el enlazador.

ensamblador.

Ensamblador (del inglés ensamblador - ensamblador): un programa de computadora, un compilador del código fuente de un programa escrito en lenguaje ensamblador en un programa en lenguaje de máquina.

Al igual que el propio lenguaje (ensamblador), los ensambladores tienden a ser específicos de una arquitectura, un sistema operativo y una variante de sintaxis particulares del lenguaje. Al mismo tiempo, existen ensambladores multiplataforma o completamente universales (más precisamente, universales limitados, porque es imposible escribir programas independientes del hardware en un lenguaje de bajo nivel) que pueden funcionar en diferentes plataformas y sistemas operativos. Entre estos últimos, también se puede destacar un grupo de ensambladores cruzados capaces de ensamblar código máquina y módulos ejecutables (archivos) para otras arquitecturas y sistemas operativos.

El ensamblaje puede no ser el primer o último paso en el camino para obtener un módulo de programa ejecutable. Por lo tanto, muchos compiladores de lenguajes de programación de alto nivel producen el resultado en forma de un programa en lenguaje ensamblador, que luego es procesado por el ensamblador. Además, el resultado del ensamblaje puede no ser un ejecutable, sino un módulo de objeto que contiene partes separadas y no adjuntas del código de la máquina y los datos del programa, del cual (o de varios módulos de objeto) en el futuro con la ayuda de un programa de vinculación (" enlazador") archivo ejecutable.

Un depurador o depurador es un módulo de entorno de desarrollo o una aplicación separada diseñada para encontrar errores en un programa. El depurador le permite recorrer el seguimiento, monitorear, establecer o cambiar los valores de las variables durante la ejecución del programa, establecer y eliminar puntos de interrupción o condiciones de interrupción, etc.

Lista de depuradores.

1) AQtime es un depurador comercial para aplicaciones creadas para .NET Framework versión 1.0, 1.1, 2.0, 3.0, 3.5 (incluidas las aplicaciones ASP.NET), así como para aplicaciones de Windows de 32 y 64 bits.

2) DTrace es un marco de seguimiento dinámico para Solaris, OpenSolaris, FreeBSD, Mac OS X y QNX.

3) Cerca Eléctrica - depurador de memoria.

4) GNU Debugger (GDB) es un depurador de programas del proyecto GNU.

5) IDA es un poderoso desensamblador y depurador de bajo nivel para sistemas operativos Windows y Linux.

6) Microsoft Visual Studio es un entorno de desarrollo de software que incluye herramientas de depuración de Microsoft Corporation.

7) OllyDbg es un depurador gratuito de bajo nivel para sistemas operativos de la familia Windows.

8) SoftICE es un depurador de bajo nivel para sistemas operativos de la familia Windows.

9) Sun Studio es un entorno de desarrollo de software que incluye el depurador dbx para los sistemas operativos Solaris y Linux de Sun Microsystems Corporation.

10) Dra. Watson es un depurador estándar de Windows que le permite crear volcados de memoria.

11) TotalView es uno de los depuradores comerciales para UNIX.

12) WinDbg es un depurador gratuito de Microsoft Corporation.

Generador de documentación: un programa o paquete de software que le permite obtener documentación destinada a programadores (documentación API) y/o para usuarios finales del sistema, de acuerdo con un código fuente especialmente comentado y, en algunos casos, módulos ejecutables (obtenidos del salida del compilador).

Normalmente, el generador analiza el código fuente del programa, destacando las construcciones sintácticas correspondientes a los objetos significativos del programa (tipos, clases y sus miembros/propiedades/métodos, procedimientos/funciones, etc.). El análisis también utiliza metainformación sobre los objetos del programa, presentados en forma de comentarios de documentación. En base a toda la información recopilada, se forma la documentación preparada, generalmente en uno de los formatos generalmente aceptados: HTML, HTMLHelp, PDF, RTF y otros.

Documentación de comentarios.

Un comentario de documento es un comentario con formato especial en un objeto de programa para que lo use un generador de documentación específico. La sintaxis de las construcciones utilizadas en los comentarios de la documentación depende del generador de documentación que se utilice.

Los comentarios de la documentación pueden contener información sobre el autor del código, describir el propósito del objeto del programa, el significado de los parámetros de entrada y salida para una función/procedimiento, ejemplos de uso, posibles excepciones, características de implementación.

Los comentarios de documentación generalmente tienen el formato de comentarios de estilo C de varias líneas. En cada caso, el comentario debe ir antes del elemento documentado. El primer carácter de un comentario (y al comienzo de las líneas de comentario) debe ser *. Los bloques están separados por líneas en blanco.

3. Visual Basic para Aplicaciones

sistema operativo software

3.1 La esencia de VisualBasic y su breve historia

Microsoft Visual Basic (VB) es una herramienta de desarrollo de software desarrollada por Microsoft e incluye un lenguaje de programación y un entorno de desarrollo. El lenguaje Visual Basic heredó el espíritu, el estilo y en parte la sintaxis de su antecesor, el lenguaje BASIC, que tiene muchos dialectos. Al mismo tiempo, Visual Basic combina procedimientos y elementos de lenguajes de programación orientados a objetos y orientados a componentes. El entorno de desarrollo de VB incluye herramientas para diseñar visualmente la interfaz de usuario. (ver tabla).

Visual Basic (características clave)

Visual Basic se considera una buena herramienta para el desarrollo rápido de prototipos de programas, para el desarrollo de aplicaciones de bases de datos y, en general, para la forma basada en componentes de crear programas que se ejecutan bajo los sistemas operativos de la familia Microsoft Windows.

En el proceso de evolución, Visual Basic ha pasado por una serie de etapas sucesivas que le han permitido convertirse en uno de los lenguajes de programación más populares en la actualidad. Así que la evolución VisualBasic fue de la siguiente manera:

1. Mayo de 1991: lanzamiento de Visual Basic 1.0 para Microsoft Windows. La sintaxis QBasic se tomó como base del lenguaje, y la innovación, que luego trajo gran popularidad al lenguaje, fue el principio de comunicación entre el lenguaje y la interfaz gráfica.

2. Septiembre de 1992: se lanza Visual Basic 1.0 para DOS. No era totalmente compatible con la versión de Windows de VB, ya que era la próxima versión de QuickBASIC y se ejecutaba en modo de texto de pantalla.

3. Noviembre de 1992: lanzamiento de Visual Basic 2.0. El entorno de desarrollo se volvió más fácil de usar y funcionó más rápido.

4. verano de 1993: se lanzó Visual Basic 3.0 en las ediciones Standard y Professional. Además, se ha agregado al paquete un motor para trabajar con bases de datos de Access.

5. Agosto de 1995: Visual Basic 4.0: una versión que podía crear programas de Windows de 32 y 16 bits.

6. Febrero de 1997 - Visual Basic 5.0 - a partir de esta versión fue posible, junto con las aplicaciones convencionales, desarrollar componentes COM.

7. A mediados de 1998, se lanzó Visual Basic 6.0. Desde entonces, Microsoft ha cambiado drásticamente su política de idioma básico. En lugar de desarrollar Visual Basic, se creó un lenguaje Visual Basic .NET completamente nuevo.

8. En 2005, se lanzó una nueva versión de Visual Basic, incluida con Visual Studio. Estaba satisfecha con la nueva interfaz y las funciones. El lenguaje está basado en Visual Basic.NET.

9. A finales de 2007, Microsoft lanzó nueva versión Visual Basic: Visual Basic 2008, que también se basó en Visual Basic.NET.

Según la funcionalidad y las especificaciones de la aplicación, se pueden distinguir las siguientes variedades de este programa:

1. Visual Basic clásico (versiones 5-6) Este lenguaje está muy ligado a su entorno de desarrollo y al sistema operativo Windows, siendo exclusivamente una herramienta para escribir aplicaciones Windows.

2. VisualBasicforApplications (VBA) Esta es una herramienta de programación, casi no diferente del clásico Visual Basic, que está diseñado para escribir macros y otras aplicaciones para aplicaciones específicas. Más popular debido a su uso en paquete de microsoft oficina. El uso generalizado de Visual Basic para aplicaciones, junto con una falta inicial de atención a los problemas de seguridad, ha dado lugar a virus de macro generalizados.

3. VisualBasicScriptingEdition (VBScript) Lenguaje de secuencias de comandos, que es una versión algo truncada del Visual Basic normal. Se utiliza principalmente para automatizar la administración de sistemas Windows, así como para crear páginas ASP y scripts para Internet Explorer.

3.2 Interfaz VisualBasicforApplication, funciones y características principales

Al crear VisualBasicforApplication, Microsoft fijó como tarea principal la creación de un conjunto de herramientas que sea accesible para usuarios que no son programadores profesionales, pero que al mismo tiempo están lo suficientemente calificados para desarrollar y diseñar aplicaciones y programas basados ​​en Microsoft Office. Fue para resolver este problema que los desarrolladores crearon VBA, dotándolo con una serie de características únicas. Uno de los más valiosos para el usuario es la capacidad de crear y utilizar cuadros de diálogo no estándar (personalizados) en programas agregando un objeto UserForm al proyecto, así como una cómoda interfaz de usuario.

La interfaz del programa VisualBasicforApplication consiste en un complejo de varias ventanas y pestañas utilizadas en el diseño de la aplicación que se está creando, las principales de las cuales son:

1) la ventana Proyecto (Fig. 2), que muestra la estructura del proyecto que se está creando.

2) la ventana Código de programa (Fig. 3), que muestra el código de programa del proyecto que se está creando y permite escribir un programa la forma clásica usando el editor incorporado de palabras clave, de las cuales hay más de 16 mil en VBA. Además, esta ventana le permite editar el código y verificar si hay errores.

3) la pestaña Propiedades (Fig. 4), que muestra los parámetros establecidos para el objeto especificado y permite cambiar la configuración especificada.

Moviéndose entre ventanas y pestañas, el usuario puede personalizar fácilmente el proyecto creado.

Usando formularios VBA creados por el usuario, puede crear cuadros de diálogo personalizados para mostrar datos o recibir valores del usuario del programa de la manera que mejor se adapte a las necesidades del programa. Por ejemplo, puede crear un cuestionario, mostrar un cuadro de diálogo para mostrar preguntas de opción múltiple y permitir que el usuario seleccione una de las opciones de respuesta que considere correcta.

Los cuadros de diálogo no estándar permiten que el programa interactúe con su usuario de la manera más compleja y proporcione una variedad de datos de entrada y salida.

Se crea un cuadro de diálogo personalizado en VBA agregando un objeto UserForm al proyecto. Este objeto es un cuadro de diálogo vacío; tiene una barra de título y un botón de cierre, pero carece de otros controles. Se crea un cuadro de diálogo personalizado al agregar controles al objeto UserForm y, por lo general, se lo conoce simplemente como un formulario (Figura 5).

Cada objeto UserForm tiene propiedades, métodos y eventos que hereda de la clase de objeto UserForm.

Cada objeto UserForm también contiene un módulo de clase en el que el usuario agrega sus propios métodos y propiedades, o escribe procedimientos de eventos para ese formulario.

La capacidad de crear su propia interfaz independiente del entorno del programa de aplicación, como Excel, utilizando formularios de pantalla es una de las características más valiosas de VBA.

Los formularios de pantalla son ventanas para varios propósitos y tipos creados por el usuario para su aplicación. Contienen controles que permiten al usuario compartir información con la aplicación.

VBA utiliza el diseño gráfico del formulario generado, con configuraciones para las propiedades y controles del formulario, para obtener toda la información necesaria para mostrar el cuadro de diálogo: el tamaño del cuadro de diálogo, los controles que contiene, etc. Como resultado, VBA le permite mostrar un formulario de cuadro de diálogo con una sola declaración.

Para mostrar un cuadro de diálogo personalizado, utilice el método Show del objeto UserForm. Si el formulario no está actualmente cargado en la memoria, el método Show carga el formulario y lo muestra. Si el formulario ya está cargado, el método Show simplemente lo muestra.

Mostrar un solo cuadro de diálogo para completar una tarea no suele ser suficiente. Casi siempre es necesario determinar el estado de los controles del cuadro de diálogo para saber qué datos u opciones ha seleccionado el usuario. Por ejemplo, si se utiliza un cuadro de diálogo para preguntar al usuario por qué columnas y filas se debe ordenar la hoja de trabajo, debe poder averiguar qué valores ha ingresado el usuario después de que se cierra el cuadro de diálogo y antes de la operación de clasificación. en realidad comienza.

En otros casos, es posible que desee cambiar dinámicamente los títulos de los botones (u otros controles) en un cuadro de diálogo, actualizar dinámicamente una etiqueta o campo asociado con un control numérico o validar dinámicamente los datos ingresados ​​en un cuadro de diálogo.

En VBA, es posible expandir significativamente el conjunto de funciones integradas en una aplicación estándar, como Microsoft Excel, así como crear funciones cuyos valores dependen de ciertas condiciones y eventos.

VBA le permite programar funciones de tabla. Para crear una hoja de trabajo separada para módulo de software, hay una pestaña Insertar módulo en el menú Visual, un comando Módulo en el menú Insertar macro. Después de eso, aparecerá una nueva hoja de trabajo "Modelo1". En el módulo del programa, debe describir la función en el lenguaje VBA. Puede trabajar en la ventana del módulo del programa como en la ventana de un pequeño editor de texto.

Las funciones se incrustan mediante el comando Examinador de objetos del menú Ver. Las funciones definidas por el usuario se tratan como objetos independientes en el programa. VBA tiene un conjunto significativo de funciones integradas, dividiéndolas en tipos.

Visual Basic le permite reservar variables, con o sin tamaño, trabajar con diferentes tipos de datos, usar constantes, trabajar con funciones y operadores matemáticos y usar operadores adicionales. Se proporciona el uso de operadores For Next, Do loop, objetos del tipo "timer" (cronómetro invisible en el programa). La precisión de establecer la hora en el programa es de 1 milisegundo o 1/1000 seg. Un temporizador de ejecución se ejecuta constantemente, es decir, la rutina de interrupción correspondiente se ejecuta después de un intervalo de tiempo específico, hasta que el usuario detiene el temporizador o desactiva el programa.

En VBA, puede establecer cualquier propiedad para un formulario, incluido el título, el tamaño, el tipo de marco, el color de fondo y de los caracteres, la fuente del texto y la imagen de fondo.

Para resumir todas las funciones del programa, Visual Basic forApplication le permite:

1) trabajar con controles

Ventajas :

1. Alta velocidad de creación de aplicaciones GUI para MS Windows.

2. Sintaxis simple que te permite aprender el idioma muy rápidamente.

3. Capacidad de compilar tanto en código máquina como en código P (a elección del programador). En el modo de depuración, el programa siempre (independientemente de la elección) se compila en código P, lo que le permite pausar la ejecución del programa, realizar cambios significativos en el código fuente y luego continuar la ejecución: una recompilación completa y reinicio de el programa no es necesario.

4. Protección contra errores asociados al uso de punteros y acceso a memoria. Este aspecto hace que las aplicaciones de Visual Basic sean más estables, pero también es objeto de críticas.

5. Capacidad de usar la mayoría de las funciones de WinAPI para expandir la funcionalidad de la aplicación. Dan Appleman, quien escribió el libro Guía del programador de Visual Basic para la API de Win32, exploró más a fondo este problema.

Crítica :

1. A menudo se critican aspectos de Visual Basic como la capacidad de desactivar los medios de seguimiento de variables declaradas, la posibilidad de conversión implícita de variables, la presencia del tipo de datos Variant. Según los críticos, esto hace posible escribir código extremadamente malo. Por otro lado, esto puede verse como un plus, ya que VB no impone "buen estilo", sino que da más libertad al programador.

2. Falta de punteros, acceso a memoria de bajo nivel, inserciones ASM. Aunque el paradigma de Visual Basic permite que el programador promedio de VB prescinda de todo esto, estas cosas también son criticadas a menudo. Y aunque, usando características no documentadas y ciertos trucos, todo esto se puede implementar en VB (por ejemplo, usando funciones para obtener punteros VarPtr(), StrPtr() y ObjPtr()); usar estos trucos es mucho más difícil que, por ejemplo, en C++.

Sin embargo, vale la pena señalar que todas las deficiencias del lenguaje provienen de su principal ventaja: la simplicidad de desarrollar una interfaz gráfica. Por lo tanto, muchos programadores utilizan Visual Basic para desarrollar la interfaz de usuario y la funcionalidad del programa se implementa como bibliotecas de vínculos dinámicos (DLL) escritas en otro lenguaje (la mayoría de las veces C++).

4. Parte práctica

4.1 Planteamiento del problema

Dibuja un diagrama de bloques y escribe un programa en Pascal. Calcular el valor intrínseco de los valores. El valor intrínseco de un activo está determinado por el flujo de ingresos futuros de ese activo

pv es el valor intrínseco actual de la acción

c es el rendimiento esperado del activo en cuestión

r es la tasa de rendimiento esperada por el inversor para un rendimiento con un nivel de riesgo adecuado

n es el factor tiempo (en meses).

Realice análisis de mercado y ordene el resultado en orden ascendente de los datos recibidos.

4.2 Texto del programa en Pascal

pv: matriz de reales;

writeLn('Ingrese el ingreso esperado de ',i,'th activo c:');

writeLn('Ingrese la tasa de retorno esperada por el inversionista r:');

pv:=c/exp(ln(1+r)*i);

writeLn('el valor intrínseco actual del activo es', pv[i]:1:3);

writeLn('El valor intrínseco del activo es', s);

para j:=1 a 4 hacer

si pv[j] > pv entonces

writeLn('Valor del activo ordenado en orden ascendente');

para i:=1 a 5 hacer

escribirLn(pv[i]:1:3);

4.3 Caso de prueba

4.4El resultado de la ejecución del programa en el caso de prueba

Conclusión

Entonces, resumiendo todo lo anterior, debe tenerse en cuenta que el software de herramientas es uno de los tipos de software, que tiene sus tareas y funciones generales.

Sin embargo, al ser un tipo de software altamente especializado, tiene un cierto conjunto de propiedades y funciones únicas que brindan una solución a sus tareas inherentes.

Cabe señalar la tendencia emergente hacia la simplificación del proceso de programación y la creación de una cierta subclase: programación semiprofesional para fines aplicados.

Esto es lo que le permitirá a un usuario de computadoras experimentado, pero no programador profesional, crea algunas aplicaciones y pequeños archivos ejecutables en el entorno de Microsoft Office, que se utilizan principalmente para fines contables y de gestión de documentos en pequeñas empresas.

Es con este propósito que Microsoft desarrolló el paquete de software VisualBasicforApplication, que facilita la programación y hace posible que los usuarios programen aplicaciones, no los programadores. Esta oportunidad se implementó principalmente mediante la creación de una sección del programa: "Editor de secuencias de comandos" y la capacidad de grabar y ejecutar "Macros" como un tipo separado de módulos programables gráficamente. Implementada la capacidad de crear aplicaciones con una interfaz gráfica para MS Windows. Además, la ventaja de este tipo de software de herramientas es una sintaxis simple que le permite aprender rápidamente el idioma y usarlo para programar en todas las aplicaciones estándar de Microsoft Office.

Por lo tanto, es difícil sobreestimar la importancia de las herramientas en general y de VisualBasic for Application en particular, aunque las deficiencias, como se mencionó anteriormente, también se presentan. Pero estos no son ni siquiera los aspectos negativos del producto, sino más bien pautas para seguir mejorando las herramientas en la persona de VisualBasicforApplication.

1. Lenguajes algorítmicos en tiempo real / Ed. Yanga S./ 2004

2. PC Magazine Edición Rusa №2 2008 Informática hoy.

3. Informática. / Ed. Mogilev A.V., Pak N.I., Henner E.K. / - M .: ACADEMIA, 2000.

4. Informática y Tecnologías de la información: Libro de texto / Ed. Romanova D.Yu. / LLC "Editorial" Eksmo ", 2007.

5. La última enciclopedia de la computadora personal /Ed. Leontieva V. / Moscú, 1999. – 271 pág.

6. Nuevos lenguajes de programación y tendencias en su desarrollo / Ed. Ushkova V. / 2001

7. Pedagogía / Ed. Pidkasistogo P.I. / - M .: Sociedad Pedagógica de Rusia, 2000.

8. Programación para Microsoft Excel 2000 en 21 días. / Ed. Harisa M./ - M.: Williams, 2000.

9. Simonovich S. Informática: un curso básico. proc. para universidades. San Petersburgo, Peter, 2002

10. Con Excel 2000 no hay problema. / Ed. Kowalski/-M.: Binom, 2000.

11. "Trabajo efectivo en Windows 98" /Ed. Stinson K. / 2000. – 247 pág.

12. Lenguajes de programación. kn.5 / Ed. Vaulina A.S. / 2003

13. Lenguajes de programación: desarrollo e implementación / Ed. Terrence P. / 2001

14. Libro de texto electrónico de informática. Alekseev E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Enviar su buen trabajo en la base de conocimiento es simple. Utilice el siguiente formulario

Los estudiantes, estudiantes de posgrado, jóvenes científicos que utilizan la base de conocimientos en sus estudios y trabajos le estarán muy agradecidos.

Alojado en http://www.allbest.ru/

Ejercicio 1

Software instrumental, su propósito y composición.

Tarea 2

La primera etapa: establecer la tarea.

La segunda etapa es una descripción económica y matemática del problema y la elección de un método para resolverlo.

La tercera etapa - algoritmización

Cuarta etapa - programación

Quinta etapa - depuración

Bibliografía

Ejercicio 1

Software instrumental, su propósito y composición.

Software

Un conjunto de programas diseñados para resolver problemas en una PC se llama software. La composición del software de PC se denomina configuración de software.

El software se puede dividir aproximadamente en tres categorías:

software del sistema (programas de uso general) que realizan varias funciones auxiliares, como crear copias de la información utilizada, emitir información de ayuda sobre la computadora, verificar la operatividad de los dispositivos informáticos, etc.

software de aplicación que proporciona el trabajo necesario en una PC: edición de documentos de texto, creación de dibujos o imágenes, procesamiento de matrices de información, etc.

software de herramientas (sistemas de programación) que proporciona el desarrollo de nuevos programas para una computadora en un lenguaje de programación.

Software del sistema

Estos programas de uso general no están relacionados con una aplicación de PC específica y realizan funciones tradicionales: programación y gestión de tareas, gestión de E/S, etc.

En otras palabras, los programas del sistema realizan varias funciones auxiliares, por ejemplo, crear copias de la información utilizada, emitir información de ayuda sobre la computadora, verificar la operatividad de los dispositivos informáticos, etc.

El software del sistema incluye:

sistemas operativos (este programa se carga en la memoria RAM cuando se enciende la computadora) método uso programa de aplicación

programas de shell (proporcionan una forma más conveniente y visual de comunicarse con una computadora que usar línea de comando DOS, como Norton Commander)

shells operativos: sistemas de interfaz que se utilizan para crear interfaces gráficas, multiprogramación, etc.

Controladores (los programas diseñados para controlar los puertos de los dispositivos periféricos generalmente se cargan en RAM al iniciar la computadora)

utilidades (programas auxiliares o de utilidad que presentan al usuario una serie de servicios adicionales)
Las utilidades incluyen:

administradores de archivos o administradores de archivos

medio de compresión dinámica de datos (le permite aumentar la cantidad de información en el disco debido a su compresión dinámica)

visor y herramientas de reproducción

herramientas diagnosticas; las herramientas de control le permiten verificar la configuración de la computadora y verificar la operatividad de los dispositivos de la computadora, principalmente los discos duros

Los medios de comunicación (programas de comunicación) están diseñados para organizar el intercambio de información entre computadoras.

herramientas de seguridad informática ( respaldo, software antivirus).

Cabe señalar que algunas de las utilidades forman parte del sistema operativo, mientras que la otra parte funciona de forma autónoma. La mayor parte del software común (del sistema) es parte del sistema operativo. Parte del software general está incluido en la computadora misma (parte de los programas del sistema operativo y las pruebas de control están grabadas en ROM o PROM instalado en placa del sistema). Parte del software compartido es software independiente y está disponible por separado.

Software de la aplicacion

Los programas de aplicación se pueden utilizar de forma independiente o como parte de sistemas de software o paquetes. Software de aplicación: programas que proporcionan directamente el trabajo necesario en una PC: editar documentos de texto, crear dibujos o imágenes, crear hojas de calculo etc.

Los paquetes de aplicación son un sistema de programas que, según su alcance, se dividen en paquetes orientados a problemas, de propósito general y paquetes integrados. Los paquetes integrados modernos contienen hasta cinco componentes funcionales: procesador de prueba y hoja de cálculo, DBMS, editor de gráficos, instalaciones de telecomunicaciones.

El software de aplicación incluye, por ejemplo:

Paquete MS OFFICE

Sistemas de contabilidad

Sistemas analíticos financieros

Paquetes de trabajo de oficina integrados

CAD - sistemas (sistemas de diseño asistido por computadora)

Editores HTML o editores Web

Navegadores - Visores web

Editor gráfico

software de herramientas

El software de herramientas o sistemas de programación son sistemas para automatizar el desarrollo de nuevos programas en un lenguaje de programación.

En el caso más general, para crear un programa en el lenguaje de programación seleccionado (lenguaje de programación del sistema), necesita tener los siguientes componentes:

1. Editor de texto para crear un archivo con el código fuente del programa.

2. Compilador o intérprete. El texto fuente se traduce a un código objeto intermedio utilizando un programa compilador. El código fuente de un programa grande consta de varios módulos (archivos fuente). Cada módulo se compila en un archivo separado con código objeto, que luego debe combinarse en una sola unidad.
3. Un enlazador o ensamblador que enlaza módulos de objetos y genera una aplicación viable: código ejecutable.

Un código ejecutable es un programa completo que se puede ejecutar en cualquier computadora que tenga el sistema operativo para el cual se creó el programa. Por regla general, el archivo resultante tiene la extensión .EXE o .COM.

4. Recientemente, se han generalizado los métodos de programación visual (utilizando lenguajes de secuencias de comandos) orientados a la creación de aplicaciones para Windows. Este proceso está automatizado en entornos de diseño rápido. En este caso, se utilizan componentes visuales listos para usar, que se configuran mediante editores especiales.

Los editores (sistemas de programación que utilizan herramientas visuales) más populares para el diseño visual:

Borland Delphi: diseñado para resolver casi cualquier problema de programación de aplicaciones

Borland C++ Builder es una excelente herramienta para desarrollar aplicaciones DOS y Windows

Microsoft Visual Basic es una herramienta popular para crear programas de Windows.

Microsoft Visual C++: esta herramienta le permite desarrollar cualquier aplicación que se ejecute en un entorno de sistema operativo como Microsoft Windows.

Tarea 2

Formar y cumplimentar el estado acumulativo de devengo de pago de las habitaciones del hotel "Inicio" de marzo de 2004. Las habitaciones individuales de hotel cuestan 750 rublos por cada cliente. por día, 2 plazas - 650 rublos. de cada cliente. La habitación se puede reservar. La reserva en el hotel puede ser de dos tipos: grupal e individual y se paga por separado. Al reservar para un grupo, el pago del primer día de estadía aumenta en un 25% de la tarifa de la habitación, en los casos en que no hay reserva o es individual, no hay recargo.

El tipo de reserva y el número de días de estancia en cada habitación se presentan en la tabla.

Calcule la tarifa de reserva para cada habitación, si corresponde. Calcule el pago de todos los días de estadía para cada habitación de hotel. Calcular los datos finales del hotel: pago de la reserva, número de días de estancia al mes, pago total del hotel del mes. Determinar el promedio de días de estadía, el valor del pago máximo y mínimo por los días de estadía.

Estado de devengo de pago de las habitaciones del hotel "Start" paramarzo de 2004

el numero de la habitacion

Tipo de habitación ocupada

tipo de armadura

Pago de reserva (rub.)

Número de días de estancia

1 plaza

1 plaza

1 plaza

biplaza

biplaza

biplaza

biplaza

Total:

Construir gráficos:

· Gráfico circular en la columna "Número de días de residencia".

· Histograma en la columna "Pago por días de estancia".

Estado de devengo de pago de las habitaciones del hotel "Start" de marzo de 2004

Es necesario formar y completar el estado de devengo de pago de las habitaciones del hotel "Start" para marzo de 2004.

Considere las etapas de preparación de una solución al problema en una PC.

La primera etapa: establecer la tarea.

La finalidad de resolver este problema es calcular el pago de la reserva y días de estadía de los huéspedes del hotel “Start” para el mes de marzo de 2004.

Para solucionar el problema se utilizan indicadores (información de entrada): número de habitación, tipo de habitación ocupada, tipo de reserva, tarifa de habitación por persona por día, número de días de estancia. Información de salida: pago de la reserva, pago de días de alojamiento.

La segunda etapa es una descripción económica y matemática del problema y la elección de un método para resolverlo.

El problema en consideración se resuelve mediante el método de conteo directo.

Designemos los datos iniciales:

OB - pago de la reserva;

TB - tipo de armadura;

SNCHD - tarifa de habitación por persona por día;

KDP - el número de días de residencia;

PAO - pago por días de estancia;

La tarifa de reserva se calcula de la siguiente manera:

SOBRE \u003d 0.25 * SNP,

si TB = "grupo", de lo contrario 0.

El pago por días de estadía se calcula de la siguiente manera:

ODP \u003d ACERCA DE + SNCHD * KDP.

Para solucionar este problema utilizaremos Microsoft Excel.

La tercera etapa - algoritmización

Corramos programa excel. Trabajaremos en la Hoja 1.

En el rango de celdas A1:G1, ingrese el nombre de la columna. Para darle un aspecto estético al encabezado de la tabla del nombre, colocaremos la gráfica en el centro de la celda en forma vertical y horizontal con ajuste de palabra. Para hacer esto, seleccione el rango de celdas A1:G1, llame al menú contextual (en el área seleccionada, haga clic en botón derecho del ratón haga clic), seleccione Formato de celdas en el menú. En el cuadro de diálogo que aparece, seleccione la pestaña Alineación, configure las opciones: Horizontalmente - centrado; Verticalmente - en el centro; ajuste de línea y presione Aceptar.

En las columnas A, B, C, D y F, ingrese los datos especificados en la tarea. A continuación, haremos los cálculos necesarios mediante fórmulas. A continuación se muestra una tabla de cálculo en fórmula y forma numérica.

Tabla en forma de fórmula.

el numero de la habitacion

Tipo de habitación ocupada

Precio de la habitación por persona por día (rub.)

tipo de armadura

Pago de reserva (rub.)

Número de días de estancia

Pago por días de estancia (rub.)

1 plaza

SI(D2="grupo",0.25*C2,0)

1 plaza

SI(D3="grupo";0.25*C3;0)

1 plaza

SI(D4="grupo";0.25*C4;0)

biplaza

SI(D5="grupo";0.25*C5;0)

biplaza

SI(D6="grupo";0.25*C6;0)

biplaza

SI(D7="grupo";0.25*C7;0)

biplaza

SI(D8="grupo";0.25*C8;0)

Total:

=SUMA(E2:E8)

=SUMA(F2:F8)

=SUMA(G2:G8)

Como resultado, obtenemos los siguientes resultados.

el numero de la habitacion

Tipo de habitación ocupada

Precio de la habitación por persona por día (rub.)

tipo de armadura

Pago de reserva (rub.)

Número de días de estancia

Pago por días de estancia (rub.)

1 plaza

1 plaza

1 plaza

biplaza

biplaza

biplaza

biplaza

Total:

537,50 rublos.

RUB 18.737,50

Determinamos el promedio de días de estadía, el valor del pago máximo y mínimo por los días de residencia. Para ello, utilizamos las funciones estadísticas PROMEDIO(), MAX() y MIN(), respectivamente. A continuación se muestra una tabla con cálculos adicionales en fórmula y forma numérica.

A continuación se presenta una tabla con cálculos adicionales en forma de fórmula.

Debajo están Gráfico circular en la columna "Número de días de estancia" y un histograma en la columna "Pago por días de estancia".

Cuarta etapa - programación

No se requiere programación para esta tarea.

Quinta etapa - depuración

Para verificar la exactitud de las fórmulas ingresadas, debe calcular manualmente los valores de control.

Calcule los valores de control para la habitación 31.

OB \u003d 0.25 * 750 \u003d 187.5, desde TB \u003d "grupo".

PAO \u003d 187.5 + 750 * 4 \u003d 3187.5.

Calcule los valores de control para la habitación 35.

OB = 0, ya que TB no es igual a "grupo".

PAO \u003d 650 * 1 \u003d 650.

Estos valores de control coinciden con los valores calculados en la tabla, por lo tanto, la tarea se completó correctamente.

Bibliografía

1. Ilyushechkin V., Kostin A. Software del sistema - M.: Escuela superior, 2008. 127 p.

2. Rudenko V. D. Curso de informatica. - K .: Phoenix, 2008. - 368 p.

3. Stepanov A. Informática: Libro de texto para universidades. 3ra edición. 2003. - 768 págs.

Alojado en Allbest.ru

Documentos similares

    Software de sistema, aplicado y herramienta. Los paquetes de aplicaciones más comunes. Propósito y estructura programas del sistema. Rellenar una tabla y trabajar con totales en Excel, filtrar datos y construir un gráfico.

    prueba, agregada el 29/01/2014

    La esencia del concepto de "software". Tipos de programas de aplicación. Modernos sistemas de programación para Computadoras personales. Niveles de software: básico, sistema, servicio. Clasificación del software de servicio.

    resumen, añadido el 01/04/2010

    Definición del concepto y esencia del software. Consideración de los fundamentos de los programas interpretados y compilados. Características de los programas propietarios, de código abierto, gratuitos, de sistema, de aplicación y de herramientas; principios básicos de su aplicación.

    resumen, añadido el 06/11/2014

    Esencia y propósito del software: un conjunto de programas que controlan el funcionamiento de una computadora o sistema automatizado. Funciones del sistema operativo: un conjunto de programas interactivos que aseguran la operación (funcionamiento) de una computadora.

    trabajo de control, añadido el 18/01/2011

    El desarrollo de paquetes de aplicaciones integradas, mecanismos como OLE y OpenDoc, asegurando su trabajo conjunto. Análisis de los complejos más conocidos formados por programas de aplicación que funcionan tanto de forma independiente como integrada.

    resumen, añadido el 03/03/2012

    Un conjunto de programas utilizados para trabajar en una computadora. Propósito funcional del software, normas legales para su uso. Sistema operativo y programas de servicio. Desarrollo de programas informáticos en un lenguaje de programación.

    presentación, añadido el 10/10/2016

    Metas y objetivos de la ingeniería de software. El concepto de software. Seis principios para el uso eficaz del software. Tipos de software: de todo el sistema, de red y aplicado. Principios de la construcción de software.

    documento final, agregado el 29/06/2010

    Revisión y características de los programas informáticos como conjunto de programas del sistema de procesamiento de información. Características del hardware como conjunto de dispositivos eléctricos y mecánicos que forman parte de la computadora. Interacción de sistemas.

    presentación, agregada el 23/12/2010

    Principales tipos de software. Características de los paquetes de aplicación. Tipos y grupos de sistemas numéricos. Traducción de números enteros y fraccionarios de un sistema numérico a otro. Operaciones aritméticas en el sistema binario. Delitos informáticos.

    hoja de trucos, agregada el 19/01/2014

    Clasificación del software, sus características, propósito. Software para trabajar con texto, imágenes, aplicado, ofimático, para trabajar en Internet. Sistemas de programación, especificaciones de software, qué son los virus.

Software de herramienta: software destinado a ser utilizado en el diseño, desarrollo y mantenimiento de programas, a diferencia del software de aplicación y de sistema.

El nivel instrumental (traductores y compiladores de lenguajes de programación, sistemas de programación) prevé la creación de nuevos programas para una computadora personal.

Lenguaje de programación- un sistema de signos formal diseñado para describir algoritmos en una forma que sea conveniente para el ejecutante (por ejemplo, una computadora). Un lenguaje de programación define un conjunto de reglas léxicas, sintácticas y semánticas utilizadas para compilar un programa de computadora. Le permite al programador determinar exactamente a qué eventos responderá la computadora, cómo se almacenarán y transmitirán los datos, y exactamente qué acciones se deben realizar con estos datos en diversas circunstancias.

Los lenguajes de programación se dividen en nivel bajo y nivel alto idiomas

Lenguaje de programación de bajo nivel- un lenguaje de programación cercano a la programación directa en códigos de máquina.

Por regla general, utiliza las características de una familia particular de procesadores. Un ejemplo bien conocido de un lenguaje de bajo nivel es el lenguaje ensamblador.

Lenguaje de programación de alto nivel- un lenguaje de programación diseñado para la velocidad y facilidad de uso por parte del programador. La palabra “alto nivel” aquí significa que el lenguaje está diseñado para resolver problemas abstractos de alto nivel y no opera con instrucciones para el equipo, sino con conceptos lógicos y abstracción de datos. Esto le permite programar tareas complejas más rápido y proporciona una relativa independencia del hardware. El uso de una variedad de traductores e intérpretes asegura que los programas escritos en lenguajes de alto nivel puedan comunicarse con diferentes sistemas operativos y hardware, mientras que su código fuente permanece prácticamente sin cambios.

Este tipo de separación de los lenguajes de alto nivel de la implementación de hardware de una computadora, además de muchas ventajas, también tiene desventajas. En particular, no permite la creación de instrucciones simples y precisas para el equipo utilizado. Los programas escritos en lenguajes de alto nivel son más fáciles de entender para el programador, pero mucho menos eficientes que sus contrapartes escritas en lenguajes de bajo nivel. Una de las consecuencias de esto fue la adición de soporte para uno u otro lenguaje de bajo nivel (lenguaje ensamblador) a la mayoría de los lenguajes de programación profesionales modernos de alto nivel.

Los lenguajes más comunes de este tipo son C++, básico visual, Java, Pitón, rubí, Perl, Delfos, PHP.


Los lenguajes de programación también se pueden dividir en compilado y interpretado.

Programa de lenguaje compilado usando un programa especial compilador se convierte (compila) en un conjunto de instrucciones para de este tipo procesador (código de máquina) y luego se escribe en un archivo ejecutable que se puede ejecutar como un programa separado. En otras palabras, el compilador traduce el programa de un lenguaje de alto nivel a un lenguaje de bajo nivel que el procesador entiende.

Si el programa está escrito en un lenguaje interpretado, entonces Interprete realiza (interpreta) directamente su texto sin traducción previa. El programa permanece en su idioma original y no se puede ejecutar sin un intérprete. Podemos decir que el procesador de la computadora es un intérprete del código máquina.

En breve, compilador traduce el programa a lenguaje de máquina de forma inmediata y completa, mientras crea un programa separado, y Interprete se traduce a lenguaje de máquina directamente durante la ejecución del programa.

La división en lenguajes compilados e interpretados es algo arbitraria. Por lo tanto, para cualquier lenguaje compilado tradicionalmente, como Pascal, puede escribir un intérprete. Además, la mayoría de los intérpretes "puros" modernos no ejecutan construcciones de lenguaje directamente, sino que las compilan en alguna representación intermedia de alto nivel (por ejemplo, con desreferencia variable y expansión macro).

Para cualquier idioma interpretado, puede crear un compilador; por ejemplo, el idioma Ceceo, originalmente interpretado, se puede compilar sin ninguna restricción. El código generado en tiempo de ejecución también se puede compilar dinámicamente en tiempo de ejecución.

Por regla general, los programas compilados se ejecutan más rápido y no requieren programas adicionales, ya que ya han sido traducidos a lenguaje máquina. Al mismo tiempo, cada cambio en el texto del programa requiere su recompilación, lo que crea dificultades en el desarrollo. Además, un programa compilado solo puede ejecutarse en el mismo tipo de computadora, y generalmente bajo el mismo sistema operativo, para el cual fue diseñado el compilador. Para crear un ejecutable para un tipo diferente de máquina, se requiere una nueva compilación.

Los idiomas interpretados tienen algunas características adicionales específicas, y los programas en ellos se pueden ejecutar inmediatamente después de la modificación, lo que facilita el desarrollo. Un programa de lenguaje interpretado a menudo se puede ejecutar en muchos tipos diferentes de máquinas y sistemas operativos sin esfuerzo adicional. Sin embargo, los programas interpretados se ejecutan notablemente más lentos que los programas compilados y no se pueden ejecutar sin un programa de interpretación adicional.

Algunos idiomas, por ejemplo, Java y C#, están entre compilados e interpretados. Es decir, el programa no se compila en lenguaje de máquina, sino en código de bajo nivel independiente de la máquina, código de bytes. A continuación, se ejecuta el código de bytes. máquina virtual. Para ejecutar el código de bytes, generalmente se usa la interpretación, aunque algunas de sus partes se pueden traducir a código de máquina directamente durante la ejecución del programa utilizando la tecnología de compilación sobre la marcha para acelerar el programa ( Compilación justo a tiempo). Para Java bytecode es ejecutado por la máquina virtual Java (máquina virtual de Java), por C# - Tiempo de ejecución de lenguaje común.

Clases de lenguajes de programación. Convencionalmente, los lenguajes de programación se pueden dividir en las siguientes clases (Fig. 2.).

A lenguajes de programación funcionales Las funciones son los principales bloques de construcción. Los textos del programa en lenguajes de programación funcionales describen "cómo resolver un problema", pero no prescriben una secuencia de acciones para resolverlo.

Las siguientes son generalmente consideradas como las principales propiedades de los lenguajes de programación funcionales:

brevedad y sencillez;

tipeo fuerte;

modularidad;

· funciones - objetos de cálculo;

pureza (sin efectos secundarios);

evaluación diferida (perezosa).


Arroz. 2. Clases de lenguajes de programación

Ejemplos de lenguajes de programación funcional: Lisp, Haskell, Clean, ML, etc.

programación procedimental es un paradigma de programación basado en el concepto llamada de procedimiento. Procedimientos, también conocidos como subrutinas, métodos o funciones (estos no son funciones matematicas, pero funciones como las que se utilizan en la programación funcional). Los procedimientos simplemente contienen una secuencia de pasos a realizar. Durante la ejecución del programa, se puede llamar a cualquier procedimiento desde cualquier lugar, incluido el propio procedimiento.

Ejemplos de lenguajes de programación procedimentales: Ada, BASIC, C, C++, Pascal, Visual Basic, Dilphi, etc.

Lenguaje de descripción de la interfaz o IDL(Inglés) Lenguaje de descripción de la interfaz) es un lenguaje informático puramente descriptivo que es sintácticamente similar a C++.

Ejemplos de lenguajes de descripción de interfaz: CORBA IDL (desarrollado dios mío para describir interfaces de objetos distribuidos - nombres de métodos y tipos de argumentos variables), COM IDL (similar al CORBA IDL de Microsoft, creado para describir interfaces entre módulos COM).

Lenguaje de programación orientado a objetos(lenguaje OO) - un lenguaje que favorece la programación orientada a objetos. En los lenguajes OO modernos, se utilizan métodos:

Herencia. Creación de una nueva clase de objetos mediante la adición de nuevos elementos (métodos). Actualmente, los lenguajes OO permiten la herencia múltiple, es decir combinar las capacidades de varias otras clases en una sola clase.

Encapsulación. Ocultación de datos, que (cuando se implementa correctamente) le permite realizar cambios en partes del programa sin problemas para otras partes del mismo. Esto simplifica enormemente el mantenimiento y las actualizaciones de software.

Polimorfismo. Durante la herencia, algunas partes (métodos) de la clase padre se reemplazan por otras nuevas que implementan acciones específicas para este hijo. Por lo tanto, la interfaz de clase sigue siendo la misma, pero la implementación de métodos con el mismo nombre y conjunto de parámetros es diferente.

Mecanografía. Le permite eliminar muchos errores en el momento de la compilación, las operaciones se realizan solo en objetos del tipo apropiado.

Ejemplos de lenguajes de programación OO: C++, Delphi (Object Pascal), C#, Java, etc.

programación lógica- un paradigma de programación, así como una sección de matemáticas discretas que estudia los métodos y capacidades de este paradigma, basado en la derivación de nuevos hechos a partir de estos hechos de acuerdo con reglas lógicas dadas. La programación lógica se basa en la teoría de la lógica matemática. El lenguaje de programación lógica más famoso es Prólogo, que es en esencia una máquina de inferencia universal que opera bajo el supuesto de que el mundo de los hechos es cerrado.

lenguaje de escritura(Inglés) Lenguaje de escritura, también llamado Lenguaje de escritura) es un lenguaje de programación diseñado para escribir "scripts", secuencias de operaciones que un usuario puede realizar en una computadora. Los lenguajes de secuencias de comandos simples solían llamarse a menudo lenguajes de procesamiento por lotes (idiomas por lotes). Los scripts siempre se interpretan, no se compilan.

En el programa de aplicación guión (guion) es un programa que automatiza alguna tarea que, sin un script, el usuario haría manualmente usando la interfaz del programa.

Ejemplos de lenguajes de programación de scripts: VBA (Visual Basic Application), AutoLISP, 3DMAX Script, JCL, JavaScript, etc.

En la actualidad, el uso generalizado sistemas informáticos con arquitecturas de clúster y GRID se dieron a la tarea de crear lenguajes de programación de alto nivel, potentes y fáciles de usar que le permitieran crear complejos, pero al mismo tiempo aplicaciones rapidas, usando efectivamente computación paralela. Uno de esos lenguajes es actualmente MC# (un lenguaje de programación orientado a objetos de alto nivel para la plataforma .NET que admite la creación de programas que funcionan en un entorno distribuido con llamadas asíncronas).

Preguntas para el autoexamen:

1. Software.

2. Nivel básico.

3. Nivel del sistema de software.

4. Nivel de servicio del software.

5. Nivel de aplicación del software.

6. ¿A qué se denominan controladores de dispositivos?

7. ¿A qué se denominan utilidades?

8. Definir un lenguaje de programación.

9. ¿Qué es un intérprete?

10. ¿Qué es un compilador?

11. Dé ejemplos de lenguajes de programación de bajo y alto nivel, ¿cuál es su diferencia?

12. ¿Qué clases de lenguajes de programación se pueden distinguir? Da ejemplos para cada clase.

13. Menciona las principales propiedades de los lenguajes de programación funcionales

14. Nombre qué métodos se utilizan en los lenguajes de programación modernos orientados a objetos.

15. ¿Qué es un guión (script)?

Un sistema instrumental es un sistema de software (es mejor hablar de un entorno de software donde incluimos al usuario, ya que es el usuario, sus conocimientos, habilidades y destrezas los que hacen que este sistema sea menos o más efectivo) para el uso acelerado y bajo. -desarrollo de recursos de algunos otros programas (o de tratamiento de datos), tanto sistémicos como aplicados, así como nuevos instrumentales.

Ejemplo. Consideremos un entorno de herramientas: un editor gráfico que le permite visualizar objetos gráficos de dos formas principales: vector o trama. El enfoque vectorial va formando dinámicamente en la pantalla (que se considera como un espacio de coordenadas) un objeto según su representación, compuesto por primitivas gráficas. El enfoque de trama forma el objeto completo en la pantalla en función de su diseño (plantilla, primitivas gráficas en la memoria de video), que consta de grupos individuales de píxeles en una matriz de píxeles bidimensional (análoga a una hoja de dibujo con un sistema de coordenadas cartesianas) . Esta matriz contiene información sobre el brillo y el color del grupo de imágenes (a veces 1-2 bytes o más por píxel), y la matriz en sí puede tener una dimensión de 1024x1024 píxeles o más. La imagen formada en la matriz de píxeles se almacena en la memoria de video de la pantalla y se muestra en la pantalla en el modo de regeneración de cuadros. Una imagen en color (pintura en color) es una manipulación de los píxeles de esta matriz. Los editores gráficos de imágenes en 3D permiten no solo diseñar objetos en 3D, sino también moverlos a lo largo de una ruta determinada, es decir, realizar animaciones. Un entorno gráfico potente es 3D-Studio Max de Autodesk. Además de este paquete, los paquetes gráficos son ampliamente utilizados:

GRAFLOtus Freelance: para trabajar con gráficos comerciales y por computadora;

Splash y Fanta: para trabajos en el campo del diseño y películas de computadora;

AutoCAD - para la automatización del trabajo de diseño;

CorelDraw, PaintBrush, AdobeIllustrator: para una variedad de aplicaciones.

Los traductores se analizan en detalle a continuación.

Considere los sistemas de interfaz para proporcionar una interfaz amigable entre usuarios y programas).

Ejemplo. El primer sistema de interfaz es Norton Commander (Norton Commander de Peter Norton). Los sistemas como Norton Commander (NC) se denominan shells operativos y se pueden clasificar como entornos de herramientas (herramientas para una interfaz más conveniente y cómoda con el sistema operativo, con sistema de archivos, sin pasar por el tedioso lenguaje de comandos del sistema operativo). Dicho sistema le permite copiar, crear, eliminar, renombrar, mover, ver y buscar archivos de manera visual y conveniente, etc. NC utiliza teclas de control y función, que corresponden a ciertas operaciones y respuestas del sistema:

Esc – cancelación de la función ejecutada;

Enter – ejecución de la función;

Pestaña: cambie el panel actual (activo) a otro (anteriormente pasivo);

PgUp (PgDn) - ir a la página hacia adelante (atrás);

Inicio (Fin) - establecido al principio (final) del directorio;

, , , – teclas para mover el cursor hacia la izquierda, arriba, derecha, abajo;

Ctrl-S (pulsación simultánea de las teclas Ctrl y S) - un carácter a la izquierda;

Ctr-D (Ctr-A, Сtrl-F) – un carácter a la derecha (una palabra a la izquierda, una palabra a la derecha);

F1: tecla de ayuda, sugerencias de estado activo (tecla de ayuda);

F2: escribir el archivo activo en el disco;

F3 - ver el contenido del archivo activo;

F4 - editar el archivo activo;

F5: copie el archivo activo en el directorio activo en otro panel;

F6 - renombrar (transferir) el archivo activo;

F7: crea un nuevo directorio (subdirectorio);

F8 - eliminar archivo activo;

F9 - activación de los comandos del panel (menú del sistema) NC;

F10 - salida de NC.

Un análogo doméstico más desarrollado de NC para sistemas Windows es, por ejemplo, el shell del administrador FAR.

Los sistemas instrumentales orientados a problemas sirven para resolver una clase bastante amplia de tareas de alguna orientación profesional orientada a problemas: CAD: sistemas de automatización de diseño, sistemas de control automatizados: sistemas de control automatizados, estaciones de trabajo: estaciones de trabajo automatizadas, DBMS: un sistema que proporciona una interfaz para programas de usuario y datos de una base de datos, ES: sistemas expertos, sistemas de acumulación, almacenamiento y actualización de experiencia, conocimiento, habilidades, habilidades (juicios de expertos) de expertos, etc.

Los programas independientes son aquellos programas que se desarrollan en grandes cantidades todos los días y se utilizan para diversos fines aplicados (enseñanza, computación, modelado, etc.).

Bibliotecas de programas: un conjunto de programas para resolver problemas de cierta dirección (por ejemplo, resolver sistemas de ecuaciones algebraicas), con una descripción, catálogo, instrucciones y colocados en medios externos de tal manera que puedan conectarse fácilmente al problema que se está resolviendo (al programa que se está ejecutando) en el curso de su solución.

El paquete de software de aplicación (APP) consta de las siguientes partes obligatorias:

descripción, presentación de la clase de tareas resueltas con la ayuda de PPP;

un conjunto de programas que brindan la construcción de programas de aplicación para PPP (cadena tecnológica);

un conjunto de programas aplicados que brindan resolución de problemas del área temática del PPP;

lenguaje de entrada (lenguaje de consulta) PPP;

base de datos para almacenar datos, transfiriéndolos a módulos PPP;

monitor (programa de control) PPP, que proporciona entrada de una tarea (solicitud), su decodificación y construcción de una cadena tecnológica a partir de módulos PPP para buscar una respuesta.

Ejemplo. Un paquete simple y versátil de análisis de datos estadísticos para estudiantes es el paquete SPSS. La interfaz de usuario con SPSS para Windows se implementa mediante menús y cuadros de diálogo simples, lo que significa que SPSS no requiere el uso de un lenguaje de comandos de paquetes especialmente aprendido. Hay un Editor de datos para el control visual de los datos ingresados, funcionalmente similar a los editores de hojas de cálculo, por ejemplo, Excel. Las variables variables se muestran en columnas, y los conjuntos de sus variaciones se muestran en filas, y cada una de las variables se puede encontrar llamando a su nombre. Entrada de datos: similar a la entrada de datos tabulares (por ejemplo, en Excel). A Cuadros de diálogo puede definir (ingresar o calcular) expresiones complejas utilizadas más tarde en los cálculos. Es posible aplicar varias leyes de distribución aleatoria. Más poderoso (pero también más difícil de aprender y usar) es el paquete de matemáticas MathCAD.

El sistema funcional de un paquete de software integrado no consta de módulos (como en PPP), sino de PPP.

Ejemplo. El paquete de software de aplicaciones integradas más común es MS Office (paquete de automatización de oficinas). Su núcleo incluye los siguientes paquetes: Word - editor de texto, Excel - hoja de cálculo, Access - DBMS, PowerPoint - sistema de presentación, etc.

El software especial (o único) se desarrolla para resolver problemas únicos muy importantes.

Ejemplo. Esta clase de software incluye el sistema de control de software para la nave espacial Buran.

Incluso con cientos de miles de programas de PC disponibles, los usuarios pueden necesitar algo que los programas existentes no necesitan (o necesitan, pero no). En estos casos, el software de herramientas se utiliza para crear nuevos programas, lo que permite el desarrollo de software de sistema y de aplicación. En consecuencia, desempeña el papel de medio de producción en la programación.

Sistemas de programación- estos son complejos de programas y otras herramientas destinadas al desarrollo y operación de programas en un lenguaje de programación específico para una arquitectura de PC específica (plataforma).

El sistema de programación suele incluir editor de texto programas, traductor programas, bibliotecas rutinas y editores de enlaces, depuradores, sistemas de ayuda y, a veces, varios programas auxiliares.

Lenguaje de programación es un lenguaje artificial con la ayuda del cual se escribe un algoritmo para resolver un problema en una forma comprensible para una PC.

Hay muchos lenguajes de programación, y cada uno puede tener docenas de versiones. Cada programador escribe programas en el lenguaje que le conviene, y no existe un lenguaje de programación que se considere generalmente aceptado.

Pero todos los lenguajes de programación tienen una cosa en común. Son comprensibles para los programadores, pero incomprensibles para el procesador, ya que el procesador solo puede trabajar con números binarios y, por lo tanto, comprende programas escritos solo en codigo de maquina. Por lo tanto, los programas escritos en cualquier lenguaje de programación se "traducen" primero al lenguaje del procesador, es decir, convertido en código máquina. Esta traducción es realizada por programas especiales de traducción. En inglés, "translation" se llama emisión (traducción), por lo que los programas que traducen programas a código de máquina se denominan traductores.

En el escenario transmisiones hay una transformación código fuente programas en código de objeto, que se procesa más editor de enlaces El editor de enlaces es un programa especial que proporciona la construcción de módulo de arranque, apto para la ejecución (Fig. 6.2).

Arroz. 6.2. Esquema del proceso de creación de un módulo de carga del programa.

Existen los siguientes tipos de traductores: intérprete, compilador.

Interprete toma el siguiente operador de idioma del texto del programa, analiza su estructura y lo ejecuta inmediatamente. Luego pasa al siguiente operador. Compilador traduce todo el programa a instrucciones de máquina.

De los lenguajes de programación universales de hoy, los siguientes son los más populares: BASIC (Basic), Pascal (Pascal), C ++ (C ++), Java (Java).

Para cada uno de estos lenguajes de programación, hoy en día existen muchos sistemas de programación producidos por varias empresas y enfocados en varios modelos de PC y sistemas operativos. Los siguientes entornos visuales para el diseño rápido de programas para Windows son los más populares: Microsoft Visual Basic; Borland Delfos; Constructor C++ de Borland Microsoft Visual Studio (Visual Basic.net, C++, C#, J#).

Los sistemas de programación modernos le permiten crear programas que se llaman al ver páginas web en la red electrónica global de Internet.

Una clase especial de sistemas de programación son los sistemas para crear aplicaciones cliente-servidor. Estos sistemas le permiten crear rápidamente Sistemas de información para divisiones e incluso grandes empresas. Contienen herramientas para crear una interfaz de usuario, descripciones de procedimientos de procesamiento de datos, preparativos para realizar acciones típicas de procesamiento de datos, etc. Estos sistemas, por regla general, le permiten trabajar con una variedad de DBMS: Oracle, Sybase, Microsoft SQL Server, etc. Entre los sistemas más populares de este tipo se encuentran PowerBuilder de Sybase, Delphi de Borland, Visual Basic de Microsoft. Por supuesto, las herramientas para crear aplicaciones cliente-servidor también se incluyen en el SGBD cliente-servidor (Oracle, Sybase, etc.), pero están enfocadas solo a este SGBD.