Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

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), es necesario contar con los siguientes componentes: 1. Un 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 en la salida: 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 DOS y Aplicaciones de 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

1.3.2. Sistemas de archivos

Todos los sistemas operativos modernos brindan la creación de un sistema de archivos que está diseñado para almacenar datos en discos y proporcionar acceso a ellos. Las funciones principales del sistema de archivos se pueden dividir en dos grupos:

 Funciones para trabajar con archivos (crear, eliminar, renombrar archivos, etc.)

 Funciones para trabajar con datos almacenados en archivos (escritura, lectura, búsqueda de datos, etc.)

Se sabe que los archivos se utilizan para organizar y almacenar datos en medios de máquinas. Un archivo es una secuencia de un número arbitrario de bytes que tiene un nombre propio único o un área con nombre en los medios de la máquina. La estructuración de un conjunto de archivos en los medios de la máquina se lleva a cabo utilizando directorios en los que se almacenan los atributos (parámetros y detalles) de los archivos. Un directorio puede incluir muchos subdirectorios, lo que da como resultado estructuras de archivos ramificadas en los discos.La organización de archivos en una estructura de árbol se denomina sistema de archivos. El principio de organización del sistema de archivos es tabular. El lugar donde se almacena un archivo en un disco se almacena en la tabla de asignación de archivos (FAT). Esta tabla se coloca al principio del volumen. Para proteger el volumen, se almacenan en él dos copias de la FAT. Si la primera copia FAT está dañada, las utilidades de disco pueden usar la segunda copia para reparar el volumen. FAT es similar a la tabla de contenido de un libro en términos de cómo lo usa el sistema operativo para encontrar el archivo y determinar los grupos que este archivo ocupa en el disco duro. La unidad física más pequeña de almacenamiento de datos es un sector. El tamaño del sector es de 512 bytes. Dado que el tamaño de la tabla FAT es limitado, para discos de más de 32 MB, no es posible proporcionar direccionamiento a cada sector individual. En este sentido, los grupos de sectores se combinan condicionalmente en clústeres. Un clúster es la unidad más pequeña de direccionamiento de datos. El tamaño del clúster, a diferencia del tamaño del sector, no es fijo y depende de la capacidad del disco.

Al principio, los disquetes y los discos duros pequeños (menos de 16 MB) usaban la versión de 12 bits de FAT (llamada FAT12). MS-DOS luego introdujo la versión de 16 bits de FAT para unidades más grandes. Los sistemas operativos MS DOS, Win 95, Win NT implementan campos de 16 bits en las tablas de asignación de archivos. El sistema de archivos FAT32 se introdujo en Windows 95 OSR2 y es compatible con Windows 98 y Windows 2000. FAT32 es una mejora de FAT diseñada para usar en volúmenes de más de 2 GB. FAT32 brinda soporte para discos de hasta 2 TB y un uso más eficiente del espacio en disco. FAT32 utiliza clústeres más pequeños para mejorar la eficiencia del espacio en disco. Windows XP usa FAT32 y NTFS. Una dirección más prometedora para el desarrollo sistemas de archivos fue la transición a NTFS (New Technology Sistema de archivos- un sistema de archivos de nueva tecnología) con nombres de archivo largos y un sistema de seguridad confiable. El tamaño de una partición NTFS no está limitado. NTFS minimiza el volumen Espacio del disco, perdido debido a la escritura de archivos pequeños en clústeres grandes. Además, NTFS le permite ahorrar espacio en disco al comprimir el propio disco, carpetas y archivos individuales.

De acuerdo con las formas de nombrar archivos, hay nombres "cortos" y "largos". De acuerdo con la convención adoptada en MS-DOS, la forma de nombrar archivos en computadoras IBM PC era la convención 8.3., es decir, El nombre del archivo consta de dos partes: el nombre en sí y la extensión del nombre. El nombre del archivo tiene 8 caracteres y la extensión tiene 3 caracteres. El nombre está separado de la extensión por un punto. Tanto el nombre como la extensión solo pueden incluir caracteres alfanuméricos latinos. Los nombres de archivo escritos de acuerdo con la convención 8.3 se consideran "cortos". Con la llegada del sistema operativo Windows 95, se introdujo el concepto de nombre "largo". Este nombre puede contener hasta 256 caracteres. Esto es suficiente para crear nombres de archivo significativos. Un nombre “largo” puede contener cualquier carácter excepto nueve caracteres especiales: \ / : * ? “< >|. Se permiten espacios y puntos múltiples en el nombre. El nombre del archivo termina con una extensión de tres caracteres. La extensión se utiliza para clasificar archivos por tipo. La unicidad del nombre del archivo está garantizada por el hecho de que el nombre completo del archivo se considera como el propio nombre del archivo junto con la ruta al mismo. Ruta de archivo comienza con el nombre del dispositivo e incluye todos los nombres de directorios (carpetas) por los que pasa. El carácter “\” se utiliza como separador (barra invertida - barra invertida), por ejemplo: estructura D:\Documents and Settings\TVA\My Documents\lessons-tva\robots.txt, se presentan al usuario en forma de una estructura jerárquica: es más conveniente para las personas y el sistema operativo se encarga de todas las transformaciones necesarias. La función de mantenimiento de la estructura de archivos incluye las siguientes operaciones que ocurren bajo el control del sistema operativo:

 crear archivos y nombrarlos;

 creación de catálogos (carpetas) y denominación de los mismos;

 renombrar archivos y directorios (carpetas);

 copiar y mover archivos entre discos de computadora y entre directorios (carpetas) de un disco;

 eliminación de archivos y directorios (carpetas);

 navegación estructura de archivos para acceder a un archivo dado, directorio (carpeta);

 administrar los atributos de los archivos.

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. Las funciones generales son consideradas por nosotros arriba, y las funciones especializadas inherentes solo este tipo los programas 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 del texto del programa creado a 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.

Tipos de software de herramientas.

En función de las tareas asignadas al software instrumental, se pueden distinguir un gran número de tipos diferentes 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 programas de herramientas también crean shells para crear programas de aplicación y, por lo tanto, se pueden clasificar como programas de aplicación. Considere brevemente el propósito de algunos programas instrumentales.

Editores de texto.

Editor de texto-- un programa de computadora diseñado para procesar archivos de texto, como crear y hacer cambios.

Tipos de editores de texto.

Convencionalmente, hay dos tipos de editores: editores de texto de transmisión y interactivo.

1) Editores de texto de transmisión

Los editores de texto de transmisión son programas de computador que están destinados a procesamiento automatizado datos de entrada de texto obtenidos de un archivo de texto, de acuerdo con las reglas predefinidas por los usuarios. La mayoría de las veces, las reglas son expresiones regulares, en un dialecto específico de ese editor de texto en particular. Un ejemplo de dicho editor de texto es el editor Sed.

2) Editores de texto interactivos

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 liza

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 (IDE) 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 varias herramientas para simplificar la construcción. interfaz gráfica de usuario 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. Si bien existen entornos de desarrollo diseñados para múltiples lenguajes de programación como Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator o Microsoft Visual Studio, un entorno de desarrollo suele estar destinado a 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(del kit de desarrollo de software en inglés) o "devkit": un conjunto de herramientas 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 más palabra exacta. 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) Un programa o herramienta de hardware 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. La información de entrada para el compilador (código fuente) es una descripción del algoritmo o un programa en un lenguaje específico del dominio, y la salida del compilador es una descripción equivalente del algoritmo en un lenguaje orientado a máquina (código objeto).

Compilando --

1) Traducción del programa a un lenguaje cercano a 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 específico de máquina.

Tipos de compilador:

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 su reutilización por 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 nuevo árbol, un conjunto abstracto de comandos o algo más 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.

Radiodifusión y composición.

Una característica histórica importante del compilador, reflejada en su nombre ( Inglés compilar -- ensamblar, 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.

intérprete sencillo analiza e inmediatamente ejecuta (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 se 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 de un programa en una representación intermedia, por ejemplo, bytecode o p-code, y el propio intérprete, 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 requerimiento de recursos y requerimiento de un código fuente correcto. 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 estar en formato de texto o ser un código de bytes que solo este intérprete entienda, puede ser el código de máquina de alguna plataforma de hardware existente. P.ej, maquinas 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-cálculo-impresión (read-eval-print loop, 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 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 de un 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.

ventajas:

1) Grande 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.

Defectos:

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.

Enlazador(también vinculador, vinculador) - un programa que realiza la vinculación - 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 un módulo determinado 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 ensamblador inglés - 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 debugger es un módulo de entorno de desarrollo o aplicación separada, diseñado para encontrar errores en el 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 Versión del marco 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: un poderoso desensamblador y depurador de bajo nivel para sistemas operativos familias de ventanas 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 recibir documentación destinada a programadores (documentación API) y/o usuarios finales del sistema, desde código fuente especialmente comentado y, en algunos casos, desde módulos ejecutables (obtenidos de la 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.

Comentarios de la documentación.

Un comentario documental es un comentario especialmente diseñado

instrumental software(IPO) - software diseñado para su uso 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. Al igual que en la fase de uso (para programas de aplicación), software del sistema funciona en la fase de desarrollo, pero solo en conjunto con las 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 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 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

Por lo tanto, la esencia del software de herramientas es crear cualquier programa ejecutable, convirtiendo formalmente expresiones booleanas en código máquina ejecutable, así como su control y corrección.

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 del texto del programa creado a 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.

Tipos de software de herramientas.

En función de las tareas asignadas al software instrumental, se pueden distinguir un gran número de tipos diferentes de software instrumental:

editores de texto

Entornos de desarrollo integrado

compiladores

Intérpretes

Enlazadores

Analizadores y generadores de analizadores (ver Javacc)

Ensambladores

Depuradores

Perfiladores

Generadores de Documentación

Herramientas de análisis de cobertura de código

Herramientas de Integración Continua

Herramientas de prueba automatizadas

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.

composición CAD

CAD es un sistema que combina medios técnicos, matemáticos y de software, cuyos parámetros y características se eligen teniendo en cuenta al máximo las características del diseño de ingeniería y las tareas de construcción. En CAD, la conveniencia de usar programas se asegura mediante el uso de medios de comunicación operativa entre un ingeniero y una computadora, lenguajes especiales orientados a problemas y la disponibilidad de una base de información y referencia.

Los componentes estructurales de CAD son subsistemas que tienen todas las propiedades de los sistemas y se crean como sistemas independientes. Estas son partes CAD seleccionadas de acuerdo con algunos criterios, que aseguran el cumplimiento de algunas tareas de diseño completas con la recepción de soluciones de diseño y documentos de diseño apropiados.

De acuerdo con el propósito del subsistema CAD, se dividen en dos tipos: diseño y mantenimiento.

El diseño incluye subsistemas que realizan procedimientos y operaciones de diseño, por ejemplo:

subsistema de disposición de la máquina;

subsistema para diseñar unidades de ensamblaje;

Subsistema de diseño de piezas;

· subsistema de diseño de circuitos de control;

· subsistema de diseño tecnológico.

El mantenimiento incluye subsistemas diseñados para mantener el rendimiento de los subsistemas de diseño, por ejemplo:

· subsistema de visualización gráfica de objetos de diseño;

subsistema de documentación;

Subsistema de recuperación de información, etc.

Dependiendo de la relación con el objeto de diseño, se distinguen dos tipos de subsistemas de diseño:

orientado a objetos (objetivo);

Independiente del objeto (invariante).

Los subsistemas de objetos incluyen subsistemas que realizan uno o más procedimientos u operaciones de diseño que dependen directamente de un objeto de diseño específico, por ejemplo:

subsistema de diseño de sistemas tecnológicos;

subsistema para modelar dinámicas, estructura diseñada, etc.

Los subsistemas invariantes incluyen subsistemas que realizan operaciones y procedimientos de diseño unificados, por ejemplo:

subsistema para el cálculo de piezas de máquinas;

subsistema para el cálculo de las condiciones de corte;

subsistema de cálculo de indicadores técnicos y económicos, etc.

El proceso de diseño se implementa en subsistemas en forma de una determinada secuencia de procedimientos y operaciones de diseño. El procedimiento de diseño corresponde a una parte del subsistema de diseño, como resultado del cual se toma una determinada decisión de diseño. Consiste en operaciones de diseño elementales, tiene un orden firmemente establecido de su implementación y tiene como objetivo lograr un objetivo local en el proceso de diseño. Una operación de diseño se entiende como una parte asignada condicionalmente del procedimiento de diseño o una acción elemental realizada por el diseñador en el proceso de diseño. Ejemplos de procedimientos de diseño pueden ser los procedimientos para desarrollar un diagrama cinemático o de diseño de una máquina herramienta, tecnología para procesar productos, etc., y ejemplos de operaciones de diseño son el cálculo de tolerancias, la solución de una ecuación, etc.

La unidad estructural de los subsistemas CAD está garantizada por una estricta regulación de los enlaces entre los diferentes tipos de soporte, unidos por una función objetivo común para este subsistema. Existen los siguientes tipos de seguridad:

soporte metodológico: documentos que reflejan la composición, reglas para la selección y operación de herramientas de automatización de diseño;

· soporte lingüístico - lenguajes de diseño, terminología;

software matemático - métodos, modelos matemáticos, algoritmos;

software: documentos con textos de programas, programas en medios de máquinas y documentos operativos;

· soporte técnico: dispositivos de equipo informático y organizativo, medios de transmisión de datos, medición y otros dispositivos y sus combinaciones;

· soporte de información - documentos que contienen una descripción de los procedimientos de diseño estándar, soluciones de diseño estándar, elementos típicos, componentes, materiales y otros datos;

soporte organizativo: reglamentos e instrucciones, órdenes, dotación de personal y otros documentos que regulan la estructura organizativa de las unidades y su interacción con un conjunto de herramientas de automatización de diseño.

· 64 tecnologías CALS.

Las tecnologías CALS sirven como medio para integrar sistemas automatizados industriales en un solo sistema multifuncional. El propósito de la integración sistemas automatizados el diseño y la gestión es aumentar la eficiencia de la creación y el uso de tecnología compleja.

En las condiciones modernas de la formación del mundo sociedad de información El papel de la información y tecnologías de la información en la preparación de un futuro especialista aumenta significativamente. En un futuro próximo, el potencial estratégico de la sociedad no serán los recursos energéticos, sino la información y el conocimiento científico. La información se convierte en el principal recurso para el desarrollo científico, técnico y socioeconómico de la sociedad, incide significativamente en el desarrollo acelerado de la ciencia, la tecnología y diversas industrias, juega un papel importante en el proceso de modernización de la educación. La característica semántica de valores de la educación en una universidad y la actividad profesional de los especialistas debe expresarse en la formación de un entorno profesional intelectual que implemente más plenamente las tareas de investigación y actividades de diseño.

La informatización generalizada de todo tipo de actividades humanas: desde las tareas intelectuales tradicionales de carácter científico hasta la automatización de actividades productivas, comerciales, comerciales, bancarias y otras sirve para aumentar la eficiencia de la producción. En una economía de mercado, la competencia solo la mantienen con éxito las empresas que utilizan tecnologías de la información modernas en sus actividades.

Es la tecnología de la información, junto con las tecnologías progresivas de producción de materiales, la que puede aumentar significativamente la productividad laboral y la calidad del producto y, al mismo tiempo, reducir significativamente el tiempo de lanzamiento de nuevos productos que satisfagan las necesidades y expectativas de los consumidores. Todo lo anterior se aplica principalmente a los productos intensivos en ciencia complejos, incluidos los productos con fines técnicos.

La experiencia adquirida en el proceso de implementación de una variedad de sistemas de información, hizo posible darse cuenta de la necesidad de integrar varias tecnologías de la información en un solo complejo, basado en la creación dentro de una empresa o grupo de empresas (empresa virtual) de un entorno de información integrado que soporta todas las etapas del ciclo de vida de los productos. Ambiente profesional revela más plenamente las oportunidades de desarrollo profesional, utilizando las nuevas tecnologías de la información en la ciencia y en el campo de la gestión de procesos de producción. Tecnologías innovadoras en el campo de la industria de procesamiento de información con la introducción de la tecnología CALS (Adquisición continua y soporte del ciclo de vida): soporte de información continuo del ciclo de vida del objeto proyectado, lleva la automatización de la gestión del proceso de producción a un nuevo nivel.

El uso de tecnologías de la información basadas en la ideología CALS es uno de los factores que contribuyen a una implementación más eficiente de un sistema de gestión empresarial automatizado.

Las tecnologías CALS sirven como medio para integrar sistemas automatizados industriales en un solo sistema multifuncional. El propósito de integrar sistemas de diseño y control automatizados es aumentar la eficiencia en la creación y el uso de equipos complejos.

La esencia del concepto CALS es la aplicación de los principios y tecnologías de soporte de la información en todas las etapas del ciclo de vida del producto, basado en el uso de un entorno de información integrado que proporciona métodos uniformes para gestionar procesos e interactuar con todos los participantes en este ciclo. : clientes de productos (incluidos los organismos y departamentos gubernamentales), proveedores (fabricantes), productos, personal de operación y mantenimiento. Estos principios y tecnologías se implementan de acuerdo con los requisitos de los estándares internacionales que rigen las reglas de gestión e interacción, principalmente a través del intercambio electrónico de datos.

Cuando se utiliza la tecnología CALS, se mejora la calidad de los productos debido a una consideración más completa de la información disponible en las decisiones de diseño y gestión, así como también se reducen los costos de material y tiempo para diseñar y fabricar productos. En el proceso de implementación de esta tecnología, la validez de las decisiones tomadas en un sistema de gestión empresarial (AMS) automatizado será mayor si el tomador de decisiones y los programas de control correspondientes tienen acceso en línea no solo a la base de datos de AMMS, sino también a bases de datos de otros. sistemas automatizados y, por lo tanto, puede optimizar los planes de trabajo, el contenido de las aplicaciones, la distribución de los ejecutantes, la asignación de finanzas, etc. Al mismo tiempo, el acceso en línea debe entenderse no solo como la posibilidad de leer datos de la base de datos, sino también como la facilidad de su correcta interpretación, es decir. consistencia en sintaxis y semántica con los protocolos adoptados en el APCS. Los subsistemas tecnológicos deben percibir con precisión e interpretar correctamente los datos provenientes de los subsistemas de diseño asistido por computadora. Esto no es tan fácil de lograr si la empresa principal y las organizaciones relacionadas trabajan con diferentes sistemas automatizados. Además, cobra relevancia el problema de proteger la información a lo largo de todo el perímetro de operación de los subsistemas tecnológicos.

El uso de tecnologías CALS puede reducir significativamente la cantidad de trabajo de diseño, ya que las descripciones de desarrollos exitosos de componentes y dispositivos completados previamente, muchos componentes de equipos, máquinas y sistemas diseñados anteriormente se almacenan en bases de datos de servidores de red disponibles para cualquier usuario de tecnología CALS. . La disponibilidad y la protección están nuevamente garantizadas por la consistencia de formatos, métodos y manuales en diferentes partes del sistema integrado general. Además, hay más oportunidades de especialización de empresas, hasta la creación de empresas virtuales, lo que también ayuda a reducir costos.

En el proceso de implementación de la tecnología CALS, los costos operativos se reducen significativamente debido a la implementación de funciones integradas de apoyo logístico. Se facilita enormemente la solución de problemas de mantenibilidad, integración de productos en diversos sistemas y entornos, adaptación a condiciones de funcionamiento cambiantes, etc. Estos beneficios de integración de datos se logran mediante el uso de tecnologías CALS modernas.

Los sistemas automatizados industriales pueden funcionar de forma autónoma, y ​​en la actualidad la organización del proceso de gestión de la producción se realiza sobre esta base. Sin embargo, la eficiencia de la automatización será notablemente mayor si los datos generados en uno de los sistemas están disponibles en otros sistemas, ya que las decisiones que se tomen en ellos estarán más informadas.

La experiencia de implementar la tecnología CALS muestra que para lograr el nivel adecuado de interacción entre los sistemas automatizados industriales, es necesario crear un espacio de información único dentro de las empresas individuales y, lo que es más importante, en el marco de una asociación de empresas. Unido espacio de información Se asegura debido a la unificación tanto de la forma como del contenido de la información sobre productos específicos en varias etapas de su ciclo de vida.

La unificación de la forma se logra mediante el uso de formatos y lenguajes estándar para representar la información en los intercambios entre programas y en la documentación.

La unificación de contenido, entendida como una interpretación correcta e inequívoca de los datos sobre un producto en particular en todas las etapas de su ciclo de vida, está asegurada por el desarrollo de ontologías (meta descripciones) de aplicaciones fijadas en protocolos de aplicación CALS.

MINISTERIO DE AGRICULTURA DE LA FEDERACIÓN DE RUSIA

FSBEI HPE "Universidad Agraria Estatal de Voronezh nombrada en honor al emperador Pedro I"

Departamento de Apoyo a la Información

y modelización de sistemas agroeconómicos

Prueba

por disciplina

"informática económica"

Completado: estudiante EPs-1

Departamento de correspondencia

Mamychev D.A.

Código UEeko-15126

Comprobado:_________________

Vorónezh 2016

1. Software de herramienta. Traductores y sus tipos. Sistemas de programación.

2. Paquetes de procesamiento informacion grafica.

3. Computadora global red de Internet: conceptos básicos.

4. Lista de referencias.

Software de herramientas. Traductores y sus tipos. Sistemas de programación.

Herramientas: programas que le permiten modificar archivos multimedia y crear aplicaciones multimedia.

Las herramientas son paquetes de software para crear aplicaciones multimedia:

− editores de imágenes gráficas fijas,

− herramientas para crear GIF animados,

− medios de edición de audio y vídeo,

− medios para crear presentaciones,



− medios de reconocimiento de textos introducidos desde el escáner,

− medios para crear programas de formación,

− sistemas de creación de aplicaciones realidad virtual y otros.

Las herramientas amplían significativamente el control de los dispositivos multimedia en comparación con los que proporcionan herramientas de sistema, pero siempre son productos de pago y algunos de ellos muy caros, como los sistemas profesionales de edición de vídeo.

Traductores y sus tipos.

Dado que el texto escrito en un lenguaje de programación es incomprensible para una computadora, se requiere traducirlo a código de máquina. Tal traducción de un programa de un lenguaje de programación a un lenguaje de código de máquina se denomina traducción y se realiza mediante programas especiales: traductores.

Traductor: un programa de utilidad que convierte el programa fuente provisto en el lenguaje de programación de entrada en programa de trabajo presentado en un lenguaje objeto.

Actualmente, los compiladores se dividen en tres grupos principales: ensambladores, compiladores e intérpretes.

Assembler es una utilidad del sistema que convierte construcciones simbólicas en instrucciones de lenguaje de máquina. Una característica específica de los ensambladores es que literalmente traducen una instrucción simbólica en una instrucción de máquina. Por lo tanto, el lenguaje ensamblador (también llamado autocodificación) está diseñado para facilitar la percepción del conjunto de instrucciones de la computadora y acelerar la programación en este conjunto de instrucciones. Mucho más fácil de recordar para un programador notación mnemotécnica instrucciones de máquina que su código binario Al mismo tiempo, el lenguaje ensamblador, además de los análogos de las instrucciones de máquina, contiene muchas directivas adicionales que facilitan, en particular, la gestión de los recursos informáticos, la escritura de fragmentos repetitivos y la construcción de programas de varios módulos. Por lo tanto, la expresividad del lenguaje es mucho más rica que un simple lenguaje de codificación simbólica, lo que aumenta en gran medida la eficiencia de la programación.

Un compilador es un programa de utilidad que traduce a lenguaje de máquina un programa escrito en un lenguaje de programación fuente. Al igual que un ensamblador, un compilador convierte un programa de un idioma a otro (la mayoría de las veces, al idioma de una computadora en particular). Sin embargo, los equipos lenguaje fuente difieren significativamente en organización y poder de los comandos de lenguaje de máquina. Hay idiomas en los que una instrucción del idioma de origen se traduce en 7-10 instrucciones de máquina. Sin embargo, también existen lenguajes en los que cada instrucción puede corresponder a 100 o más instrucciones máquina (por ejemplo, Prolog). Además, en los idiomas de origen se suele utilizar una tipificación estricta de los datos, que se lleva a cabo a través de su descripción preliminar. Es posible que la programación no dependa de la codificación de un algoritmo, sino de una reflexión cuidadosa sobre las estructuras o clases de datos. El proceso de traducción de dichos lenguajes generalmente se denomina compilación, y los lenguajes de origen generalmente se denominan lenguajes de programación de alto nivel (o lenguajes de alto nivel). La abstracción de un lenguaje de programación del sistema de comandos de la computadora ha llevado a la creación independiente de una amplia variedad de lenguajes orientados a soluciones. Tareas específicas. Aparecieron los lenguajes para cálculos científicos, cálculos económicos, acceso a bases de datos y otros.

Un intérprete es un programa o dispositivo que realiza la traducción y ejecución operador por operador del programa fuente. A diferencia de un compilador, un intérprete no produce un programa en lenguaje de máquina como salida. Habiendo reconocido el comando del idioma fuente, lo ejecuta inmediatamente. Tanto los compiladores como los intérpretes usan los mismos métodos para analizar el código fuente de un programa. Pero el intérprete le permite comenzar a procesar datos después de escribir incluso un comando. Esto hace que el proceso de desarrollo y depuración de programas sea más flexible. Además, la falta de código de máquina de salida le permite no "tirar basura" dispositivos externos archivos adicionales, y el propio intérprete se puede adaptar con bastante facilidad a cualquier arquitectura de máquina desarrollándolo una sola vez en un lenguaje de programación ampliamente utilizado. Por lo tanto, los lenguajes interpretados como Java Script, VB Script se han generalizado. La desventaja de los intérpretes es la baja velocidad de ejecución del programa. Por lo general, los programas interpretados se ejecutan de 50 a 100 veces más lento que los programas escritos en código de máquina.

Cualquier traductor realiza las siguientes tareas principales:

Analiza el programa que se está traduciendo, en particular, determina si contiene errores de sintaxis;

Genera un programa de salida (a menudo llamado programa objeto) en el lenguaje de instrucciones de máquina;

Asigna memoria para el programa objeto.

Sistemas de programación.

Los sistemas de programación son un conjunto de herramientas de software diseñadas para trabajar con programas en uno de los lenguajes de programación. Los sistemas de programación brindan un servicio a los programadores para desarrollar sus propios programas de computadora.

Actualmente, el desarrollo de cualquier software de sistema y aplicación se realiza mediante sistemas de programación, entre los que se encuentran:

Traductores de lenguajes de alto nivel;

Herramientas para editar, vincular y cargar programas;

ensambladores de macros (lenguajes orientados a máquinas);

Depuradores de programas de máquina.

Los sistemas de programación suelen incluir:

Editor de texto (Editar), que realiza las funciones de grabación y edición del texto fuente del programa;

Cargador de programas (Cargar), que le permite seleccionar el archivo de texto deseado del programa del directorio;

Lanzador de programas (Run), que lleva a cabo el proceso de ejecución del programa;

Compilador (Compilar), diseñado para compilar o interpretar el código fuente del programa en código máquina con el diagnóstico de errores sintácticos y semánticos (lógicos);

Depurador (Debug), ejecutando funciones de servicio depuración y prueba del programa;

Administrador de archivos (File), que brinda la capacidad de realizar operaciones con archivos: guardar, buscar, destruir, etc.

2. Paquetes de procesamiento de información gráfica.

Las herramientas de software para crear y procesar información gráfica se dividen en:

Editores gráficos diseñados principalmente para crear y procesar imágenes planas;

Paquetes de gráficos por computadora para impresión, que le permiten complementar el texto con ilustraciones de varios formatos, crear diseños de página e imprimir productos impresos;

Programas de animación 2D utilizados para crear imágenes dinámicas y efectos especiales en películas;

Paquetes de animación 3D utilizados para crear comerciales, videos musicales y películas.

Todas las imágenes de computadora se dividen en dos tipos: raster y vector.

Gráficos de trama. Las imágenes gráficas de trama se forman en el proceso de convertir información gráfica de forma analógica a digital.

Puede crear una imagen gráfica de mapa de bits directamente en su computadora usando un editor de gráficos, descargarla desde discos CD-ROM o DVD-ROM, o "descargarla" de Internet.

Una imagen de mapa de bits se almacena utilizando puntos de diferentes colores (píxeles) que forman filas y columnas. Cada píxel tiene una posición y un color específicos. Un píxel es el área más pequeña de una imagen a la que se le puede asignar un color de forma independiente.

La calidad de un mapa de bits depende del tamaño de la imagen (número de píxeles horizontal y verticalmente) y del número de colores que pueden tomar los píxeles. Almacenar cada píxel requiere una cierta cantidad de bits (profundidad de color), que depende de la cantidad de colores en la imagen.

Las imágenes gráficas de trama de fotografías e ilustraciones multicolores se obtienen utilizando un escáner. Estas imágenes suelen ser de gran tamaño y tienen una gran profundidad de color (24 o 36 bits por píxel). Como resultado, los archivos que almacenan imágenes de mapa de bits tienen una gran cantidad de información.

Las imágenes de trama son muy sensibles a la escala (ampliación o reducción). Cuando se reduce una imagen de trama, varios píxeles vecinos se convierten en uno, por lo que se pierde la inteligibilidad de los detalles finos de la imagen. El acercamiento aumenta el tamaño de cada punto y produce un efecto escalonado que se puede ver a simple vista.

Gráficos vectoriales. Las imágenes gráficas vectoriales son el medio óptimo para almacenar objetos gráficos de alta precisión (dibujos, diagramas, etc.), para los cuales es importante la preservación de contornos claros y definidos. Sistemas de dibujo asistido por computadora y diseño asistido por computadora (CAD), los programas de procesamiento de gráficos 3D se basan en gráficos vectoriales.

Imágenes vectoriales se forman a partir de objetos (punto, línea, círculo, rectángulo, etc.), que se almacenan en la memoria de la computadora en forma de primitivas gráficas y fórmulas matemáticas que los describen.

Dignidad gráficos vectoriales es que los archivos que almacenan gráficos vectoriales son relativamente pequeños. También es importante que los gráficos vectoriales se puedan ampliar o reducir sin pérdida de calidad. Esto es posible porque la escala de la imagen se realiza mediante operaciones matemáticas simples (multiplicando los parámetros de las primitivas gráficas por el factor de escala).

Según el método de descripción de los datos gráficos, también se realiza una división en tipos de editores gráficos.

Un editor gráfico es un programa diseñado para crear varios tipos de imágenes, desde las más simples hasta materiales de video.

Ráster editor gráfico(PaintBrush, PhotoShop) se basan en un método de transferencia de imágenes bit a bit. Procesan imágenes escaneadas suficientemente detalladas. Realización de retoques, cambio de colores, sus matices y contrastes, frotamientos y sombreados, cambio de dirección de sombras y contornos. La longitud de los archivos de bits es grande debido a la gran cantidad de puntos de pantalla procesados, lo que permite una gran cantidad de colores y una edición de imagen detallada. El escaneado de imágenes se puede realizar en blanco y negro, escala de grises y color. Para los editores de gráficos de trama, es necesario elegir el ángulo y el tipo de trama (bloque, línea, punto, etc.), resolución. Para imágenes en color, ajuste el brillo y el contraste para cada uno de los colores que componen la gama de la imagen gráfica. Los dibujos terminados se almacenan en archivos separados y puede estar disponible para su uso.

Editores de gráficos vectoriales (Adobe Fireworks, ConceptDraw PRO, CorelDRAW)

Para crear dibujos complejos con límites precisos, complejos y claros, se utiliza principalmente un editor de vectores, una de cuyas herramientas principales son las curvas Bezier, que le permiten dibujar curvas (poligonales, rectas y suaves) en segmentos con una colocación precisa del ancla. puntos y control sobre la forma de cada segmento. Se puede pensar en una curva de Bezier como el resultado del refinamiento progresivo de la forma de un polígono, construido conectando sucesivamente puntos de control que definen la forma. La curva, que va desde el punto inicial del polígono hasta su punto final, es atraída, como un imán, hacia puntos de referencia intermedios que determinan la forma, a través de los cuales no pasa. Debido a sus propiedades especiales, facilidad de definición y capacidad de manipulación, las curvas de Bezier se utilizan ampliamente para modelar líneas suaves en gráficos por computadora. En el arsenal de herramientas que tiene todo editor de gráficos vectoriales, siempre hay "Relleno", "Texto", "Lápiz" y un conjunto básico de formas geométricas (las llamadas primitivas), que forman la base de la mayoría de los diseños gráficos.

3. Red informática global internet: conceptos básicos.

Internet (del inglés inter - "entre" y net - "red, web") es una colección de redes informáticas que conectan instituciones militares, gubernamentales, educativas, comerciales, así como ciudadanos individuales.

Un servidor de Internet (servidor web o servidor http) es un sistema de hardware y software instalado en una computadora conectada a una red troncal de Internet de alta velocidad. Estos equipos también se denominan servidores. La función principal del servidor es buscar y transferir a computadora del usuario información solicitada por los programas cliente, en particular los navegadores.

Hay diferentes usos del término servidor. Los usuarios de Internet llaman a un servidor grandes sitios web junto con su contenido, los diseñadores y programadores web entienden un servidor programas especiales para transferir datos de Internet a la computadora del usuario, administradores del sistema y profesionales al servicio redes locales, - las propias computadoras en las que se instalan dichos programas.

Un navegador es un programa cliente de Internet que accede a un servidor, lee un documento HTML, interpreta la información recibida y muestra el contenido del documento. Los navegadores más famosos en Rusia son explorador de InternetÓpera, Google Chrome, Mozilla Firefox y etc.

Un sitio web (del sitio inglés - "área") es un conjunto de páginas web vinculadas por enlaces y almacenadas en un solo servidor. Un conjunto de sitios web que están vinculados entre sí y almacenados en diferentes servidores se denomina portal web.

El funcionamiento de la tecnología de Internet depende directamente del protocolo, un conjunto de reglas que rigen todo lo relacionado con el trabajo en la red. La tecnología para transmitir datos en Internet se basa en el protocolo TCP / IP (IP (Protocolo de Internet) - "Protocolo de Internet", TCP (Protocolo de control de transmisión) - "Protocolo de control de transmisión") - un estándar generalmente aceptado que describe las reglas para el envío y recepción de información entre varios conectados a redes de ordenadores.

TCP/IP define su propia dirección IP para cada computadora en Internet, que consta de cuatro secuencias numéricas separadas por un punto (por ejemplo, 195.85.105.160). En cualquier posición, cada valor puede variar de 0 a 255. Para comodidad de los usuarios de Internet, se ha desarrollado el Sistema de nombres de dominio (DNS). El Servicio de nombres de dominio convierte un nombre de dominio en un número dirección IP. Las computadoras que realizan esta traducción se denominan servidores DNS.

De acuerdo con la especificación DNS, todo el espacio virtual de Internet se divide en dominios: zonas lógicas controladas por una o más computadoras especiales. La jerarquía de direcciones de dominio puede ser tanto regional como dependiendo del tipo de actividad de una entidad económica.Las unidades DNS más grandes se denominan dominios de primer nivel, que cubren secciones globales de Internet de acuerdo con las siguientes características:

Com, .biz - empresas comerciales;

Net: originalmente asignado a organizaciones responsables de respaldar Internet, ahora también se usa para entidades comerciales comerciales;

Edu - instituciones educativas;

Org - organizaciones públicas y sin fines de lucro;

Gobierno - agencias gubernamentales;

Mil - establecimientos militares;

Int - organizaciones internacionales que se crean sobre la base de acuerdos o son parte de la infraestructura de Internet;

Nombre - individuos;

Información - no limitada;

Ru, .ua, etc. - abreviaturas de países adoptadas por el comité de normas ISO.

Un paso más abajo en la jerarquía de DNS son los dominios de segundo nivel, que dependen directamente del dominio de primer nivel. Los dominios de segundo nivel pertenecen a organizaciones municipales o comerciales (por ejemplo, spb.ru, ifmo.ru).

El dominio de segundo nivel solo puede contener 22 caracteres (letras, números y guiones). Sin embargo, no puede registrar un nombre de dominio ya existente.

También hay dominios de tercer nivel que forman parte del dominio principal (por ejemplo, el nombre de dominio condicional.spb.ru). También puede conocer los dominios cuarto, quinto, etc. niveles

URL (Uniform Resource Locator) es una designación universal de la ubicación del recurso (por ejemplo, www.ifmo.ru).

Así, en Internet se utilizan varios tipos de direcciones:

1) Dirección IP: la dirección de red principal que se asigna a cada computadora al ingresar a la red. Esta es una numeración global porque una computadora conectada a Internet tiene su propia dirección IP única. Las direcciones IP se dividen en clases según la escala de la red a la que se conecta el usuario.

2) dirección de dominio. La traducción de una dirección de dominio a una dirección IP se produce automáticamente mediante el sistema DNS.

3) URL: una dirección universal que se utiliza para indicar el nombre de cada objeto de almacenamiento en Internet.

Hosting (del inglés hosting) es un servicio de provisión de espacio en disco para la colocación física de información en un servidor que está constantemente en línea. Por regla general, el servicio de alojamiento incluye la provisión de espacio para la correspondencia de correo, bases de datos, DNS, almacenamiento de archivos, etc., así como el apoyo al funcionamiento de los servicios correspondientes.

Los tablones de anuncios electrónicos (BBS - Bulletin Board System) crean servicios de red, cuyas actividades están dedicadas a un tema en particular. BBS suele contener archivos con información de interés para determinados grupos de usuarios, así como herramientas que permiten a los usuarios del tablón de anuncios intercambiar información sobre temas de su interés. El mantenimiento se realiza a través del BBS: los usuarios envían consultas y el personal las responde.

Las comunidades web cuentan con el apoyo financiero de varias empresas y son sitios cuyos miembros intercambian puntos de vista sobre temas de su interés sobre la base de un interés común.

Correo electrónico (del inglés. E-mail, email, abreviatura de correo electrónico): un método para transmitir información en redes informáticas, ampliamente utilizado en Internet. Caracteristica principal Correo electrónico es que la información no se envía directamente al destinatario, sino a través de un enlace intermedio, un buzón electrónico, que es un lugar en el servidor donde se almacena el mensaje hasta que el destinatario lo solicita. En la mayoría de los casos, el acceso a buzón se requiere una contraseña. El acceso a los servidor de correo se puede proporcionar tanto a través de programas especiales de correo ( Microsoft Outlook, El murciélago etc.), ya través de la interfaz web.

ICQ (un acrónimo de Te busco - "Te estoy buscando") es un servicio que permite a los usuarios de la red intercambiar mensajes en tiempo real, así como organizar chats, transferir archivos, etc. El programa funciona con el protocolo OSCAR , que proporciona mensajes de texto instantáneos y sin conexión. Actualmente, el servicio es propiedad del fondo de inversión Mail.ru Group (un grupo de inversión ruso especializado en inversiones en proyectos de Internet).

IRC (del inglés Internet Relay Chat - "chat de Internet retransmitido") es un servicio en el que los mensajes se intercambian sin demora.

La telefonía IP es una tecnología que permite utilizar Internet o cualquier otra red IP como medio para organizar y realizar conversaciones telefónicas.

Skype es un software patentado gratuito de código cerrado que proporciona comunicación de voz encriptada a través de Internet entre computadoras, así como servicios pagados para comunicarse con los suscriptores regulares red telefonica. Skype fue creado por Niklas Zennström y Janus Friis. El primer lanzamiento del programa y del sitio web apareció en septiembre de 2003.

Tabla 1. Cálculo del beneficio de la empresa

Nº p/p Indicadores Año total del año
1 cuadrado 2 cuadrados 3 cuadrados 4 metros cuadrados
Ingresos comerciales
Costos comerciales
Beneficio bruto
Gastos de nómina
Gastos de publicidad
Gastos generales
Costos generales
Beneficio operativo
Beneficio bruto específico 0,099010177 0,118613565 0,074808144 0,121404967 0,4138369

Tabla 2. Estructura de costos de la empresa

Diagrama 1. La estructura de costos de la empresa

Bibliografía:

1. Recurso de Internet http://eclib.net/

2. Recurso de Internet https://ru.wikipedia.org/

3. Recurso de Internet http://studopedia.ru/

Al software de herramientas incluir herramientas de desarrollo de software. Son sistemas de programación que incluyen las herramientas software necesarias para la construcción automática de código máquina. Son herramientas para programadores profesionales y te permiten desarrollar programas en varios lenguajes de programación.

Las herramientas de desarrollo de software incluyen los siguientes programas:

  • ensambladores: programas informáticos que convierten un programa en forma de código fuente en lenguaje ensamblador en instrucciones de máquina en forma de código objeto;
  • traductores - programas que realizan la traducción del programa;
  • compiladores: programas que traducen el texto de un programa en un lenguaje de alto nivel a un programa equivalente en lenguaje de máquina;
  • intérpretes: programas que analizan comandos o declaraciones de programas y los ejecutan inmediatamente;
  • enlazadores (enlazadores): programas que realizan enlaces: toman uno o más módulos de objetos como entrada y ensamblan un módulo ejecutable a partir de ellos;
  • los preprocesadores de código fuente son programas de computadora que toman y producen entradas para otro programa, como un compilador, por ejemplo;
  • depuradores: programas que son un módulo de entorno de desarrollo o una aplicación separada diseñada para encontrar errores en el programa;
  • editores de código fuente especializados: programas necesarios para crear y editar el código fuente de los programas. Un editor de código fuente especializado puede ser una aplicación independiente o estar integrado en un entorno de desarrollo integrado, etc.

Los lenguajes que representan algoritmos como una secuencia de instrucciones legibles (no codificadas en binario) se denominan lenguajes algorítmicos. Los lenguajes algorítmicos se dividen en orientados a máquina, orientados a procedimientos y orientados a problemas.

Los lenguajes orientados a máquina son lenguajes de programación de bajo nivel: la programación en ellos es la más laboriosa, pero le permite crear programas óptimos que tienen en cuenta las características funcionales y estructurales de una computadora en particular tanto como sea posible. Los programas en estos idiomas, en igualdad de condiciones, serán más breves y rápidos. Además, el conocimiento de los conceptos básicos de programación en un lenguaje orientado a máquina permite a un especialista comprender en detalle la arquitectura de una computadora. La mayoría de los comandos de lenguajes orientados a máquina, cuando se traducen (traducen) a un lenguaje de máquina (binario), generan un comando de máquina.

Los lenguajes orientados a procedimientos y específicos de dominio son lenguajes de alto nivel que utilizan macros. Una instrucción de macro durante la traducción genera muchas instrucciones de máquina (para un lenguaje orientado a procedimientos, esta proporción es en promedio "1 a decenas de instrucciones de máquina" y para un lenguaje orientado a dominio - "1 a cientos de instrucciones de máquina". Programación orientada a procedimientos Los lenguajes son los más utilizados (Basic, Visual Basic, Pascal, Borland Delphi, C, etc.) En este caso, el programador debe describir todo el procedimiento para resolver el problema, mientras que los lenguajes específicos de dominio (también llamados no -procedimental) permiten solo identificar formalmente el problema y especificar la composición, estructuras de representación y formatos de información de entrada y salida para la tarea.

Al ejecutar las instrucciones del programa, una computadora necesita convertir declaraciones legibles por humanos escritas en un lenguaje de programación en una forma que la computadora entienda. El software de herramientas tiene programas especiales que traducen (traducen) el texto de los programas escritos en varios lenguajes de programación en códigos de máquina, que luego son ejecutados por una computadora. Este tipo de software se llama compilador o intérprete. El texto de un programa escrito en un lenguaje de programación de alto nivel, antes de ser convertido en códigos de máquina, se llama código fuente (código fuente). El compilador (compilador) convierte el código fuente en códigos de máquina, llamados código de objeto (código objeto) – un programa en el idioma de salida del traductor. Antes de la ejecución, tiene lugar el proceso de edición de enlaces, que consiste en que los módulos del programa de salida se combinan con otros módulos del código objeto que contienen, por ejemplo, datos. El módulo de arranque resultante son los comandos ejecutados directamente por la computadora. Algunos lenguajes de programación no contienen un compilador, sino un intérprete, que convierte cada expresión individual del código fuente en códigos de máquina y los ejecuta inmediatamente. El intérprete es conveniente en la etapa de depuración del programa, ya que proporciona una rápida comentario cuando se encuentra un error en código fuente. Los fundamentos de la programación en el lenguaje de alto nivel Visual Basic se describen en el Cap. 12 de este libro de texto.

Al software de herramientas también incluyen algunos sistemas de gestión de bases de datos (DBMS). DBMS es un conjunto especializado de programas diseñados para organizar y mantener bases de datos. Dado que los sistemas de gestión de bases de datos no son un componente necesario sistema de computación, no están clasificados como software de sistema. Y dado que los DBMS individuales solo realizan una función de servicio cuando se ejecutan otros tipos de programas (servidores web, servidores de aplicaciones), no siempre se pueden atribuir al software de aplicación. Por estas razones, a menudo se los denomina software de herramientas.

Las principales funciones de dicho DBMS:

  • gestión de datos en memoria externa(en discos);
  • gestión de datos en memoria de acceso aleatorio usando caché de disco;
  • arreglando cambios en registros especiales, respaldando y restaurando la base de datos después de fallas;
  • soporte para lenguajes de base de datos (lenguaje de definición de datos, lenguaje de manipulación de datos).

Los fundamentos teóricos del DBMS se describen anteriormente (Sección 3.2), y la aplicación práctica se describe en el Cap. 10

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: