aula 06 softwares
DESCRIPTION
INTRODUÇÃO A COMPUTAÇÃOTRANSCRIPT
![Page 1: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/1.jpg)
Software
UNIDADE II
Prof: Sérgio Souza Costa
![Page 2: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/2.jpg)
Apostila - Introdução a Ciência da Computação
https://www.dropbox.com/s/om6nklz39dt7if4/Introducao%20Ciencia%20da%20Computacao%20-%20Jose%20Garcia%20Rosa.pdf
Cápitulo 5 - Softwares
Referência
![Page 3: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/3.jpg)
O que é software ?
![Page 4: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/4.jpg)
O que é software?
Resposta não é obvia, segundo Pressman, em 1970 menos de 1% dos profissionais poderiam ter definido o que é software.
![Page 5: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/5.jpg)
O que é software?
Produto que os engenheiros de software projetam e constroem.
![Page 6: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/6.jpg)
O que é software?
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 7: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/7.jpg)
O que é software?
1) Instruções (programas de computadores, código executável) que produzem algum resultado desejado.
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 8: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/8.jpg)
O que é software?
2) Estruturas de dados que permitem que os programas manipulem adequadamente a informação.
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 9: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/9.jpg)
O que é software?
3) Documentação que descrevem o uso dos programas.
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 10: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/10.jpg)
Produto que os engenheiros de software projetam e constroem. Englobando:
O que é software?
3) Documentação que descrevem o uso dos programas.
SIM. Documentação, aquela parte que os programadores não morrem de amor.
![Page 11: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/11.jpg)
Então, software é um produto do engenheiro de software, como um hardware é um produto de um engenheiro eletrônico ? O que diferencia estes produtos?
![Page 12: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/12.jpg)
Então, software é um produto do engenheiro de software, como um hardware é um produto de um engenheiro eletrônico ? O que diferencia estes produtos?
Software é lógico.
Hardware é físico.
![Page 13: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/13.jpg)
Então, software é um produto do engenheiro de software, como um hardware é um produto de um engenheiro eletrônico ? O que diferencia estes produtos?
Software é lógico.
Hardware é físico.Vamos ver melhor estas diferenças, e como isto reflete na sua construção.
![Page 14: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/14.jpg)
CARACTERÍSTICAS DO SOFTWARE
![Page 15: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/15.jpg)
Qual a diferença entre Hardware e Software ?
![Page 16: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/16.jpg)
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
![Page 17: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/17.jpg)
Projeto (modelo conceitual)
Artefatos (esquemas, plantas, mapas ... )
Fabricação (manufaturado)
Hardware - manufaturado
Mundo Lógico
Mundo físico
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
![Page 18: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/18.jpg)
Projeto (modelo conceitual)
Artefatos (diagramas, documentos ..)
Programa – modelo de implementação
Software
Mundo Lógico
Alto nível
Baixo nível
Mo
del
os
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
![Page 19: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/19.jpg)
2. Software não se desgasta como nos hardware. Deve ser maleável, permitindo mudanças durante seu ciclo de vida.
![Page 20: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/20.jpg)
Como é a manutenção em um hardware ? e em um software?
![Page 21: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/21.jpg)
Mortalidade infantil
Associada a falhas de fabricação e ou projeto.
Desgaste
Males ambientais, poeiras, vibrações.
Todo hardware tem um tempo de vida.
Mortalidade infantil
Curva de falha do hardware
Desgaste
Tempo
Falh
a
![Page 22: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/22.jpg)
E no software, como vocês acham que é esta curva ? Lembrem-se de que no software não existe uma processo manufaturado, não existem peças que se desgastam.
![Page 23: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/23.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Curva idealizada
![Page 24: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/24.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Curva idealizada
![Page 25: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/25.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Contraditorio ? Consegueriam explicar ?
Curva idealizada
![Page 26: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/26.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Incremento devido os efeitos
colaterais
Curva idealizada
![Page 27: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/27.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
![Page 28: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/28.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
Desenvolvedores temem modificações, tentam a evitá-las.
![Page 29: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/29.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
Desenvolvedores temem modificações, tentam a evitá-las.
Porém, mudanças são inevitáveis e temos que lidar com isso.
![Page 30: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/30.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
Desenvolvedores temem modificações, tentam a evitá-las.
Porém, mudanças são inevitáveis e temos que lidar com isso.
Requisitos de softwares sempre mudam.
![Page 31: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/31.jpg)
3. A maioria é feita sob medida em vez de ser montada a partir de componentes existentes.
![Page 32: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/32.jpg)
3. A maioria é feita sob medida em vez de ser montada a partir de componentes existentes.
O reuso de “componentes de software” ainda não é equivalente a outras engenharias, como no hardware. Padrões ainda estão sendo desenvolvidos.
![Page 33: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/33.jpg)
3. A maioria é feita sob medida em vez de ser montada a partir de componentes existentes.
Existem diversos componentes padronizado para a montagem de um hardware, parafusos, placas, transistores, diodos, etc.
O reuso de “componentes de software” ainda não é equivalente a outras engenharias, como no hardware. Padrões ainda estão sendo desenvolvidos.
![Page 34: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/34.jpg)
EVOLUÇÃO DO SOFTWARE
![Page 35: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/35.jpg)
Evolução do Software
Os primeiros anos- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
1950 1960 1970 1980 2000
![Page 36: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/36.jpg)
Evolução do Software
Os primeiros anos
A segunda era
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
![Page 37: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/37.jpg)
Evolução do Software
Os primeiros anos
A segunda era
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
Crise do software
![Page 38: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/38.jpg)
Evolução do Software
Os primeiros anos
A segunda era
A terceiraera
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
-SISTEMAS DISTRIBUÍDOS-INTELIGÊNCIA EMBUTIDA-HARDWARE DE BAIXO CUSTO-IMPACTO DECONSUMO
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
Crise do software
![Page 39: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/39.jpg)
Evolução do Software
Os primeiros anos
A segunda era
A terceiraera
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
- SISTEMAS DE DESKTOPPODEROSOS- TECNOLOGIASORIENTADASA OBJETOS- SISTEMASESPECIALISTAS- REDES NEURAISARTIFICIAIS- COMPUTAÇÃOPARALELA
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
A quartaeraCrise do software
-SISTEMAS DISTRIBUÍDOS-INTELIGÊNCIA EMBUTIDA-HARDWARE DE BAIXO CUSTO-IMPACTO DECONSUMO
![Page 40: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/40.jpg)
A crise do software
+ Complexidade - Confiabilidade
Aumento crescente por sistemas de Informação
Sistemas mais e mais sofisticados exigem mais recursos (humanos e máquinas)
Mais dependência do software nos procedimentos normais do cotidiano
Sistemas devem ser mais e mais seguros.
![Page 41: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/41.jpg)
A crise do software
●Imprecisão nas especificações iniciais do projeto●Muitas modificações exigidas pelo cliente●Rotatividade acentuada da equipe de projeto●Informações não muito bem documentadas●Custo elevado nos estágios finais de projeto
Manutenabilidade
![Page 42: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/42.jpg)
A crise do software
●Imprecisão nas especificações iniciais do projeto●Muitas modificações exigidas pelo cliente●Rotatividade acentuada da equipe de projeto●Informações não muito bem documentadas●Custo elevado nos estágios finais de projeto
Manutenabilidade
A programação estuturada(que iremos aprender) foi uma resposta a esta crise .
![Page 43: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/43.jpg)
Programas & Instruções
A faceta mais conhecida do software são os programas. Um programa é uma lista ordenada de instruções que causa um comportamento pré-determinado no computador ao ser executada. Uma instrução é composta de uma operação elementar que possa ser executada pelo processador, e dos dados associados a esta operação.
![Page 44: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/44.jpg)
Tipos de Software
O software pode ser classificado hierarquicamente, em software básico (também chamado software de sistema) e software aplicativo,
![Page 45: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/45.jpg)
Tipos de Software
O software pode ser classificado hierarquicamente, em software básico (também chamado software de sistema) e software aplicativo,
![Page 46: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/46.jpg)
Software básico
Correspondem aos programas que geram programas executáveis, ou que se comunicam diretamente com o hardware, executando funções de controle deste, permitindo seu uso pelos programas aplicativos. Os tipos básicos são:
Software básico
Sistema operacional UtilitáriosTradutores
Interpretador Montador Compilador
![Page 47: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/47.jpg)
Software básico
Correspondem aos programas que geram programas executáveis, ou que se comunicam diretamente com o hardware, executando funções de controle deste, permitindo seu uso pelos programas aplicativos. Os tipos básicos são:
Software básico
Sistema operacional UtilitáriosTradutores
Interpretador Montador Compilador
![Page 48: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/48.jpg)
● O software é o que permite os computadores executarem essas mais distintas tarefas. Porém, existem algumas tarefas fundamentais a todos os sistemas computacionais. ○ Por exemplo armazenar e recuperar dados em um dispositivo
de armazenamento, como disco magnético, lazer ou memoria flash.
● Tratar as peculiaridades de cada dispositivo, tornaria o desenvolvimento de software algo extremamente complexo.
● Portanto, torna-se desejável oferecer uma forma de acesso homogêneo aos dispositivos físicos, abstraindo as diferenças tecnológicas.
Sistema operacional
![Page 49: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/49.jpg)
Sistema operacional
Um sistema operacional (SO) pode ser visto então como um software que abstrai o acesso aos recursos por softwares aplicativos, ou seja, aqueles acessados diretamente pelo usuário. Esta é uma visão top-down onde o sistema operacional é visto como uma maquina estendida (interfaces homogêneas e simplificadas) para o desenvolvimento de software aplicativo.
Fonte:
![Page 50: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/50.jpg)
Sistema operacional
Um sistema operacional (SO) pode ser visto então como um software que abstrai o acesso aos recursos por softwares aplicativos, ou seja, aqueles acessados diretamente pelo usuário. Esta é uma visão top-down onde o sistema operacional é visto como uma maquina estendida (interfaces homogêneas e simplificadas) para o desenvolvimento de software aplicativo.
Fonte:
Porém, existe uma visão alternativa, bottom-up, onde o sistema operacional é um software responsável por gerenciar todas as partes de um sistema complexo, incluindo, hardware, software e peopleware (usuários).
![Page 51: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/51.jpg)
Sistema operacional
Um sistema operacional (SO) pode ser visto então como um software que abstrai o acesso aos recursos por softwares aplicativos, ou seja, aqueles acessados diretamente pelo usuário. Esta é uma visão top-down onde o sistema operacional é visto como uma maquina estendida (interfaces homogêneas e simplificadas) para o desenvolvimento de software aplicativo.
Fonte:
Porém, existe uma visão alternativa, bottom-up, onde o sistema operacional é um software responsável por gerenciar todas as partes de um sistema complexo, incluindo, hardware, software e peopleware (usuários).
Abram a seguinte nota de aula:
https://sites.google.com/site/profsergiocosta/posts/fundamentosdesistemasoperacionais
![Page 52: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/52.jpg)
Software básico
Correspondem aos programas que geram programas executáveis, ou que se comunicam diretamente com o hardware, executando funções de controle deste, permitindo seu uso pelos programas aplicativos. Os tipos básicos são:
Software básico
Sistema operacional UtilitáriosTradutores
Interpretador Montador Compilador
![Page 53: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/53.jpg)
Programas que executam tarefas envolvendo a gerência dos recursos em um computador, sendo normalmente parte ou atuando conjugados ao sistema operacional. Exemplos de utilitários são os programas de controle do acesso ao disco, vídeo, etc
Utilitários
![Page 54: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/54.jpg)
Tradutores
Tradutores: Programas responsáveis pela transformação de uma linguagem de programação em linguagem de máquina.
Linguagem de Programação: É um conjunto de símbolos (vocabulário) e regras (gramática) que especificam como transmitir informações entre usuários e computador.
![Page 55: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/55.jpg)
● Linguagem de máquina: É baseada em código binário, em 0s e 1s. É utilizada diretamente pelo computador.
● Linguagem de baixo nível: É uma simplificação da linguagem de máquina. Permite que os programas utilizem abreviações simples de instruções de programa (mnemônicos) Exemplo: Ling. Assembly. Compare A,B
● Linguagem de alto nível: Utiliza combinação de um conjunto de símbolos de acordo com certas regras de sintaxe para expressar uma seqüência de operações de máquina. É uma linguagem que não exige conhecimento do código de máquina. São mais fáceis de ler, escrever e manter. Instruções são escritas em inglês (PRINT, Display)
Hierarquia das linguagens em um computador (tradutores)
![Page 56: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/56.jpg)
LBN – Linguagem deBaixo Nível
LM – Linguagem de Máquina
Montadores
LAN – Linguagem deAlto Nível
CompiladoresInterpretadores
0010 0001 1110
LOAD R1, val1
val2 = val1 + val2
2GL
1GL
3GL
Hierarquia das linguagens em um computador (tradutores)
![Page 57: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/57.jpg)
Tradução a partir de uma linguagem de alto nível
![Page 58: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/58.jpg)
● Existem 2 métodos básicos de abordagem na tradução de linguagem de alto nível para linguagem de máquina:● Interpretação● Compilação
Tradução a partir de uma linguagem de alto nível
![Page 59: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/59.jpg)
● O programa conversor recebe a primeira instrução do programa fonte, confere para ver se está escrita corretamente, converte-a em linguagem de máquina e então ordena ao computador que execute esta instrução.
● Depois repete o processo para a segunda instrução, e assim sucessivamente, até a última instrução do programa fonte. Quando a segunda instrução é trabalhada, a primeira é perdida, isto é, apenas uma instrução fica na memória em cada instante.
● Se este programa fonte for executado uma segunda vez, novamente haverá uma nova tradução, comando por comando, pois os comandos em linguagem de máquina não ficam armazenados para futuras execuções. Neste método, o programa conversor recebe o nome de INTERPRETADOR.
Interpretação
![Page 60: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/60.jpg)
● O programa conversor recebe a primeira instrução do programa fonte, confere-a para ver se está escrita corretamente, converte-a para linguagem de máquina em caso afirmativo e passa para a próxima instrução, repetindo o processo sucessivamente até a última instrução do programa fonte.
● Caso tenha terminado a transformação da última instrução do programa fonte e nenhum erro tenha sido detectado, o computador volta à primeira instrução, já transformada para linguagem de máquina e executa-a. Passa à instrução seguinte, executa-a, etc., até a última.
● Se este programa for executado uma segunda vez, não haverá necessidade de uma nova tradução, uma vez que todos os comandos em linguagem binária foram memorizados em um novo programa completo. Neste método, o programa conversor recebe o nome de COMPILADOR.
Compilação
![Page 61: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/61.jpg)
● VANTAGEM: Neste processo a execução fica mais rápida em relação à anterior, pois se economiza o tempo de retradução de cada instrução a cada nova execução.
● DESVANTAGEM: A cada modificação introduzida no programa fonte é necessária uma nova tradução completa para obter um novo programa objeto, o que torna o processo mais dificultoso na fase de desenvolvimento, quando muitas modificações são feitas.
● Geralmente o COMPILADOR exige mais memória que o INTERPRETADOR, razão pela qual aquele é mais usado em computadores maiores e este em micros pessoais. Mas com a tendência dos micros pessoais de terem memórias maiores, mesmo neles, os COMPILADORES são os programas conversores preferidos.
Compilação
![Page 62: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/62.jpg)
● VANTAGEM: Neste processo a execução fica mais rápida em relação à anterior, pois se economiza o tempo de retradução de cada instrução a cada nova execução.
● DESVANTAGEM: A cada modificação introduzida no programa fonte é necessária uma nova tradução completa para obter um novo programa objeto, o que torna o processo mais dificultoso na fase de desenvolvimento, quando muitas modificações são feitas.
● Geralmente o COMPILADOR exige mais memória que o INTERPRETADOR, razão pela qual aquele é mais usado em computadores maiores e este em micros pessoais. Mas com a tendência dos micros pessoais de terem memórias maiores, mesmo neles, os COMPILADORES são os programas conversores preferidos.
Compilação
Java usa uma abordagem
híbrida. O programa fonte
é “compilado” para um
código intermediario que é
executado por uma máquina virtual (e não
diretamente pelo processador)
![Page 63: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/63.jpg)
Compilação
São os programas voltados para a solução de problemas do usuário. Podem ser de:
■ uso geral: são programas que podem ser utilizados em vários tipos de aplicações. Exemplos: editores de texto, gráficos, planilhas, gerenciadores de banco de dados, etc.
■ uso específico: se destinam exclusivamente a um único tipo de aplicação. Exemplos: folha de pagamento, crediário, imposto de renda, cadastro, contas a pagar e receber, etc.
![Page 64: Aula 06 softwares](https://reader033.vdocuments.us/reader033/viewer/2022060121/55939e141a28abe47f8b4668/html5/thumbnails/64.jpg)
● Cite 20 softwares aplicativos de uso geral e específico para diferentes finalidades.
● Cite 5 nomes de soft. antivírus.● Cite 5 linguagens de programação de alto
nível.● Cite 6 tipos de softwares utilitários. Diga
qual sua finalidade.
Exercício: