Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X...

26
Introdução Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Transcript of Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X...

Page 1: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Introdução

Hardware X Software

19

Corpo Humano

Parte Física

Componentes Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Page 2: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Introdução

Hardware

Parte física: placas, periféricos, circuitos, cabos e componentes.

Sozinho, não serve para nada.

20

Page 3: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Software (programa)

Parte Lógica, em outras palavras, constitui um conjunto de instruções que explora o hardware visando a geração de resultados ou a execução de uma tarefa.

Introdução

21

Mozilla Thunderbird

Linux

Page 4: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Podemos classificar os softwares em:

Sistemas operacionais

Linux

Introdução

22

Aplicativos

Mozilla Thunderbird

Page 5: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Associação:

Introdução

23

http://rd1.ig.com.br/gafes-mostram-que-esta-na-hora-de-ana-maria-braga-deixar-a-tv/

http://www.ksnoticias.com/mais-voce-receitas/

Page 6: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Associação:

A cozinha é o hardware (H)

Ana Maria Braga é o Software Aplicativo (SA)

A Maria é o Sistemas Operacionais (SO)

SASO

Introdução

24

H

SASO

http://superaudiencia.zip.net/arch2008-01-13_2008-01-19.html

Page 7: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Sistemas operacionaisSoftwares de sistema, que gerenciam a própria operação do computador;Controla os recursos do computador e fornece a base para os softwares de aplicação serem escritos;Escrever programas para controlar discos, leitores de CD/DVD e outras partes do hardware é

Introdução

25

de CD/DVD e outras partes do hardware é demasiadamente complexo. Fazer todas as partes do hardware trabalharem de forma integrada e otimizada é mais complexo ainda;Para afastar o desenvolvedor (programador) da camada do hardware foi criada uma camada intermediária de software denominada S.O.

Softwares AplicativosSoftwares de aplicação, que resolvem problemas/ efetuam tarefas para os usuários.

Page 8: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Sendo assim o S.O. é um programa que se situa entre os softwares aplicativos e o hardware: Gerenciando os recursos do

Organização do software de computadores

Introdução

2626

Gerenciando os recursos do computador (UCP, dispositivos periféricos, etc.).

Estabelece uma interface com o usuário. Determina como o usuário

interage com o hardware.

Provê e executa serviços para softwares aplicativos.

Page 9: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

O autor fornece-o gratuitamente para ser usado por todos.

Freeware

Classificação do software de computadoresQuanto à propriedade intelectual

Introdução

2727

por todos.

O autor detém o copyright (direitos autorais).

Ele pode impor restrições ao uso.

O software não pode ser alterado ou redistribuído sem permissão.

Page 10: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Software que não possui copyright.

Domínio público

Classificação do software de computadoresQuanto à propriedade intelectual

Introdução

2828

Software que não possui copyright.

Pode ser usado e até mesmo alterado sem permissão.

Tipicamente, é desenvolvido por universidades e/ou instituições de pesquisa, normalmente usando subsídios governamentais.

Page 11: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Uma variação de freeware.

Software de fonte aberta

Classificação do software de computadoresQuanto à propriedade intelectual

Introdução

2929

O código-fonte é disponibilizado.

Código-fonte: legível por seres humanos.

Outros programadores podem modificar e redistribuir os programas livremente.

Ajuda a identificar erros (bugs) e a criar melhorias mais facilmente.

Page 12: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Software garantido por copyright, distribuídogratuitamente para um período experimental.

Shareware

Classificação do software de computadoresQuanto à propriedade intelectual

Introdução

3030

gratuitamente para um período experimental.

Se você gostar dele, deve registrá-lo, pagandouma taxa.

A maioria dos autores acrescentadocumentação, ampliações, suporte eatualizações gratuitas para estimular aspessoas a fazer o registro.

Page 13: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Software proprietário é aquele cuja cópia,redistribuição ou modificação são de alguma

Software Proprietário

Classificação do software de computadoresQuanto à propriedade intelectual

Introdução

3131

redistribuição ou modificação são de algumaforma restritos pelo seu criador ou distribuidor.

A expressão foi cunhada em oposição aoconceito de software livre.

Page 14: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

32

Linguagens de Programação

13

Page 15: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de ProgramaçãoUma linguagem de programação é um vocabulário e

um conjunto de regras gramaticais usadas paraescrever programas de computador. Esses programasinstruem o computador a realizar determinadas tarefasespecíficas. Cada linguagem possui um conjunto únicode palavras-chaves (palavras que ela reconhece) euma sintaxe (regras) específica para organizar asinstruções dos programas.

Os programas de computador podem ser escritos

3333

Os programas de computador podem ser escritosem várias linguagens de programação, algumasdiretamente compreensíveis pelo computador e outrasque exigem passos de tradução intermediária. Aslinguagens de programação podem ser divididas emtrês tipos, com relação à sua similaridade com alinguagem humana:

Linguagem de máquina;

Linguagem simbólica;

Linguagem de alto nível.

Page 16: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Linguagem de máquina (machine languale): éa linguagem de mais baixo nível de entendimentopelo ser humano e a única, na verdade, entendidapelo processador (UCP).

É constituída inteiramente de números (0’s e1’s), o que torna praticamente impossível entendê-la diretamente. Cada UCP tem seu conjunto único

3434

la diretamente. Cada UCP tem seu conjunto únicode instruções que definem sua linguagem demáquina, estabelecido pelo fabricante do chip.

Uma instrução típica em linguagem de máquinaseria algo como:

0100 1111 1010

Essa linguagem é também classificada comouma linguagem de primeira geração.

Page 17: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Linguagem simbólica (assembly): é alinguagem de nível imediatamente acima dalinguagem de máquina. Ela possui a mesmaestrutura e conjunto de instruções que alinguagem de máquina, porém permite que oprogramador utilize nomes (chamadosmnemônicos) e símbolos em lugar de números.

3535

mnemônicos) e símbolos em lugar de números.

A linguagem simbólica é também única paracada tipo de UCP, de forma que um programaescrito em linguagem simbólica para uma UCPpoderá não ser executado em outra UCP de umafamília diferente.

Nos primórdios da programação os programaseram escritos nessa linguagem.

Page 18: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de ProgramaçãoHoje a linguagem simbólica, é utilizada quando a

velocidade de execução ou o tamanho doprograma executável gerado são essenciais. Aconversão da linguagem simbólica para alinguagem de máquina se chama montagem, e éfeita por um programa chamado montador (ouassembler).

3636

assembler).

Uma típica instrução em linguagem simbólicaseria:

ADD A, B

Essa linguagem é também classificada comolinguagem de segunda geração, e, assim como alinguagem de máquina, é considerada umalinguagem de baixo nível.

Page 19: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Linguagem de alto nível: São as linguagens deprogramação que possuem uma estrutura epalavras-chave que são mais próximas dalinguagem humana. Tornando os programas maisfáceis de serem lidos e escritos. Esta é a suaprincipal vantagem sobre as linguagens de nívelmais baixo.

3737

mais baixo.

Os programas escritos nessas linguagens sãoconvertidos para a linguagem de baixo nívelatravés de um programa denominado compiladorou de um interpretador.

Uma instrução típica de uma linguagem de altonível é:

if (A>10) then A:=A-7;

Page 20: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

3838

Page 21: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Conceitos básicos de linguagens

Legibilidade

facilidade com que os programas podem ser lidos e entendidos.

Portabilidade

3939

Portabilidade

está relacionada a possibilidade de se utilizar o código fonte em diversas arquiteturas.

Page 22: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Conceitos básicos de linguagens

Confiabilidade

Diz-se que um programa é confiável se ele se comporta de acordo com suas especificações sob todas as

4040

suas especificações sob todas as condições.

Segurança

associada com a confiabilidade

Page 23: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Conceitos básicos de linguagens

Definição e uso de abstrações

abstração é a capacidade de definir e, depois, de usar estruturas ou operações complicadas de uma maneira que permita ignorar muitos detalhes.

4141

permita ignorar muitos detalhes.

Expressividade

significa que uma linguagem tem formas relativamente convenientes, em vez de desajeitadas, de especificar computações.

Page 24: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Conceitos básicos de linguagens

Flexibilidade

capacidade de utilizar suas características em diversos contextos.

Custo

4242

Custo

treinamento – capacitação dos programadores

desenvolvimento – escrita e compilação do programa

execução – verificação de tipos e interpretação

Page 25: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

Conceitos básicos de linguagens

Custo (continuação)

manutenção – capacidade de adaptar o programa existe

Desempenho

4343

Desempenho

relacionado com a otimização (compilação x execução)

Page 26: Hardware X Software - univasf.edu.brmarcelo.linder/arquivos_iapCA/aulas/aula2.pdf · Hardware X Software 19 Corpo Humano Parte Física Componentes Capacidade de utilizar o corpo em

Linguagens de Programação

O processo de programação é norteadopor regras que especificam como oprogramador estruturará sua solução para oproblema em questão.

Este conjunto de regras que serve comoexemplo geral ou modelo é denominado

4444

exemplo geral ou modelo é denominadoparadigma.

Dentre os paradigmas de programaçãoexistentes podemos destacar comoprincipais os paradigmas: imperativo,orientado a objetos, funcional e lógico.