As ferramentas de software são. Software ferramenta. Exemplos de programas. Tarefas e funções do software da ferramenta

Ensaio

SOFTWARE - um conjunto de programas do sistema de processamento de informações e documentos de apólice necessários para a operação desses programas (GOST 19781-90). Também - um conjunto de programas, procedimentos e regras, bem como documentação relacionada à operação do sistema de processamento de dados (ST ISO 2382/1-84).

SOFTWARE INSTRUMENTAL - software destinado ao uso no projeto, desenvolvimento e manutenção de programas. Normalmente, esse termo é usado para enfatizar a diferença entre essa classe de software e software de aplicativo e sistema. Programas.

Um COMPILER é um compilador que converte um programa escrito em uma linguagem fonte em um módulo de objeto.

Intérprete - um programa (às vezes hardware) que analisa comandos ou instruções de programa e os executa imediatamente.

SISTEMA OPERACIONAL - um conjunto de programas de controle e processamento que, por um lado, atuam como uma interface entre dispositivos de sistema de computação e programas aplicativos e, por outro lado, são projetados para controlar dispositivos, gerenciar processos de computação, distribuir efetivamente recursos de computação entre processos de computação e organizar computação confiável.

PROGRAMA APLICADO - um programa projetado para executar determinadas tarefas do usuário e é projetado para interação direta com o usuário.

VISUALBASIC é uma ferramenta de desenvolvimento de software desenvolvida pela Microsoft e inclui uma linguagem de programação e um ambiente de desenvolvimento.

VISUALBASICFORAPPLICATION - uma implementação ligeiramente simplificada da linguagem de programação Visual Basic incorporada à linha de produtos Microsoft Office(incluindo versões do Mac OS), bem como muitos outros pacotes de software, como AutoCAD, SolidWorks, CorelDRAW, WordPerfect e ESRI ArcGIS.

O objetivo do trabalho é estudar os tipos e funções dos softwares, em especial, os instrumentais.

Classificação de software:

Tipos de software de ferramenta:

1) Editores de texto

4) Compiladores

5) Intérpretes

6) Ligadores

8) Montadores

9) Depuradores

10) Perfiladores

11) Geradores de Documentos

Para criar um programa na linguagem de programação selecionada, você precisa ter os seguintes componentes:

2. Compilador ou interpretador. O texto fonte é traduzido em um código objeto intermediário usando um programa compilador.

O resultado do trabalho: O software, suas funções e tipos, em particular o software instrumental, sua essência, tarefas são consideradas. O terceiro capítulo discute o Microsoft Visual Basic como ferramenta de desenvolvimento de software e seu dialeto - Microsoft Visual Basic for Application. EM trabalho de conclusão de curso um algoritmo para resolver um problema financeiro e econômico foi implementado usando a linguagem de programação Pascal.

Introdução

EM mundo moderno mais de uma pessoa que experimentou os benefícios da civilização não consegue imaginar sua vida sem o uso de tecnologia de computador. Seu uso ocorre em qualquer esfera da atividade humana: produção, comércio, educação, entretenimento e comunicação das pessoas, suas atividades científicas e culturais. Tudo isto devido à possibilidade de selecionar equipamentos informáticos para resolver qualquer tarefa, mesmo a mais complexa.

No entanto, a universalidade e a especialização da tecnologia de computador são garantidas pelo uso com base em quase qualquer computador de um conjunto diferente de software que fornece soluções para qualquer tarefa.

Todos nós vemos a grande variedade de programas de computador e o ritmo vertiginoso de seu crescimento e aperfeiçoamento, e apenas uma pequena parte de nós representa o lado invisível em seu design, desenvolvimento e criação. No entanto, esta área tecnologia de computadoré, a nosso ver, o mais importante, pois do seu desenvolvimento dependerá o futuro da informática.

E como o desenvolvimento de qualquer programa de computador acontece com o uso do software Tool, então em nosso trabalho final gostaríamos de nos debruçar sobre isso em detalhes, destacando-o de todos os softwares e revelando sua essência e recursos.

Para maior clareza, consideraremos o software ferramenta (objeto de estudo) usando o exemplo do pacote de software VisualBasicforApplication (objeto de estudo) usado para programação no ambiente Microsoft Office, a suíte de escritório mais comum e popular.

1. Software

1.1 Conceito e essência de software

Software (SW) é parte integrante de um sistema de computador. É uma continuação lógica dos meios técnicos de qualquer computador. O escopo de um determinado computador é determinado pelo software criado para ele. O computador em si não possui conhecimento em nenhuma área de aplicação. Todo esse conhecimento está concentrado em programas executados em computadores que possuem um conjunto de funcionalidades específicas e são projetados para realizar funções específicas, na maioria das vezes altamente especializadas, como criar e processar imagens gráficas ou arquivos de som.

Atualmente, o software consiste em centenas de milhares de programas projetados para processar uma ampla variedade de informações para diversos propósitos.

Software (SW) inclui ainda toda a área de atividade na conceção e desenvolvimento de software:

1) tecnologia de design de software (por exemplo, design de cima para baixo, design estrutural e orientado a objetos);

2) métodos para testar programas;

3) métodos para provar a correção dos programas;

4) análise da qualidade dos programas;

5) documentação de programas;

6) desenvolvimento e uso de ferramentas de software que facilitam o processo de design de software e muito mais.

Existem muitas definições diferentes de software. Em geral, o software é um conjunto de programas do sistema de processamento de informações e documentos de programas necessários para a operação desses programas (GOST 19781-90). Também - um conjunto de programas, procedimentos e regras, bem como documentação relacionada à operação do sistema de processamento de dados (ST ISO 2382/1-84).

O software é um dos tipos de suporte do sistema computacional, juntamente com o suporte técnico (hardware), matemático, informacional, linguístico, organizacional e metodológico.

A gíria de computador geralmente usa a palavra software da palavra inglesa software, que foi usada pela primeira vez nesse sentido em um artigo no American Mathematical Monthly pelo matemático da Universidade de Princeton John W. Tukey em 1958.

Outras definições:

1) SOFTWARE é um conjunto de programas que permitem o processamento automatizado de informações em um computador.

2) SOFTWARE (software de um computador eletrônico), um conjunto de programas de um sistema de processamento de dados e documentos de programas necessários para a implementação de programas em um computador eletrônico.

3) SOFTWARE - um conjunto de programas para gerenciar o processo de operação do computador, automação de programação.

4) SOFTWARE - um conjunto de programas de computador que fornecem processamento ou transmissão de dados.

Todas as definições são semelhantes e refletem a essência do software - a organização da interação da parte de hardware (técnica), na forma de vários nós integrados e dispositivos periféricos, seu controle e coordenação da interação geral do sistema de computador entre si e com o usuário.

1.2 Recursos do Software

Os conceitos de software acima determinam as funções desempenhadas pelo software no processo de funcionamento dos equipamentos de informática. A lista dessas funções é muito diversificada, mas condicionalmente elas podem ser divididas nos cinco tipos a seguir:

1. Hardware mecânico. Eles fazem interface com vários componentes do computador, garantem a transmissão de um sinal de hardware de um componente para outro.

2. Máquina-Lógica. Processar e interpretar um conjunto de pulsos eletromagnéticos hardware em um código de programa logicamente consciente com uma certa estrutura e propriedades.

3. Informação e comando. Eles verificam a conformidade do código do programa com os princípios do sistema e criam estrutura lógica informações e implementá-las.

4. Interface. Eles fornecem processamento e interpretação do código do programa em um formato de exibição acessível ao usuário. Cria um ambiente favorável à interação "Homem-Computador, Homem-Computador".

5. Aplicado. Realiza ações matemáticas, lógicas, físicas e outras com um conjunto de dados disponíveis, ou seja, processa as informações disponíveis para resolver determinados problemas.

Esta lista está longe de ser exaustiva, o que indica a diversidade e ambiguidade das funções desempenhadas pelo software.

1.3 Tipos de software

Dependendo das funções fornecidas por um determinado componente do computador, torna-se necessário criar um software próprio especializado para ele, que é o motivo fundamental para a criação de software de vários tipos mostrados na (Fig. 1):

a) Programas aplicativos que proporcionem diretamente a realização dos trabalhos requeridos pelos usuários;

b) programas de sistema projetados para controlar a operação do sistema de computação, executam várias funções auxiliares, por exemplo:

1) gerenciamento de recursos de computador;

2) criação de cópias de informações usadas;

3) verificação da operacionalidade dos dispositivos de computador;

4) emissão de informações de referência sobre o computador, etc.;

c) instrumental sistemas de software, que facilitam o processo de criação de novos programas para o computador.

O software do sistema garante o funcionamento e a manutenção do computador, além de automatizar o processo de criação de novos programas. O software do sistema inclui: SO e sua interface de usuário; ferramenta de software; sistemas de manutenção.

O sistema operacional é parte obrigatória de um software especial que garante o funcionamento eficaz de um computador pessoal em vários modos, organiza a execução de programas e a interação do usuário e dispositivos externos com computador.

A interface do usuário (programas de serviço) são complementos de software do sistema operacional (shells e ambientes) projetados para simplificar a comunicação do usuário com o sistema operacional.

Os programas que fornecem uma interface mantêm a forma de comunicação (diálogo) entre o usuário e o sistema operacional, mas alteram o idioma da comunicação (geralmente o idioma do comando é convertido para o idioma do menu). Os sistemas de serviço podem ser divididos condicionalmente em sistemas de interface, shells de sistemas operacionais e utilitários.

Os sistemas de interface são sistemas de serviço poderosos, geralmente do tipo gráfico, que melhoram não apenas a interface do usuário, mas também a interface do programa dos sistemas operacionais, em particular, implementando alguns procedimentos adicionais para dividir recursos adicionais.

Os shells dos sistemas operacionais fornecem ao usuário uma interface qualitativamente nova em comparação com a implementada pelo sistema operacional e tornam o conhecimento deste último opcional.

Os utilitários automatizam a execução de certos procedimentos típicos e usados ​​com frequência, cuja implementação exigiria que o usuário desenvolvesse programas especiais. Muitos utilitários possuem uma interface interativa desenvolvida com o usuário e estão próximos em termos de comunicação aos shells.

Ferramentas de software (sistemas de programação) - uma parte obrigatória do software, com a qual os programas são criados. Software de ferramenta inclui ferramentas para escrever programas (editores de texto); ferramentas para converter programas em um formato adequado para execução em um computador (assemblers, compiladores, interpretadores, carregadores e vinculadores), ferramentas para monitorar e depurar programas.

Os editores de texto permitem editar, formar e combinar convenientemente os textos dos programas e alguns - e controlar a sintaxe dos programas criados.

Um programa escrito em linguagem algorítmica deve ser convertido em um módulo objeto escrito em linguagem de máquina (em códigos binários). Essa transformação é realizada por tradutores (assembler - da linguagem Assembler e compiladores - das linguagens de alto nível). Para algumas linguagens algorítmicas, são utilizados interpretadores que não criam um módulo de objeto, mas a cada próxima execução do programa, traduzindo cada uma de suas linhas ou declarações individuais em linguagem de máquina. O módulo de objeto é processado pelo carregador - vinculador, que o converte em um programa de máquina executável.

As ferramentas de depuração permitem rastrear programas (execução passo a passo com a emissão de informações sobre os resultados da execução), verificar a sintaxe do programa e resultados intermediários em pontos de interrupção e modificar os valores das variáveis ​​nesses pontos.

técnico e serviço pós-venda são ferramentas de software para monitorar, diagnosticar e restaurar a saúde de um computador, discos, etc.

O software aplicativo fornece uma solução para os problemas do usuário. O conceito-chave aqui é o pacote. programas aplicativos.

Um pacote de software aplicativo é um conjunto de programas para resolver uma variedade de problemas sobre um tópico ou assunto específico. Existem os seguintes tipos de pacotes de aplicativos:

1) propósito geral- focado na automação de uma ampla gama de tarefas do usuário (processadores de texto, editores de planilhas, sistemas de gerenciamento de banco de dados, processadores gráficos, sistemas de publicação, sistemas de automação de design, etc.);

2) orientada para o método - a implementação de vários métodos econômicos e matemáticos para resolver problemas (programação matemática, planejamento e gerenciamento de redes, teoria das filas, estatística matemática, etc.);

3) orientado para o problema - destinado a resolver uma tarefa específica (problema) em uma área temática específica (pacotes bancários, pacotes de contabilidade, gestão financeira, sistemas de referência jurídica, etc.).

O software aplicativo inclui ferramentas de software de serviço que servem para organizar um ambiente de trabalho conveniente para o usuário, bem como para executar funções auxiliares (gerenciadores de informações, tradutores, etc.).

Ao construir uma classificação de software, deve-se levar em consideração o fato de que o rápido desenvolvimento da tecnologia de computador e a expansão do escopo de aplicativos de computador aceleraram drasticamente o processo de evolução do software. Se antes era fácil listar as principais categorias de software - sistemas operacionais, tradutores, pacotes de software aplicativo, agora a situação mudou radicalmente. O desenvolvimento de software foi tanto em profundidade (novas abordagens para a construção de sistemas operacionais, linguagens de programação etc.) quanto em amplitude (os programas aplicativos deixaram de ser aplicados e adquiriram valor independente). O equilíbrio entre os produtos de software necessários e os disponíveis no mercado está mudando rapidamente. Mesmo produtos de software clássicos, como sistemas operacionais, estão em constante evolução e dotados de funções intelectuais, muitas das quais antes pertenciam apenas às capacidades intelectuais humanas.

2. Software de ferramenta

2.1 Essência e conceito de software instrumental

Software de ferramenta (IPO) - software destinado ao uso no projeto, desenvolvimento e manutenção de programas.

Ferramental aplicado na fase de desenvolvimento. O software ferramenta é um conjunto de programas usados ​​para ajudar os programadores em seu trabalho, para ajudar os gerentes de desenvolvimento de software em seu desejo de controlar o processo de desenvolvimento e os produtos resultantes. Os representantes mais famosos desse software são programas de tradutores de linguagens de programação que ajudam os programadores a escrever instruções de máquina. Os programas de ferramentas são tradutores de Fortran, Cobol, Jovial, BASIC, APL e Pascal. Eles facilitam o processo de criação de novos programas de trabalho. No entanto, os tradutores de idiomas são apenas a parte mais conhecida dos programas de ferramentas; há muitos deles.

O uso de computadores para ajudar a criar novos programas está longe de ser óbvio para pessoas que não são programadores profissionais. Muitas vezes acontece que os profissionais falam sobre software de ferramenta (fase de desenvolvimento) e sistema (fase de uso) de uma só vez, assumindo que os não iniciados nos segredos de sua habilidade estão cientes desse papel do software de ferramenta. Assim como na fase de uso (para programas aplicativos), o software do sistema também funciona na fase de desenvolvimento, mas apenas em conjunto com o software da ferramenta. Software de ferramentas ou sistemas de programação são sistemas para automatizar o desenvolvimento de novos programas em uma linguagem de programação.

No caso mais geral, para criar um programa na linguagem de programação selecionada (linguagem de programação do sistema), você precisa ter os seguintes componentes:

1. Editor de texto para criar um arquivo com o código-fonte do programa.

2. Compilador ou interpretador. O texto fonte é traduzido em um código objeto intermediário usando um programa compilador. O texto fonte de um grande programa consiste em vários módulos (arquivos com textos fonte). Cada módulo é compilado em um arquivo separado com código objeto, que deve ser combinado em uma única unidade.

3. Um vinculador ou montador que vincula módulos de objeto e gera um aplicativo funcional - código executável.

Um código executável é um programa completo que pode ser executado em qualquer computador que possua o sistema operacional para o qual o programa foi criado. Via de regra, o arquivo resultante tem a extensão .EXE ou .COM.

Recentemente, os métodos de programação visual (usando linguagens de script) se espalharam, focados na criação de aplicativos do Windows. Esse processo é automatizado em ambientes de design rápido. Nesse caso, são utilizados componentes visuais prontos, que são configurados por meio de editores especiais.

Os editores mais populares (sistemas de programação usando ferramentas visuais) para design visual:

1) Borland Delphi - projetado para resolver praticamente qualquer problema de programação de aplicativos.

2) O Borland C++ Builder é uma excelente ferramenta para desenvolver aplicativos DOS e Windows.

3) O Microsoft Visual Basic é uma ferramenta popular para criar programas do Windows.

4) Microsoft Visual C ++ - esta ferramenta permite desenvolver qualquer aplicativo executado em um ambiente de sistema operacional como o Microsoft Windows

Assim, a essência do software instrumental é criar qualquer programa executável, convertendo expressões formalmente lógicas em código de máquina executável, bem como seu controle e correção.

2.2 Tarefas e funções do software da ferramenta

O software-ferramenta, como um tipo especial de software, é caracterizado por características gerais e particulares.

funções, como para todos os softwares em geral. Discutimos as funções gerais acima, e as funções especializadas inerentes apenas a este tipo de programa são:

1. Criação do texto do programa desenvolvido usando palavras de código especialmente estabelecidas (linguagem de programação), bem como um determinado conjunto de caracteres e sua localização no arquivo criado - a sintaxe do programa.

2. Tradução de texto programa criado em um código orientado a máquina acessível para reconhecimento de computador. No caso de um volume significativo do programa criado, ele é dividido em módulos separados e cada um dos módulos é traduzido separadamente.

3. Conexão de módulos individuais em um único código executável, em conformidade com a estrutura necessária, garantindo a coordenação da interação das partes individuais entre si.

4. Teste e controle do programa criado, detecção e eliminação de erros formais, lógicos e sintáticos, verificação de códigos proibidos nos programas, bem como avaliação do desempenho e potencial do programa criado.

2.3 Tipos de software de ferramenta

Com base nas tarefas atribuídas ao software instrumental, podemos distinguir um grande número de vários tipos de software instrumental:

1) Editores de texto

2) Ambientes de Desenvolvimento Integrado

4) Compiladores

5) Intérpretes

6) Ligadores

7) Analisadores e geradores de analisadores (ver Javacc)

8) Montadores

9) Depuradores

10) Perfiladores

11) Geradores de Documentos

12) Ferramentas de análise de cobertura de código

13) Ferramentas de Integração Contínua

14) Ferramentas de teste automatizadas

15) Sistemas de controle de versão, etc.

Deve-se observar que os shells para criar programas aplicativos também são criados por programas de ferramentas e, portanto, podem ser referidos como programas aplicativos. Considere brevemente o propósito de alguns programas instrumentais.

Editores de texto.

Um editor de texto é um programa de computador projetado para processar arquivos de texto, como criar e fazer alterações.

Tipos de editores de texto.

Convencionalmente, distinguem-se dois tipos de editores: editores de texto streaming e editores interativos.

Os editores de texto de fluxo são programas de computador projetados para processar automaticamente dados de texto de entrada recebidos de um arquivo de texto de acordo com regras predefinidas pelos usuários. Na maioria das vezes, as regras são expressões regulares, em um dialeto específico para este editor de texto específico. Um exemplo desse editor de texto é o editor Sed.

Editores de texto interativos são uma família de programas de computador projetados para fazer alterações em arquivo de texto interativamente. Esses programas permitem que você exiba o estado atual dos dados de texto em um arquivo e execute várias ações neles.

Freqüentemente, os editores de texto interativos contêm funcionalidades adicionais significativas projetadas para automatizar algumas das ações de edição ou para fazer uma alteração na exibição dos dados de texto, dependendo de sua semântica. O realce de sintaxe é um exemplo do último tipo de funcionalidade.

Editores de texto são projetados para criar e editar documentos de texto. Os mais comuns são MS WORD, Lexicon. As principais funções dos editores de texto são:

1) trabalhar com fragmentos de documentos,

2) inserir objetos criados em outros programas

3) paginação do texto do documento

4) inserir e editar tabelas

5) inserir e editar fórmulas

6) formatação de parágrafo

7) criação automática de listas

8) criação automática de um sumário.

Dezenas de editores de texto são conhecidos. Os mais acessíveis são NOTEPAD(bloco de notas), WORDPAD, WORD. O trabalho de um determinado editor de texto geralmente é determinado pelas funções, cuja finalidade é refletida nos itens de menu e no sistema de ajuda.

Ambiente de desenvolvimento integrado

Ambiente de Desenvolvimento Integrado (ISD) é um sistema de software usado por programadores para desenvolver software (SW). O ambiente de desenvolvimento geralmente inclui:

1) editor de texto

2) compilador e/ou interpretador

3) ferramentas de automação de montagem

4) depurador.

Às vezes, também contém ferramentas para integração com sistemas de controle de versão e uma variedade de ferramentas para simplificar a construção de uma interface gráfica com o usuário. Muitos ambientes de desenvolvimento modernos também incluem um navegador de classes, um inspetor de objetos e um diagrama de hierarquia de classes para uso no desenvolvimento de software orientado a objetos. Embora existam ambientes de desenvolvimento projetados para diversas linguagens de programação - como Eclipse, NetBeans, Embarcadero Estúdio RAD, Qt Creator ou Microsoft Visual Studio, geralmente o ambiente de desenvolvimento é destinado a uma linguagem de programação específica - como Visual Basic, Delphi, Dev-C++.

Um caso especial de ISR são os ambientes de desenvolvimento visual, que incluem a capacidade de editar visualmente a interface do programa.

SDK.

SDK (do inglês SoftwareDevelopmentKit) ou "devkit" é um kit de desenvolvimento que permite que especialistas de software criem aplicativos para um pacote de software específico, ferramentas de desenvolvimento de software, plataforma de hardware, sistema de computador, consoles de videogame, sistemas operacionais e outras plataformas.

O programador geralmente obtém o SDK diretamente do desenvolvedor da tecnologia ou sistema de destino. Frequentemente, o SDK é distribuído pela Internet. Muitos SDKs são distribuídos gratuitamente para incentivar os desenvolvedores a usar uma determinada tecnologia ou plataforma.

Os fornecedores de SDK às vezes substituem o termo Software no Software Development Kit por uma palavra mais precisa. Por exemplo, a Microsoft e a Apple fornecem kits de desenvolvimento de driver (DDK) para desenvolver drivers de dispositivo, enquanto a PalmSource chama seu kit de ferramentas de desenvolvimento de "PalmOS Development Kit (PDK)".

Exemplos de SDK :

5) Kit de Desenvolvimento Java

6) SDK de dispositivos Opera

Compiladores.

Compilador -

1) Programa ou meios técnicos O que executa a compilação.

2) O programa de máquina usado para compilação.

3) Um tradutor que converte um programa escrito na linguagem fonte em um módulo objeto.

4) Um programa que traduz o texto de um programa em linguagem de alto nível para um programa equivalente em linguagem de máquina.

5) Um programa projetado para traduzir uma linguagem de alto nível em código absoluto ou, às vezes, em linguagem assembly. Informações de entrada para o compilador ( fonte) é uma descrição do algoritmo ou de um programa em uma linguagem específica de domínio e a saída do compilador é uma descrição equivalente do algoritmo em uma linguagem orientada à máquina (código de objeto).

Compilação -

1) Tradução do programa para uma linguagem próxima da máquina.

2) Tradução de um programa escrito na linguagem fonte para um módulo objeto. Implementado pelo compilador.

Compilar - traduzir um programa de máquina de uma linguagem específica de domínio para uma linguagem orientada à máquina.

Tipos de compiladores :

1) Vetorização. Traduz o código-fonte em código de máquina de computadores equipados com processador vetorial.

2) Flexível. Compilado de forma modular, orientado por tabelas e programado em uma linguagem de alto nível ou implementado com um compilador compilador.

3) Diálogo.

4) Incremental. Retraduz fragmentos e extensões do programa sem recompilar o programa inteiro.

5) Interpretativa (passo a passo). Executa sequencialmente a compilação independente de cada instrução individual (comando) do programa fonte.

6) Compilador de compiladores. Um tradutor que pega uma descrição formal de uma linguagem de programação e gera um compilador para essa linguagem.

7) Depurar. Elimina certos tipos de erros de sintaxe.

8) Residente. Reside permanentemente na memória principal e está disponível para reuso muitas tarefas.

9) Auto-compilado. Escrito no mesmo idioma do qual a transmissão é realizada.

10) Universal. Baseado em uma descrição formal da sintaxe e semântica da linguagem de entrada. Os componentes de tal compilador são: o kernel, carregadores sintáticos e semânticos.

Tipos de compilação :

1) Lote. Compilando vários módulos de origem em um item de trabalho.

2) Linha por linha.

3) Condicional. Compilação na qual o texto traduzido depende das condições especificadas no programa fonte. Assim, dependendo do valor de alguma constante, você pode ativar ou desativar a tradução de uma parte do texto do programa.

Estrutura do compilador.

O processo de compilação consiste nas seguintes etapas:

1) Análise léxica. Nesse estágio, a sequência de caracteres no arquivo de origem é convertida em uma sequência de tokens.

2) Análise sintática (gramatical). A sequência de tokens é convertida em uma árvore de análise.

3) Análise semântica. A árvore de análise é processada para estabelecer sua semântica (significado) - por exemplo, associando identificadores às suas declarações, tipos, verificações de compatibilidade, determinação de tipos de expressão, etc. O resultado é geralmente chamado de "representação/código intermediário" e pode ser aumentado por uma árvore de análise, uma nova árvore, um conjunto abstrato de comandos ou qualquer outra coisa conveniente para processamento posterior.

4) Otimização. Construções redundantes são removidas e o código é simplificado, mantendo seu significado. A otimização pode estar em diferentes níveis e estágios - por exemplo, sobre o código intermediário ou sobre o código de máquina final.

5) Geração de código. A partir da representação intermediária, é gerado o código na linguagem de destino.

Em implementações específicas de compiladores, esses estágios podem ser separados ou combinados de uma forma ou de outra.

Transmissão e ligação.

Uma característica histórica importante do compilador, refletida em seu nome (eng. compile - colocar junto, compor), era que ele também podia realizar a ligação (ou seja, continha duas partes - um tradutor e um vinculador). Isso se deve ao fato de que a compilação separada e a vinculação como um estágio separado de montagem surgiram muito depois do advento dos compiladores. A esse respeito, em vez do termo "compilador", o termo "tradutor" às vezes é usado como sinônimo: seja na literatura antiga, seja quando se deseja enfatizar sua capacidade de traduzir um programa em código de máquina (e vice-versa, eles usam o termo "compilador" para enfatizar a capacidade de montar a partir de muitos arquivos um).

Intérpretes.

Intérprete (linguagem de programação) -

1) Um programa ou ferramenta técnica que executa a interpretação.

2) O tipo de tradutor que executa o processamento operador por operador (comando por comando) e a execução do programa fonte ou consulta (em oposição a um compilador que traduz o programa inteiro sem executá-lo).

3) Um programa (às vezes hardware) que analisa comandos ou instruções de programa e os executa imediatamente.

4) Um processador de linguagem que analisa o programa fonte linha por linha e executa simultaneamente as ações prescritas, e não forma um programa compilado em linguagem de máquina que é executado posteriormente.

tipos de intérprete.

Um simples interpretador analisa e executa imediatamente (a própria interpretação) o programa comando a comando (ou linha a linha), conforme seu código-fonte chega à entrada do interpretador. A vantagem dessa abordagem é a resposta instantânea. A desvantagem é que esse interpretador detecta erros no texto do programa apenas ao tentar executar um comando (ou linha) com erro.

Um interpretador do tipo compilador é um sistema de um compilador que traduz o código-fonte do programa em uma representação intermediária, por exemplo, bytecode ou p-code, e o próprio interpretador, que executa o código intermediário resultante (a chamada máquina virtual). A vantagem de tais sistemas é a maior velocidade de execução do programa (devido à remoção da análise do código-fonte em uma passagem separada e única e à minimização dessa análise no interpretador). Desvantagens - maior exigência de recursos e exigência de correção do código-fonte. É usado em linguagens como Java, PHP, Python, Perl (bytecode é usado), REXX (o resultado da análise do código-fonte é salvo), bem como em vários DBMS (p-code é usado).

Se o interpretador de um tipo de compilação for dividido em componentes, obtém-se um compilador de linguagem e um interpretador simples com análise de código-fonte minimizada. Além disso, o código-fonte desse interpretador não precisa ter formato de texto ou ser um bytecode que só este interpretador entende, pode ser o código de máquina de alguma plataforma de hardware existente. Por exemplo, máquinas virtuais como QEMU, Bochs, VMware incluem interpretadores de código de máquina para processadores da família x86.

Alguns interpretadores (por exemplo, para Lisp, Scheme, Python, BASIC e outros) podem funcionar no modo de diálogo ou no chamado loop read-compute-print (read-eval-printloop, REPL). Nesse modo, o interpretador lê uma construção de linguagem completa (por exemplo, s-expression em Lisp), executa-a, imprime os resultados e, em seguida, espera que o usuário insira a próxima construção.

A linguagem Forth é única, capaz de funcionar tanto na interpretação dos dados de entrada quanto nos modos de compilação, permitindo que você alterne entre esses modos a qualquer momento, tanto durante a tradução do código-fonte quanto durante a execução dos programas.

Deve-se notar também que os modos de interpretação podem ser encontrados não apenas em software, mas também em hardware. Assim, muitos microprocessadores interpretam o código de máquina usando microprogramas embarcados, e os processadores da família x86, começando pelo Pentium (por exemplo, na arquitetura Intel P6), durante a execução do código de máquina, pré-traduzem-no para um formato interno (em uma sequência de micro-operações).

O algoritmo do interpretador simples :

2. analisar a instrução e determinar as ações apropriadas;

3. tomar as medidas adequadas;

4. se a condição de término do programa não for atingida, leia a próxima instrução e vá para o ponto 2.

Vantagens e desvantagens dos intérpretes.

1) Maior portabilidade de programas interpretados - o programa rodará em qualquer plataforma que possua um interpretador adequado.

2) Via de regra, meios mais avançados e visuais de diagnóstico de erros em códigos-fonte.

3) Simplificação da depuração dos códigos-fonte do programa.

4) Tamanhos de código menores em comparação com o código de máquina obtido após compiladores convencionais.

1) Um programa interpretado não pode ser executado separadamente sem um programa interpretador. O próprio interpretador pode ser muito compacto.

2) Um programa interpretado é executado mais lentamente porque a análise intermediária do código-fonte e o agendamento de sua execução requerem tempo adicional em comparação com a execução direta do código de máquina no qual o código-fonte pode ser compilado.

3) Praticamente não há otimização de código, o que leva a perdas adicionais na velocidade dos programas interpretados.

vinculador.

Um vinculador (também um vinculador, vinculador) é um programa que executa a vinculação - ele recebe um ou mais módulos de objeto como entrada e monta um módulo executável a partir deles.

Para vincular módulos, o vinculador usa as tabelas de nomes criadas pelo compilador em cada um dos módulos de objeto. Esses nomes podem ser de dois tipos:

1) Nomes definidos ou exportados - funções e variáveis ​​definidas neste módulo e fornecidas para uso por outros módulos.

2) Nomes indefinidos ou importados - funções e variáveis ​​às quais o módulo se refere, mas não as define dentro de si.

O trabalho do vinculador é resolver referências a nomes indefinidos em cada módulo. Para cada nome importado, sua definição é encontrada em outros módulos, a menção do nome é substituída pelo seu endereço.

O vinculador normalmente não executa verificação de tipo ou contagem de parâmetros de procedimento e função. Se for necessário combinar módulos de objeto de programas escritos em linguagens fortemente tipadas, as verificações necessárias devem ser executadas por um utilitário adicional antes de iniciar o vinculador.

montador.

Assembler (do inglês assembler - assembler) - um programa de computador, um compilador do código-fonte de um programa escrito em linguagem assembly em um programa em linguagem de máquina.

Como a própria linguagem (assembler), os montadores tendem a ser específicos para uma determinada arquitetura, sistema operacional e variante de sintaxe da linguagem. Ao mesmo tempo, existem montadores multiplataforma ou totalmente universais (mais precisamente, universais limitados, porque é impossível escrever programas independentes de hardware em uma linguagem de baixo nível) que podem funcionar em diferentes plataformas e sistemas operacionais. Entre estes últimos, destaca-se também um grupo de cross-assemblers capazes de montar código de máquina e módulos executáveis ​​(arquivos) para outras arquiteturas e sistemas operacionais.

A montagem pode não ser a primeira ou a última etapa no caminho para obter um módulo de programa executável. Assim, muitos compiladores de linguagens de programação de alto nível produzem o resultado na forma de um programa em linguagem assembly, que é posteriormente processado pelo montador. Além disso, o resultado da montagem pode não ser um executável, mas um módulo de objeto contendo partes separadas e não anexadas do código de máquina e dados do programa, a partir do qual (ou de vários módulos de objeto) no futuro com a ajuda de um programa vinculador (" linker") arquivo executável.

Um depurador ou depurador é um módulo de ambiente de desenvolvimento ou um aplicativo separado projetado para encontrar erros em um programa. O depurador permite que você percorra o rastreamento, monitore, defina ou altere os valores das variáveis ​​durante a execução do programa, defina e remova pontos de interrupção ou condições de interrupção e assim por diante.

Lista de depuradores.

1) AQtime é um depurador comercial para aplicativos criados para o .NET Framework versão 1.0, 1.1, 2.0, 3.0, 3.5 (incluindo aplicativos ASP.NET), bem como para aplicativos Windows de 32 e 64 bits.

2) DTrace é uma estrutura de rastreamento dinâmico para Solaris, OpenSolaris, FreeBSD, Mac OS X e QNX.

3) Cerca Elétrica - depurador de memória.

4) GNU Debugger (GDB) é um programa depurador do projeto GNU.

5) IDA é um poderoso desmontador e depurador de baixo nível para sistemas operacionais Windows e Linux.

6) Microsoft Visual Studio é um ambiente de desenvolvimento de software que inclui ferramentas de depuração da Microsoft Corporation.

7) OllyDbg é um depurador de baixo nível gratuito para sistemas operacionais da família Windows.

8) SoftICE é um depurador de baixo nível para sistemas operacionais da família Windows.

9) Sun Studio é um ambiente de desenvolvimento de software que inclui o depurador dbx para sistemas operacionais Solaris e Linux da Sun Microsystems Corporation.

10) Dra. O Watson é um depurador padrão do Windows que permite criar despejos de memória.

11) TotalView é um dos depuradores comerciais para UNIX.

12) WinDbg é um depurador gratuito da Microsoft Corporation.

Gerador de documentação - programa ou pacote de software que permite obter documentação destinada a programadores (documentação da API) e/ou a usuários finais do sistema, de acordo com um código-fonte especialmente comentado e, em alguns casos, módulos executáveis ​​(obtidos do saída do compilador).

Normalmente, o gerador analisa o código fonte do programa, destacando as construções sintáticas correspondentes aos objetos significativos do programa (tipos, classes e seus membros/propriedades/métodos, procedimentos/funções, etc.). A análise também usa metainformações sobre os objetos do programa, apresentadas na forma de comentários de documentação. Com base em todas as informações coletadas, é formada documentação pronta, geralmente em um dos formatos geralmente aceitos - HTML, HTMLHelp, PDF, RTF e outros.

Comentários de documentação.

Um comentário doc é um comentário especialmente formatado em um objeto de programa para uso por um gerador de documentação específico. A sintaxe das construções usadas em comentários de documentação depende de qual gerador de documentação é usado.

Os comentários da documentação podem conter informações sobre o autor do código, descrever a finalidade do objeto do programa, o significado dos parâmetros de entrada e saída - para uma função/procedimento, exemplos de uso, possíveis exceções, recursos de implementação.

Os comentários de documentação geralmente são formatados como comentários estilo C de várias linhas. Em cada caso, o comentário deve vir antes do elemento documentado. O primeiro caractere em um comentário (e no início das linhas de comentário) deve ser *. Os blocos são separados por linhas em branco.

3. Visual Basic para Aplicativos

sistema operacional software

3.1 A essência do VisualBasic e sua breve história

Microsoft Visual Basic (VB) é uma ferramenta de desenvolvimento de software desenvolvida pela Microsoft e inclui uma linguagem de programação e um ambiente de desenvolvimento. A linguagem Visual Basic herdou o espírito, o estilo e, em parte, a sintaxe de sua ancestral, a linguagem BASIC, que possui muitos dialetos. Ao mesmo tempo, o Visual Basic combina procedimentos e elementos de linguagens de programação orientadas a objetos e orientadas a componentes. O ambiente de desenvolvimento VB inclui ferramentas para projetar visualmente a interface do usuário. (ver tabela).

Visual Basic (principais recursos)

O Visual Basic é considerado uma boa ferramenta para o desenvolvimento rápido de protótipos de programas, para o desenvolvimento de aplicativos de banco de dados e, em geral, para a maneira baseada em componentes de criar programas executados nos sistemas operacionais da família Microsoft Windows.

No processo de evolução, o Visual Basic passou por uma série de etapas sucessivas que permitiram que se tornasse uma das linguagens de programação mais populares da atualidade. então evolução O VisualBasic seguiu o seguinte caminho:

1. Maio de 1991 - Lançamento do Visual Basic 1.0 para Microsoft Windows. A sintaxe QBasic foi tomada como base da linguagem, e a inovação, que então trouxe grande popularidade à linguagem, foi o princípio de comunicação entre a linguagem e a interface gráfica.

2. Setembro de 1992 - Lançamento do Visual Basic 1.0 para DOS. Não era totalmente compatível com a versão Windows do VB, pois era a próxima versão do QuickBASIC e rodava no modo de texto da tela.

3. Novembro de 1992 - Lançamento do Visual Basic 2.0. O ambiente de desenvolvimento ficou mais fácil de usar e funcionou mais rápido.

4. verão de 1993 - Visual Basic 3.0 foi lançado nas edições Standard e Professional. Além disso, um mecanismo para trabalhar com bancos de dados do Access foi adicionado ao pacote.

5. Agosto de 1995 - Visual Basic 4.0 - uma versão que pode criar programas Windows de 32 e 16 bits.

6. Fevereiro de 1997 - Visual Basic 5.0 - a partir desta versão, tornou-se possível, juntamente com aplicações convencionais, desenvolver componentes COM.

7. Em meados de 1998, o Visual Basic 6.0 foi lançado. Desde então, a Microsoft mudou drasticamente sua política de linguagem básica. Em vez de desenvolver o Visual Basic, foi criada uma linguagem Visual Basic .NET completamente nova.

8. Em 2005, uma nova versão do Visual Basic foi lançada junto com o Visual Studio. Ela ficou satisfeita com a nova interface e os recursos. A linguagem é baseada em Visual Basic.NET.

9. No final de 2007, a Microsoft lançou nova versão Visual Basic - Visual Basic 2008, que também foi baseado no Visual Basic.NET.

Com base na funcionalidade e especificidades do aplicativo, as seguintes variedades deste programa podem ser distinguidas:

1. Visual Basic Clássico (versões 5-6) Esta linguagem está fortemente ligada ao seu ambiente de desenvolvimento e ao sistema operacional Windows, sendo exclusivamente uma ferramenta para escrever aplicações Windows

2. VisualBasicforApplications (VBA) Esta é uma ferramenta de programação, quase não diferente do clássico Visual Basic, que é projetado para escrever macros e outros aplicativos para aplicativos específicos. Mais popular devido ao seu uso em pacote Microsoft escritório. O uso generalizado do Visual Basic for Applications, juntamente com uma falta inicial de atenção aos problemas de segurança, levou à disseminação de vírus de macro.

3. VisualBasicScriptingEdition (VBScript) Linguagem de script, que é uma versão um tanto truncada do Visual Basic normal. É usado principalmente para automatizar a administração de sistemas Windows, bem como para criar páginas ASP e scripts para o Internet Explorer.

3.2 Interface do VisualBasicforApplication, principais funções e recursos

Ao criar o VisualBasicforApplication, a Microsoft definiu como principal tarefa a criação de um kit de ferramentas acessível a usuários que não sejam programadores profissionais, mas ao mesmo tempo qualificados o suficiente para desenvolver e projetar programas aplicativos e aplicativos baseados no Microsoft Office. Foi para resolver esse problema que os desenvolvedores criaram o VBA, dotando-o de vários recursos exclusivos. Um dos mais valiosos para o usuário é a capacidade de criar e usar caixas de diálogo não padrão (personalizadas) em programas adicionando um objeto UserForm ao projeto, bem como uma interface de usuário conveniente.

A interface do programa VisualBasicforApplication consiste em um complexo de várias janelas e guias usadas no design do aplicativo que está sendo criado, sendo as principais:

1) a janela Projeto (Fig. 2), que exibe a estrutura do projeto que está sendo criado.

2) a janela Código do programa (Fig. 3), que exibe o código do programa do projeto que está sendo criado e permite escrever um programa a maneira clássica usando o editor embutido de palavras-código, das quais existem mais de 16 mil em VBA. Além disso, esta janela permite que você edite o código e verifique se há erros.

3) a guia Propriedades (Fig. 4), que exibe os parâmetros definidos para o objeto especificado e permite alterar as configurações especificadas.

Movendo-se entre janelas e abas, o usuário pode customizar facilmente o projeto criado.

Usando formulários VBA criados pelo usuário, você pode criar caixas de diálogo personalizadas para exibir dados ou receber valores do usuário do programa da maneira que melhor atenda às necessidades do programa. Por exemplo, você pode criar um questionário, exibir uma caixa de diálogo para exibir perguntas de múltipla escolha e permitir que o usuário selecione uma das opções de resposta que considera correta.

As caixas de diálogo não padrão permitem que o programa interaja com seu usuário da maneira mais complexa e forneça uma variedade de dados de entrada e saída.

Uma caixa de diálogo personalizada é criada no VBA adicionando um objeto UserForm ao projeto. Este objeto é uma caixa de diálogo vazia; ele possui uma barra de título e um botão Fechar, mas não possui nenhum outro controle. Uma caixa de diálogo personalizada é criada adicionando controles ao objeto UserForm e geralmente é chamada simplesmente de formulário (Figura 5).

Cada objeto UserForm tem propriedades, métodos e eventos que herda da classe de objeto UserForm.

Cada objeto UserForm também contém um módulo de classe no qual o usuário adiciona seus próprios métodos e propriedades ou escreve procedimentos de evento para esse formulário.

A capacidade de criar sua própria interface independente do ambiente do programa aplicativo, como o Excel, usando formulários de tela é um dos recursos mais valiosos do VBA.

Os formulários de tela são janelas para diversos fins e tipos criados pelo usuário para sua aplicação. Eles contêm controles que permitem ao usuário compartilhar informações com o aplicativo.

O VBA usa o design gráfico do formulário gerado - com configurações para as propriedades e controles do formulário - para obter todas as informações necessárias para exibir a caixa de diálogo: o tamanho da caixa de diálogo, os controles nela e assim por diante. Como resultado, o VBA permite que você exiba um formulário de caixa de diálogo com uma única instrução.

Para exibir uma caixa de diálogo personalizada, use o método Show do objeto UserForm. Se o formulário não estiver carregado na memória, o método Show carrega o formulário e o exibe. Se o formulário já estiver carregado, o método Show simplesmente o exibe.

Exibir uma única caixa de diálogo para concluir uma tarefa geralmente não é suficiente. Quase sempre é necessário determinar o estado dos controles da caixa de diálogo para descobrir quais dados ou opções o usuário selecionou. Por exemplo, se uma caixa de diálogo for usada para perguntar ao usuário por quais colunas e linhas a planilha deve ser classificada, você precisa descobrir quais valores o usuário inseriu após o fechamento da caixa de diálogo e antes da operação de classificação realmente começa.

Em outros casos, você pode querer alterar dinamicamente os títulos dos botões (ou outros controles) em uma caixa de diálogo, atualizar dinamicamente um rótulo ou campo associado a um controle giratório ou validar dinamicamente os dados inseridos em uma caixa de diálogo.

No VBA, é possível expandir significativamente o conjunto de funções incorporadas a um aplicativo padrão, como o Microsoft Excel, bem como criar funções cujos valores dependem de determinadas condições e eventos.

O VBA permite que você programe as funções da tabela. Para criar uma planilha separada para módulo de software, há uma guia Inserir Módulo no menu Visual, um comando Módulo no menu Inserir Macro. Depois disso, uma nova planilha "Modelo1" aparecerá. No módulo do programa, você precisa descrever a função na linguagem VBA. Você pode trabalhar na janela do módulo do programa como na janela de um pequeno editor de texto.

As funções são incorporadas usando o comando Object Browser do menu View. As funções definidas pelo usuário são tratadas como objetos independentes no programa. O VBA possui um conjunto significativo de funções internas, dividindo-as em tipos.

O Visual Basic permite reservar variáveis, com ou sem tamanho, trabalhar com diferentes tipos de dados, usar constantes, trabalhar com funções e operadores matemáticos e usar operadores adicionais. É fornecido o uso de operadores de loop For Next, Do, objetos do tipo "timer" (cronômetro invisível no programa). A precisão de definir o tempo no programa é de 1 milissegundo ou 1/1000 seg. Um cronômetro de execução está em execução constante - ou seja, a rotina de interrupção correspondente é executada após um intervalo de tempo especificado - até que o usuário pare o cronômetro ou desative o programa.

No VBA, você pode definir qualquer propriedade para um formulário, incluindo título, tamanho, tipo de quadro, plano de fundo e cor do caractere, fonte do texto e imagem de plano de fundo.

Para resumir todas as funções do programa, o Visual Basic forApplication permite:

1) trabalhar com controles

Vantagens :

1. Alta velocidade de criação de aplicativos GUI para MS Windows.

2. Sintaxe simples que permite aprender o idioma muito rapidamente.

3. Capacidade de compilar tanto em código de máquina quanto em código P (à escolha do programador). No modo de depuração, o programa é sempre (independentemente da escolha) compilado para o código P, o que permite pausar a execução do programa, fazer alterações significativas no código-fonte e continuar a execução: uma recompilação completa e reinicialização do o programa não é necessário.

4. Proteção contra erros associados ao uso de ponteiros e acesso à memória. Esse aspecto torna os aplicativos Visual Basic mais estáveis, mas também é alvo de críticas.

5. Capacidade de usar a maioria das funções WinAPI para expandir a funcionalidade do aplicativo. Esse problema foi mais amplamente explorado por Dan Appleman, que escreveu o livro Visual Basic Programmer's Guide to the Win32 API.

Crítica :

1. Muitas vezes são criticados aspectos do Visual Basic como a capacidade de desabilitar os meios de rastreamento de variáveis ​​declaradas, a possibilidade de conversão implícita de variáveis, a presença do tipo de dados Variant. Segundo os críticos, isso torna possível escrever códigos extremamente ruins. Por outro lado, isso pode ser visto como um plus, já que o VB não impõe "bom estilo", mas dá mais liberdade ao programador.

2. Falta de ponteiros, acesso à memória de baixo nível, inserções ASM. Mesmo que o paradigma do Visual Basic permita que o programador médio de VB prescinda de tudo isso, essas coisas também são frequentemente criticadas. E embora, usando recursos não documentados e certos truques, tudo isso possa ser implementado em VB (por exemplo, usando funções para obter ponteiros VarPtr(), StrPtr() e ObjPtr()); usar esses truques é muito mais difícil do que, por exemplo, em C++.

Porém, vale ressaltar que todas as deficiências da linguagem decorrem de sua principal vantagem - a simplicidade de desenvolvimento de uma interface gráfica. Portanto, muitos programadores usam o Visual Basic para desenvolver a interface do usuário e a funcionalidade do programa é implementada como bibliotecas de vínculo dinâmico (DLLs) escritas em outra linguagem (geralmente C++).

4. Parte prática

4.1 Enunciado do problema

Desenhe um diagrama de blocos e escreva um programa em Pascal. Calcular o valor intrínseco dos títulos. O valor intrínseco de um ativo é determinado pelo fluxo de renda futuro desse ativo

pv é o valor intrínseco atual da ação

c é o retorno esperado do ativo em questão

r é a taxa de retorno esperada pelo investidor para um retorno com um nível de risco adequado

n é o fator de tempo (em meses).

Realize a análise de mercado e classifique o resultado em ordem crescente dos dados recebidos.

4.2 Texto do programa em Pascal

pv: array de reais;

writeLn('Digite a receita esperada de ',i,'th ativo c:');

writeLn('Digite a taxa de retorno esperada pelo investidor r:');

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

writeLn('o valor intrínseco atual do ativo é', pv[i]:1:3);

writeLn('O valor intrínseco do ativo é', s);

para j:=1 a 4 faça

se pv[j] > pv então

writeLn('Valor do ativo classificado em ordem crescente');

para i:=1 a 5 faça

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

4.3 Caso de teste

4.4 O resultado da execução do programa no caso de teste

Conclusão

Portanto, resumindo tudo o que foi dito acima, deve-se notar que o software ferramenta é um dos tipos de software, tendo suas tarefas e funções gerais.

No entanto, sendo um tipo de software altamente especializado, ele possui um certo conjunto de propriedades e funções exclusivas que fornecem uma solução para suas tarefas inerentes.

Deve-se notar a tendência emergente de simplificar o processo de programação e criar uma certa subclasse - programação semi-profissional para fins aplicados.

Isso é o que permitirá a um usuário de computador experiente, mas não programador profissional, criam alguns aplicativos e pequenos arquivos executáveis ​​no ambiente Microsoft Office, utilizados principalmente para fins contábeis e de gestão documental em pequenas empresas.

É com essa finalidade que a Microsoft desenvolveu o pacote de software VisualBasicforApplication, que facilita a programação e permite que os usuários façam a programação de aplicativos, não os programadores. Essa oportunidade foi implementado principalmente criando uma seção do programa - "Editor de script" e a capacidade de gravar e executar "Macros" como um tipo separado de módulos programáveis ​​graficamente. Implementou a capacidade de criar aplicativos com uma interface gráfica para MS Windows. Além disso, a vantagem desse tipo de ferramenta de software é uma sintaxe simples que permite aprender rapidamente a linguagem e usá-la para programar em todos os aplicativos padrão do Microsoft Office.

Portanto, é difícil superestimar a importância das ferramentas em geral e do VisualBasicforApplication em particular, embora as deficiências, conforme mencionado acima, também ocorram. Mas esses não são nem mesmo os aspectos negativos do produto, mas sim diretrizes para melhorias adicionais do ferramental na pessoa do VisualBasicforApplication.

1. Linguagens algorítmicas em tempo real / Ed. Yanga S./ 2004

2. PC Magazine Russian Edition №2 2008 Computador hoje.

3. Ciência da computação. / Ed. Mogilev A.V., Pak N.I., Henner E.K. / - M .: ACADEMIA, 2000.

4. Ciência da computação e tecnologia da Informação: Livro Didático / Ed. Romanova D.Yu. / LLC "Publishing House" Eksmo ", 2007.

5. A mais recente enciclopédia do computador pessoal /Ed. Leontieva V. / Moscou, 1999. – 271 p.

6. Novas linguagens de programação e tendências em seu desenvolvimento / Ed. Ushkova V. / 2001

7. Pedagogia / Ed. Pidkasistogo P.I. / - M .: Sociedade Pedagógica da Rússia, 2000.

8. Programação para Microsoft Excel 2000 em 21 dias. / Ed. Harisa M./ - M.: Williams, 2000.

9. Simonovich S. Informática: um curso básico. Proc. para universidades. São Petersburgo, Pedro, 2002

10. Com o Excel 2000 não há problema. / Ed. Kowalski / - M.: Binom, 2000.

11. "Trabalho eficaz no Windows 98" /Ed. Stinson K. / 2000. – 247 p.

12. Linguagens de programação. kn.5 / Ed. Vaulina A.S. / 2003

13. Linguagens de programação: desenvolvimento e implementação / Ed. Terrence P. / 2001

14. Livro eletrônico de informática. Alekseev E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Enviar seu bom trabalho na base de conhecimento é simples. Use o formulário abaixo

Alunos, alunos de pós-graduação, jovens cientistas que usam a base de conhecimento em seus estudos e trabalhos ficarão muito gratos a você.

Hospedado em http://www.allbest.ru/

Exercício 1

Software instrumental, sua finalidade e composição

Tarefa 2

A primeira etapa - definir a tarefa

A segunda etapa é uma descrição econômica e matemática do problema e a escolha de um método para resolvê-lo

O terceiro estágio - algoritmização

Quarta etapa - programação

Quinto estágio - depuração

Bibliografia

Exercício 1

Software instrumental, sua finalidade e composição

Programas

Um conjunto de programas projetados para resolver problemas em um PC é chamado de software. A composição do software do PC é chamada de configuração do software.

O software pode ser dividido em três categorias:

software de sistema (programas de uso geral) que executam várias funções auxiliares, como criar cópias das informações usadas, emitir informações de ajuda sobre o computador, verificar a operacionalidade dos dispositivos de computador, etc.

software aplicativo que fornece o trabalho necessário em um PC: edição de documentos de texto, criação de desenhos ou imagens, processamento de matrizes de informações, etc.

Software de ferramenta (sistemas de programação) que fornece o desenvolvimento de novos programas para um computador em uma linguagem de programação.

Software de sistema

Esses programas de uso geral não estão relacionados a um aplicativo de PC específico e executam funções tradicionais: agendamento e gerenciamento de tarefas, gerenciamento de I/O, etc.

Em outras palavras, os programas do sistema executam várias funções auxiliares, por exemplo, criar cópias das informações usadas, emitir informações de ajuda sobre o computador, verificar a operacionalidade dos dispositivos do computador, etc.

O software do sistema inclui:

sistemas operacionais (este programa é carregado na RAM quando o computador é ligado) método de uso do programa aplicativo

programas shell (fornecem uma maneira mais conveniente e visual de se comunicar com um computador do que usando linha de comando DOS, como o Norton Commander)

shells operacionais - sistemas de interface que são usados ​​para criar interfaces gráficas, multiprogramação, etc.

Drivers (programas projetados para controlar as portas de dispositivos periféricos geralmente são carregados em BATER ao iniciar o computador)

utilitários (programas auxiliares ou utilitários que apresentam ao usuário uma série de serviços adicionais)
Os utilitários incluem:

gerenciadores de arquivos ou gerenciadores de arquivos

meio de compactação dinâmica de dados (permite aumentar a quantidade de informações no disco devido à sua compactação dinâmica)

ferramentas de visualização e reprodução

ferramentas de diagnóstico; ferramentas de controle permitem que você verifique a configuração do computador e verifique a operacionalidade dos dispositivos do computador, principalmente discos rígidos

meios de comunicação (programas de comunicação) são projetados para organizar a troca de informações entre computadores

ferramentas de segurança do computador ( cópia de segurança, software antivírus).

Deve-se notar que alguns dos utilitários fazem parte do sistema operacional, enquanto a outra parte funciona de forma autônoma. A maior parte do software comum (do sistema) faz parte do sistema operacional. Parte do software geral está incluída no próprio computador (parte dos programas do sistema operacional e testes de controle são gravados em ROM ou PROM instalados em Placa do sistema). Alguns dos softwares compartilhados são softwares independentes e estão disponíveis separadamente.

software aplicativo

Os programas aplicativos podem ser usados ​​de forma independente ou como parte de sistemas de software ou pacotes. Software aplicativo - programas que fornecem diretamente o trabalho necessário em um PC: edição de documentos de texto, criação de desenhos ou imagens, criação planilhas etc.

Os pacotes de aplicativos são um sistema de programas que, de acordo com seu escopo, são divididos em pacotes orientados a problemas, de propósito geral e pacotes integrados. Pacotes integrados modernos contêm até cinco componentes funcionais: processador de teste e planilha, DBMS, editor gráfico, instalações de telecomunicações.

O software aplicativo inclui, por exemplo:

Pacote MS OFFICE

Sistemas de contabilidade

Sistemas analíticos financeiros

Pacotes de trabalho de escritório integrados

CAD - sistemas (sistemas de design auxiliado por computador)

Editores de HTML ou editores da Web

Navegadores - visualizadores da Web

Editor gráfico

Software de ferramenta

Software de ferramentas ou sistemas de programação são sistemas para automatizar o desenvolvimento de novos programas em uma linguagem de programação.

No caso mais geral, para criar um programa na linguagem de programação selecionada (linguagem de programação do sistema), você precisa ter os seguintes componentes:

1. Editor de texto para criar um arquivo com o código-fonte do programa.

2. Compilador ou interpretador. O texto fonte é traduzido em um código objeto intermediário usando um programa compilador. O código-fonte de um grande programa consiste em vários módulos (Arquivos Fonte). Cada módulo é compilado em um arquivo separado com código objeto, que deve ser combinado em uma única unidade.
3. Um vinculador ou montador que vincula módulos de objeto e gera um aplicativo funcional - código executável.

Um código executável é um programa completo que pode ser executado em qualquer computador que possua o sistema operacional para o qual o programa foi criado. Via de regra, o arquivo resultante tem a extensão .EXE ou .COM.

4. Recentemente, os métodos de programação visual (usando linguagens de script) orientados para a criação de aplicativos do Windows se espalharam. Esse processo é automatizado em ambientes de design rápido. Nesse caso, são utilizados componentes visuais prontos, que são configurados por meio de editores especiais.

Os editores mais populares (sistemas de programação usando ferramentas visuais) para design visual:

Borland Delphi - projetado para resolver praticamente qualquer problema de programação de aplicativos

O Borland C++ Builder é uma excelente ferramenta para desenvolver aplicativos DOS e Windows

O Microsoft Visual Basic é uma ferramenta popular para criar programas do Windows.

Microsoft Visual C++ - esta ferramenta permite desenvolver qualquer aplicativo executado em um ambiente de sistema operacional, como o Microsoft Windows.

Tarefa 2

Formulário e preenchimento da declaração cumulativa de provisão de pagamento dos quartos do hotel "Start" para março de 2004. Quartos de hotel individuais custam 750 rublos para cada cliente. por dia, 2 lugares - 650 rublos. de cada cliente. O quarto pode ser reservado. A reserva no hotel pode ser de dois tipos: grupo e individual e é paga à parte. Ao reservar para um grupo, o pagamento do primeiro dia de estadia aumenta em 25% da tarifa do quarto, nos casos em que não há reserva ou é individual, não há custo adicional.

O tipo de reserva e o número de dias de permanência em cada quarto são apresentados na tabela.

Calcule a taxa de reserva para cada quarto, se houver. Calcule o pagamento de todos os dias de estadia para cada quarto de hotel. Calcule os dados finais do hotel: pagamento da reserva, número de dias de estadia por mês, pagamento integral do hotel no mês. Determine o número médio de dias de permanência, o valor do pagamento máximo e mínimo dos dias de permanência.

Declaração de provisão de pagamento para os quartos do hotel "Start" paramarço de 2004

Número do quarto

Tipo de quarto ocupado

tipo de armadura

Pagamento da reserva (esfregar)

Número de dias de permanência

1 lugar

1 lugar

1 lugar

2 lugares

2 lugares

2 lugares

2 lugares

Total:

Criar gráficos:

· Gráfico circular na coluna "Número de dias de residência".

· Histograma na coluna "Pagamento por dias de estadia".

Declaração de provisão de pagamento dos quartos do hotel "Start" para março de 2004

É necessário preencher e preencher o comprovante de pagamento dos quartos do hotel "Start" referente a março de 2004.

Considere os estágios de preparação de uma solução para o problema em um PC.

A primeira etapa - definir a tarefa

O objetivo de resolver este problema é calcular o pagamento da reserva e dias de permanência dos hóspedes do hotel "Start" para março de 2004.

Para resolver o problema, são utilizados indicadores (informações de entrada): número do quarto, tipo de quarto ocupado, tipo de reserva, tarifa do quarto por pessoa por dia, número de dias de permanência. Informação de saída: pagamento da reserva, pagamento dos dias de alojamento.

A segunda etapa é uma descrição econômica e matemática do problema e a escolha de um método para resolvê-lo

O problema em consideração é resolvido pelo método de contagem direta.

Vamos designar os dados iniciais:

OB - pagamento da reserva;

TB - tipo de armadura;

SNCHD - tarifa de quarto por pessoa por dia;

KDP - o número de dias de residência;

ODP - pagamento por dias de estadia;

A taxa de reserva é calculada da seguinte forma:

SOBRE \u003d 0,25 * SNP,

se TB = "grupo", caso contrário 0.

O pagamento por dias de estadia é calculado da seguinte forma:

ODP \u003d SOBRE + SNCHD * KDP.

Para resolver esse problema, usaremos o Microsoft Excel.

O terceiro estágio - algoritmização

Vamos correr programa excel. Trabalharemos na Folha 1.

No intervalo de células A1:G1, insira o nome da coluna. Para dar uma aparência estética ao cabeçalho da tabela do nome, colocaremos o gráfico no centro da célula verticalmente e horizontalmente com quebra de linha. Para fazer isso, selecione o intervalo de células A1:G1, chame o menu sensível ao contexto (na área selecionada, clique em clique direito clique), selecione Formatar Células no menu. Na caixa de diálogo que aparece, selecione a guia Alinhamento, defina as opções: Horizontalmente - centralizado; Verticalmente - no centro; quebra de linha e pressione OK.

Nas colunas A, B, C, D e F, insira os dados especificados na tarefa. Em seguida, faremos os cálculos necessários usando fórmulas. Abaixo está uma tabela de cálculo em fórmula e forma numérica.

Tabela em forma de fórmula.

Número do quarto

Tipo de quarto ocupado

Preço do quarto por pessoa por dia (esfregar.)

tipo de armadura

Pagamento da reserva (esfregar)

Número de dias de permanência

Pagamento por dias de estadia (esfregar.)

1 lugar

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

1 lugar

SE(D3="grupo";0,25*C3;0)

1 lugar

SE(D4="grupo";0,25*C4;0)

2 lugares

SE(D5="grupo";0,25*C5;0)

2 lugares

SE(D6="grupo";0,25*C6;0)

2 lugares

SE(D7="grupo";0,25*C7;0)

2 lugares

SE(D8="grupo";0,25*C8;0)

Total:

=SOMA(E2:E8)

=SOMA(F2:F8)

=SOMA(G2:G8)

Como resultado, obtemos os seguintes resultados.

Número do quarto

Tipo de quarto ocupado

Preço do quarto por pessoa por dia (esfregar.)

tipo de armadura

Pagamento da reserva (esfregar)

Número de dias de permanência

Pagamento por dias de estadia (esfregar.)

1 lugar

1 lugar

1 lugar

2 lugares

2 lugares

2 lugares

2 lugares

Total:

537,50 esfregar.

RUB 18.737,50

Determinamos o número médio de dias de permanência, o valor do pagamento máximo e mínimo dos dias de residência. Para isso, utilizamos as funções estatísticas AVERAGE(), MAX() e MIN(), respectivamente. Abaixo está uma tabela com cálculos adicionais em fórmula e forma numérica.

Uma tabela com cálculos adicionais em forma de fórmula é apresentada a seguir.

Abaixo estão gráfico de pizza na coluna "Número de dias de permanência" e um histograma na coluna "Pagamento por dias de permanência".

Quarta etapa - programação

Nenhuma programação é necessária para esta tarefa.

Quinto estágio - depuração

Para verificar a exatidão das fórmulas inseridas, você deve calcular manualmente os valores de controle.

Calcule os valores de controle para a sala 31.

OB \u003d 0,25 * 750 \u003d 187,5, desde TB \u003d "grupo".

ODP \u003d 187,5 + 750 * 4 \u003d 3187,5.

Calcule os valores de controle para a sala 35.

OB = 0, pois TB não é igual a "grupo".

ODP \u003d 650 * 1 \u003d 650.

Esses valores de controle correspondem aos valores calculados na tabela, portanto, a tarefa foi concluída corretamente.

Bibliografia

1. Ilyushechkin V., Kostin A. Software do sistema - M.: Ensino médio, 2008. 127 p.

2. Rudenko V.D. Curso de Informática. - K.: Phoenix, 2008. - 368 p.

3. Stepanov A. Informática: Livro didático para universidades. 3ª edição. 2003. - 768 p.

Hospedado em Allbest.ru

Documentos Similares

    Software de sistema, aplicado e ferramenta. Os pacotes de aplicativos mais comuns. Finalidade e estrutura programas do sistema. Preenchendo uma tabela e trabalhando com totais no Excel, filtrando dados e construindo um gráfico.

    teste, adicionado em 29/01/2014

    A essência do conceito de "software". Tipos de programas aplicativos. Modernos sistemas de programação para computadores pessoais. Níveis de software: básico, sistema, serviço. Classificação de software de serviço.

    resumo, adicionado em 01/04/2010

    Definição do conceito e essência do software. Consideração dos fundamentos de programas interpretados e compilados. Recursos de programas proprietários, de código aberto, gratuitos, de sistema, aplicativos e ferramentas; princípios básicos de sua aplicação.

    resumo, adicionado em 11/06/2014

    Essência e finalidade do software - um conjunto de programas que controlam a operação de um computador ou sistema automatizado. Funções do sistema operacional - um conjunto de programas interativos que garantem a operação (funcionamento) de um computador.

    trabalho de controle, adicionado em 18/01/2011

    O desenvolvimento de pacotes de aplicativos integrados, mecanismos como OLE e OpenDoc, garantindo seu trabalho conjunto. Análise dos complexos mais conhecidos que consistem em programas aplicativos que funcionam de forma independente e integrada.

    resumo, adicionado em 03/03/2012

    Um conjunto de programas usados ​​para trabalhar em um computador. Finalidade funcional do software, normas legais para seu uso. Sistema operacional e programas de serviço. Desenvolvimento de programas de computador em linguagem de programação.

    apresentação, adicionada em 10/10/2016

    Metas e objetivos da engenharia de software. O conceito de software. Seis princípios para o uso eficaz de software. Tipos de software: em todo o sistema, em rede e aplicado. Princípios de construção de software.

    trabalho final, adicionado em 29/06/2010

    Revisão e características do software de computador como um conjunto de programas do sistema de processamento da informação. Características do hardware como um complexo de dispositivos elétricos e mecânicos que fazem parte do computador. Interação de sistemas.

    apresentação, adicionada em 23/12/2010

    Principais tipos de software. Características dos pacotes de aplicativos. Tipos e grupos de sistemas numéricos. Tradução de números inteiros e fracionários de um sistema numérico para outro. Operações aritméticas no sistema binário. Crimes de informática.

    folha de dicas, adicionada em 19/01/2014

    Classificação do software, suas características, finalidade. Software para trabalhar com texto, imagens, aplicado, escritório, para trabalhar na Internet. Sistemas de programação, especificidades de software, o que são vírus.

Software de ferramenta - software destinado ao uso no projeto, desenvolvimento e manutenção de programas, em oposição ao software de aplicativo e sistema.

O nível instrumental (tradutores e compiladores de linguagens de programação, sistemas de programação) prevê a criação de novos programas para um computador pessoal.

Linguagem de programação- um sistema formal de sinais projetado para descrever algoritmos de uma forma que seja conveniente para o performer (por exemplo, um computador). Uma linguagem de programação define um conjunto de regras lexicais, sintáticas e semânticas usadas na compilação de um programa de computador. Ele permite que o programador determine exatamente a quais eventos o computador responderá, como os dados serão armazenados e transmitidos e exatamente quais ações devem ser executadas nesses dados em várias circunstâncias.

As linguagens de programação são divididas em nível baixo E alto nível línguas.

Linguagem de programação de baixo nível- uma linguagem de programação próxima da programação direta em códigos de máquina.

Como regra, ele usa os recursos de uma determinada família de processadores. Um exemplo bem conhecido de uma linguagem de baixo nível é a linguagem montador.

Linguagem de programação de alto nível- uma linguagem de programação projetada para velocidade e facilidade de uso pelo programador. A palavra “alto nível” aqui significa que a linguagem é projetada para resolver problemas abstratos de alto nível e opera não com instruções para o equipamento, mas com conceitos lógicos e abstração de dados. Isso permite que você programe tarefas complexas mais rapidamente e fornece independência relativa do hardware. O uso de uma variedade de tradutores e intérpretes garante que os programas escritos em linguagens de alto nível possam se comunicar com diferentes sistemas operacionais e hardware, enquanto seu código-fonte permanece praticamente inalterado.

Esse tipo de separação de linguagens de alto nível da implementação de hardware de um computador, além de muitas vantagens, também apresenta desvantagens. Em particular, não permite a criação de instruções simples e precisas para os equipamentos utilizados. Programas escritos em linguagens de alto nível são mais fáceis de entender pelo programador, mas muito menos eficientes do que seus equivalentes escritos em linguagens de baixo nível. Uma das consequências disso foi a adição de suporte para uma ou outra linguagem de baixo nível (linguagem assembly) às linguagens de programação profissionais de alto nível mais modernas.

As linguagens mais comuns deste tipo são C++, Visual básico, Java, Pitão, rubi, perl, delfos, PHP.


As linguagens de programação também podem ser divididas em compilado E interpretado.

Programa de linguagem compilado usando um programa especial compiladoré convertido (compilado) em um conjunto de instruções para deste tipo processador (código de máquina) e, em seguida, gravado em um arquivo executável que pode ser executado como um programa separado. Em outras palavras, o compilador traduz o programa de uma linguagem de alto nível para uma linguagem de baixo nível que o processador entenda.

Se o programa for escrito em uma linguagem interpretada, então intérprete realiza (interpreta) diretamente seu texto sem tradução prévia. O programa permanece em seu idioma original e não pode ser executado sem um intérprete. Podemos dizer que o processador do computador é um intérprete de código de máquina.

Resumidamente, compilador traduz o programa em linguagem de máquina imediatamente e inteiramente, enquanto cria um programa separado, e intérprete traduz em linguagem de máquina diretamente durante a execução do programa.

A divisão em linguagens compiladas e interpretadas é um tanto arbitrária. Assim, para qualquer linguagem compilada tradicionalmente, como Pascal, você pode escrever um interpretador. Além disso, a maioria dos interpretadores "puros" modernos não executa construções de linguagem diretamente, mas as compila em alguma representação intermediária de alto nível (por exemplo, com desreferência variável e expansão de macro).

Para qualquer linguagem interpretada, você pode criar um compilador - por exemplo, a linguagem Lisp, originalmente interpretado, pode ser compilado sem quaisquer restrições. O código gerado em tempo de execução também pode ser compilado dinamicamente em tempo de execução.

Como regra, programas compilados rodam mais rápido e não requerem programas adicionais, pois já foram traduzidos para linguagem de máquina. Ao mesmo tempo, toda alteração no texto do programa exige sua recompilação, o que cria dificuldades no desenvolvimento. Além disso, um programa compilado só pode ser executado no mesmo tipo de computador e, geralmente, no mesmo sistema operacional para o qual o compilador foi projetado. Para criar um executável para um tipo diferente de máquina, é necessária uma nova compilação.

Os idiomas interpretados têm alguns recursos adicionais específicos e os programas neles podem ser executados imediatamente após a modificação, o que facilita o desenvolvimento. Um programa de linguagem interpretada geralmente pode ser executado em muitos tipos diferentes de máquinas e sistemas operacionais sem esforço adicional. No entanto, os programas interpretados são notavelmente mais lentos do que os programas compilados e não podem ser executados sem um programa interpretador adicional.

Algumas línguas, por exemplo, Java E C #, estão entre compilados e interpretados. Ou seja, o programa é compilado não em linguagem de máquina, mas em código independente de máquina de baixo nível, código de bytes. Em seguida, o bytecode é executado máquina virtual. Para executar o bytecode, geralmente é usada a interpretação, embora algumas de suas partes possam ser traduzidas em código de máquina diretamente durante a execução do programa usando a tecnologia de compilação on-the-fly para acelerar o programa ( Compilação just-in-time). Para Java bytecode é executado pela máquina virtual Java (Máquina Virtual JAVA), Para C # - Tempo de execução de linguagem comum.

Aulas de linguagens de programação. Convencionalmente, as linguagens de programação podem ser divididas nas seguintes classes (Fig. 2.).

EM linguagens de programação funcionais funções são os principais blocos de construção. Os textos do programa em linguagens de programação funcionais descrevem “como resolver um problema”, mas não prescrevem uma sequência de ações para resolução.

As seguintes são geralmente consideradas como as principais propriedades das linguagens de programação funcional:

brevidade e simplicidade;

digitação forte;

modularidade;

· funções - objetos de cálculo;

pureza (sem efeitos colaterais);

avaliação adiada (preguiçosa).


Arroz. 2. Aulas de linguagens de programação

Exemplos de linguagens de programação funcionais: Lisp, Haskell, Clean, ML, etc.

programação processualé um paradigma de programação baseado no conceito chamada de procedimento. Procedimentos, também conhecidos como sub-rotinas, métodos ou funções (não são funções matemáticas, mas funciona como as usadas na programação funcional). Os procedimentos simplesmente contêm uma sequência de etapas a serem executadas. Durante a execução do programa, qualquer procedimento pode ser chamado de qualquer lugar, incluindo o próprio procedimento.

Exemplos de linguagens de programação procedural: Ada, BASIC, C, C++, Pascal, Visual Basic, Dilphi, etc.

Linguagem de descrição da interface ou IDL(Inglês) Linguagem de descrição da interface) é uma linguagem de computador puramente descritiva que é sintaticamente semelhante a C++.

Exemplos de linguagens de descrição de interface: CORBA IDL (desenvolvido oh meu deus para descrever interfaces de objetos distribuídos - nomes de métodos e tipos de argumentos variáveis), COM IDL (semelhante ao CORBA IDL da Microsoft, criado para descrever interfaces entre módulos COM).

Linguagem de programação orientada a objetos(linguagem OO) - uma linguagem que favorece a programação orientada a objetos. Nas linguagens OO modernas, os métodos são usados:

Herança. Criação de uma nova classe de objetos adicionando novos elementos (métodos). Atualmente, as linguagens OO permitem herança múltipla, ou seja, combinar as capacidades de várias outras classes em uma classe.

Encapsulamento. Ocultação de dados, que (quando implementado corretamente) permite que você faça alterações em partes do programa sem problemas para outras partes dele. Isso simplifica muito a manutenção e as atualizações de software.

Polimorfismo. Durante a herança, algumas partes (métodos) da classe pai são substituídas por novas que implementam ações específicas para esse filho. Assim, a interface da classe permanece a mesma, mas a implementação de métodos com o mesmo nome e conjunto de parâmetros é diferente.

Digitando. Permite eliminar muitos erros no momento da compilação, as operações são realizadas apenas em objetos do tipo apropriado.

Exemplos de linguagens de programação OO: C++, Delphi (Object Pascal), C#, Java, etc.

Programação lógica- um paradigma de programação, bem como uma seção de matemática discreta que estuda os métodos e capacidades desse paradigma, com base na derivação de novos fatos desses fatos de acordo com determinadas regras lógicas. A programação lógica é baseada na teoria da lógica matemática. A linguagem de programação lógica mais famosa é Prólogo, que é em sua essência uma máquina de inferência universal que opera sob a suposição de que o mundo dos fatos é fechado.

Linguagem de script(Inglês) linguagem de script, também chamado linguagem de script) é uma linguagem de programação projetada para escrever "scripts", sequências de operações que um usuário pode executar em um computador. Linguagens de script simples costumavam ser chamadas de idiomas de processamento em lote (idiomas em lote). Os scripts são sempre interpretados, não compilados.

No programa aplicativo cenário (roteiro) é um programa que automatiza algumas tarefas que, sem um script, o usuário faria manualmente usando a interface do programa.

Exemplos de linguagens de programação de script: VBA (Visual Basic Application), AutoLISP, 3DMAX Script, JCL, JavaScript, etc.

Atualmente, o uso generalizado sistemas de computador com arquiteturas de cluster e GRID definem a tarefa de criar linguagens de programação de alto nível, poderosas e fáceis de usar que permitiriam criar complexas, mas ao mesmo tempo aplicativos rápidos, usando efetivamente computação paralela. Uma dessas linguagens é atualmente a MC# (uma linguagem de programação orientada a objetos de alto nível para a plataforma .NET que suporta a criação de programas que funcionam em um ambiente distribuído com chamadas assíncronas).

Questões para auto-exame:

1. Software.

2. Nível básico.

3. Nível do sistema de software.

4. Nível de serviço do software.

5. Nível de aplicação do software.

6. O que são chamados de drivers de dispositivo?

7. O que são chamados de utilitários?

8. Defina uma linguagem de programação.

9. O que é um intérprete?

10. O que é um compilador?

11. Dê exemplos de linguagens de programação de baixo e alto nível, qual é a diferença entre elas?

12. Quais classes de linguagens de programação podem ser identificadas? Dê exemplos para cada classe.

13. Cite as principais propriedades das linguagens de programação funcional

14. Cite quais métodos são usados ​​em linguagens de programação modernas orientadas a objetos.

15. O que é um roteiro (roteiro)?

Um sistema instrumental é um sistema de software (é melhor falar de um ambiente de software onde incluímos o usuário, pois é o usuário, seus conhecimentos, habilidades e habilidades que tornam esse sistema menos ou mais eficaz) para o acelerado e baixo -desenvolvimento de recursos de alguns outros programas (ou processamento de dados), tanto sistêmicos quanto aplicados, bem como novos instrumentais.

Exemplo. Vamos considerar um ambiente de ferramentas - um editor gráfico que permite visualizar objetos gráficos de duas maneiras principais: vetorial ou raster. A abordagem vetorial forma dinamicamente gradativamente na tela (que é considerada como um espaço de coordenadas) um objeto de acordo com sua representação, composta por primitivas gráficas. A abordagem raster forma todo o objeto na tela com base em seu layout (modelo, primitivas gráficas na memória de vídeo), que consiste em grupos individuais de pixels em alguma matriz de pixels bidimensionais (análoga a uma folha de desenho com um sistema de coordenadas cartesianas). . Esta matriz contém informações sobre o brilho e a cor do cluster de imagem (às vezes 1-2 bytes ou mais por pixel), e a própria matriz pode ter uma dimensão de 1024x1024 pixels ou mais. A imagem formada na matriz de pixels é armazenada na memória de vídeo do display e exibida na tela no modo de regeneração de quadros. Uma imagem colorida (pintura colorida) é uma manipulação dos pixels dessa matriz. Os editores gráficos de imagens 3D permitem não apenas projetar objetos 3D, mas também movê-los ao longo de um determinado caminho, ou seja, realizar animações. Um poderoso ambiente gráfico é o 3D-Studio Max da Autodesk. Além deste pacote, os pacotes gráficos são amplamente utilizados:

GRAFLotus Freelance - para trabalhar com gráficos de negócios e computador;

Splash e Fanta - para trabalhos na área de design e filmes de computador;

AutoCAD - para automação do trabalho de design;

CorelDraw, PaintBrush, AdobeIllustrator - para uma variedade de aplicações.

Tradutores são discutidos em detalhes abaixo.

Considere sistemas de interface para fornecer uma interface amigável entre usuários e programas).

Exemplo. O sistema de interface mais antigo é o Norton Commander (Norton Commander de Peter Norton). Sistemas como o Norton Commander (NC) são chamados de shells operacionais e podem ser classificados como ambientes de ferramentas (ferramentas para uma interface mais conveniente e confortável com o sistema operacional, com sistema de arquivo, ignorando a tediosa linguagem de comando do sistema operacional). Esse sistema permite copiar, criar, excluir, renomear, mover, visualizar e pesquisar arquivos de maneira visual e conveniente, etc. O NC usa teclas de controle e função, que correspondem a certas operações e respostas do sistema:

Esc – cancelamento da função executada;

Enter – execução da função;

Aba - altera o painel atual (ativo) para outro (anteriormente passivo);

PgUp (PgDn) - vá para a página para frente (voltar);

Home (End) - definido para o início (fim) do diretório;

, , , – teclas para mover o cursor para a esquerda, para cima, para a direita, para baixo;

Ctrl-S (pressionamento simultâneo das teclas Ctrl e S) - um caractere à esquerda;

Ctr-D (Ctr-A, Сtrl-F) – um caractere à direita (uma palavra à esquerda, uma palavra à direita);

F1 – tecla de ajuda, dicas de estado ativo (tecla de ajuda);

F2 - gravando o arquivo ativo no disco;

F3 - visualize o conteúdo do arquivo ativo;

F4 - editando o arquivo ativo;

F5 - copie o arquivo ativo para o diretório ativo em outro painel;

F6 - renomear (transferir) o arquivo ativo;

F7 - cria um novo diretório (subdiretório);

F8 - excluir arquivo ativo;

F9 - ativação dos comandos do painel (menu do sistema) NC;

F10 - saída do NC.

Um análogo doméstico mais desenvolvido de NC para sistemas Windows é, por exemplo, o shell do gerenciador FAR.

Sistemas instrumentais orientados a problemas servem para resolver uma classe bastante ampla de tarefas de alguma orientação profissional orientada a problemas: CAD - sistemas de automação de projeto, sistemas de controle automatizados - sistemas de controle automatizados, estações de trabalho - estações de trabalho automatizadas, DBMS - um sistema que fornece uma interface para programas de usuário e dados de um banco de dados, ES - sistemas especialistas, sistemas de acumulação, armazenamento e atualização de experiência, conhecimento, habilidades, habilidades (julgamentos especializados) de especialistas, etc.

Programas autônomos são aqueles programas que são desenvolvidos em grande número todos os dias e usados ​​para vários propósitos aplicados (ensino, computação, modelagem, etc.).

Bibliotecas de programas - um conjunto de programas para resolver problemas de uma determinada direção (por exemplo, resolver sistemas de equações algébricas), com descrição, catálogo, instruções e colocados em mídia externa de forma a poder se conectar facilmente ao problema que está sendo resolvido (para o programa que está sendo executado) no curso de sua solução.

O pacote de software aplicativo (APP) consiste nas seguintes partes obrigatórias:

descrição, apresentação da classe de tarefas resolvidas com o auxílio do PPP;

um conjunto de programas que proporcionam a construção de programas aplicativos para PPP (cadeia tecnológica);

um conjunto de programas aplicados que proporcionam a resolução de problemas da área disciplinar do PPP;

idioma de entrada (idioma de consulta) PPP;

banco de dados para armazenamento de dados, transferindo-os para módulos PPP;

monitor (programa de controle) PPP, que fornece entrada de uma tarefa (solicitação), sua decodificação e construção de uma cadeia tecnológica a partir de módulos PPP para buscar uma resposta.

Exemplo. Um pacote de análise de dados estatísticos simples e versátil para estudantes é o pacote SPSS. A interface do usuário com o SPSS for Windows é implementada usando menus e caixas de diálogo simples, o que significa que o SPSS é livre do uso de uma linguagem de comando de pacote especialmente aprendida. Existe um Editor de Dados para controle visual dos dados inseridos, funcionalmente semelhante aos editores de planilhas, por exemplo, Excel. As variáveis ​​variáveis ​​são exibidas em colunas e os conjuntos de suas variações são exibidos em linhas, e cada uma das variáveis ​​pode ser encontrada chamando seu nome. Entrada de dados - semelhante à entrada de dados tabulares (por exemplo, no Excel). EM caixa de diálogo você pode definir (inserir ou calcular) expressões complexas usadas posteriormente em cálculos. É possível aplicar várias leis de distribuição aleatória. Mais poderoso (mas também mais difícil de aprender e usar) é o pacote de matemática MathCAD.

O sistema funcional de um pacote de software integrado não consiste em módulos (como no PPP), mas em PPP.

Exemplo. O pacote de software aplicativo integrado mais comum é o MS Office (pacote de automação de escritório). Seu núcleo inclui os seguintes pacotes: Word - editor de texto, Excel - planilha, Access - SGBD, PowerPoint - sistema de apresentação, etc.

Um software especial (ou exclusivo) é desenvolvido para resolver problemas únicos e muito importantes.

Exemplo. Esta classe de software inclui o sistema de controle de software para a espaçonave Buran.

Mesmo com centenas de milhares de programas para PC disponíveis, os usuários podem precisar de algo que os programas existentes não precisam (ou precisam, mas não precisam). Nesses casos, o software-ferramenta é utilizado para criar novos programas, permitindo o desenvolvimento tanto do sistema quanto do software aplicativo. Consequentemente, desempenha o papel de meio de produção na programação.

Sistemas de programação- são complexos de programas e outras ferramentas destinadas ao desenvolvimento e operação de programas em uma linguagem de programação específica para uma arquitetura específica de PC (plataforma).

O sistema de programação geralmente inclui editor de texto programas, tradutor programas, bibliotecas rotinas e editores de links, depuradores, sistemas de ajuda e, às vezes, vários programas auxiliares.

Linguagem de programaçãoé uma linguagem artificial com a ajuda da qual um algoritmo para resolver um problema é escrito de forma compreensível por um PC.

Existem muitas linguagens de programação e cada uma pode ter dezenas de versões. Cada programador escreve programas na linguagem que lhe é conveniente e não existe uma linguagem de programação que seja considerada geralmente aceita.

Mas todas as linguagens de programação têm uma coisa em comum. Eles são compreensíveis para os programadores, mas incompreensíveis para o processador, pois o processador só pode trabalhar com números binários e, portanto, entende programas escritos apenas em Código da máquina. Portanto, os programas escritos em qualquer linguagem de programação são primeiro "traduzidos" para a linguagem do processador, ou seja, convertido em código de máquina. Esta tradução é realizada por programas de tradução especiais. Em inglês, "tradução" é chamada transmissão (tradução), então programas que traduzem programas em código de máquina são chamados tradutores.

no palco transmissões há uma transformação Código fonte programas em objeto Código, que é posteriormente processado editor de links. O editor de links é um programa especial que fornece a construção de módulo de inicialização, adequado para execução (Fig. 6.2).

Arroz. 6.2. Esquema do processo de criação de um módulo de carga do programa

Existem os seguintes tipos de tradutores: interpretador, compilador.

Intérprete pega o próximo operador de linguagem do texto do programa, analisa sua estrutura e imediatamente o executa. Em seguida, passa para próximo operador. Compilador traduz todo o programa em instruções de máquina.

Das linguagens de programação universais hoje, as seguintes são as mais populares: BASIC (Basic), Pascal (Pascal), C ++ (C ++), Java (Java).

Para cada uma dessas linguagens de programação, existem hoje diversos sistemas de programação produzidos por diversas empresas e voltados para diversos modelos de PC e sistemas operacionais. Os seguintes ambientes visuais para design rápido de programas para Windows são os mais populares: Microsoft Visual Basic; Borland Delphi; Borland C++Builder Microsoft Visual Studio (Visual Basic.net, C++, C#, J#).

Os sistemas de programação modernos permitem que você crie programas que são chamados ao visualizar páginas da Web na rede eletrônica global da Internet.

Uma classe especial de sistemas de programação são sistemas para criar aplicativos cliente-servidor. Esses sistemas permitem criar rapidamente Sistemas de informação para divisões e até grandes empresas. Eles contêm ferramentas para criar uma interface de usuário, descrições de procedimentos de processamento de dados, preparações para executar ações típicas de processamento de dados, etc. Esses sistemas, via de regra, permitem que você trabalhe com uma variedade de DBMS - Oracle, Sybase, Microsoft SQL Server, etc. Entre os sistemas mais populares desse tipo estão PowerBuilder da Sybase, Delphi da Borland, Visual Basic da Microsoft. Obviamente, as ferramentas para criar aplicativos cliente-servidor também estão incluídas no SGBD cliente-servidor (Oracle, Sybase etc.), mas são focadas apenas neste SGBD.