• Nenhum resultado encontrado

Prof. Yandre Maldonado -1

N/A
N/A
Protected

Academic year: 2022

Share "Prof. Yandre Maldonado -1"

Copied!
36
0
0

Texto

(1)

Prof. Yandre Maldonado -1

Introdução à Computação

Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

(2)

Prof. Yandre Maldonado -2

Histórico da Computação

Histórico da Computação:

Computar: do latim “computare”, que significa calcular, avaliar, contar;

Ábaco – Mesopotâmia, aprox. 3500 a.c.

Máquina de Babbage – R.U., 1832.

ENIAC – E.U.A., 1945.

(3)

Prof. Yandre Maldonado -3

Histórico da Computação

ENIAC, 1945: primeiro computador

eletrônico de propósitos gerais

(4)

Prof. Yandre Maldonado -4

Evolução dos computadores

(5)

Prof. Yandre Maldonado -5

Introdução à Computação

Ciência da Computação

Ênfase teórica: idéias fundamentais e modelos computacionais;

Ênfase prática: projeto de sistemas computacionais;

“As tecnologias computacionais são construídas a partir de fundamentos da computação. Aquelas são passageiras, enquanto estes estão por trás da tecnologia

em qualquer tempo.”

(6)

Prof. Yandre Maldonado -6

Introdução à Computação

Núcleos de disciplinas da Computação:

FUNDAMENTOS DA

COMPUTAÇÃO

Tecnologia da Computação

SI

(7)

Prof. Yandre Maldonado -7

Introdução à Computação

Os fundamentos estão por trás da tecnologia em qualquer tempo.

Anos 40 Anos 50 Anos 60 Anos 70 Tempos

atuais Fundamentos Teóricos da Computação

Tecnologias Computacionais

(8)

Prof. Yandre Maldonado -8

Introdução à Computação

Processar dados: papel central do computador

Computador Computador Dados de

Entrada Dados de

Entrada

Dados de Saída Dados de

Saída

(9)

Prof. Yandre Maldonado -9

O Computador

Arquitetura de Von Neumann

Unidade de Entrada

UCP

Memória (Principal)

Unidade Lógica e Aritmética

Unidade de Controle

Unidade de Saída

(10)

Prof. Yandre Maldonado -10

O Computador

Unidade de Entrada: codifica informações introduzidas por dispositivos de entrada para que a UCP possa entender;

Memória: armazena dados e o programa em execução;

Unidade Lógica e Aritmética: realiza cálculos aritméticos e manipulação de dados;

Unidade de Controle: responsável pelo trafego dos dados:

• UE → MEM

• MEM → ULA → MEM

• MEM → US

(11)

Prof. Yandre Maldonado -11

O Computador

Unidade de Saída: converte os dados processados para um formato que possa ser exibido em dispositivos de

saída.

Hardware: parte física do computador. Formada pelos circuitos eletrônicos, dispositivos mecânicos, magnéticos e etc.

Software: os programas que executam sobre o hardware.

HARDWARE + SOFTWARE = COMPUTADOR

(12)

Prof. Yandre Maldonado -12

Principais dispositivos de Entrada/Saída:

Hardware

(13)

Prof. Yandre Maldonado -13

Hardware

(14)

Prof. Yandre Maldonado -14

Hardware

(15)

Prof. Yandre Maldonado -15

Conceito:

• Elementos de programação de um sistema de computação, isto é, todos os programas, sejam de aplicação ou básicos do sistema, contrastando com a parte física e visível do sistema - o hardware.

Classificação:

• softwares básicos

• softwares aplicativos

Software

(16)

Prof. Yandre Maldonado -16

Softwares básicos:

• Programas que definem o padrão do equipamento, sendo necessários para o funcionamento do computador.

Tipos:

• sistema operacional

• ambiente operacional

• linguagens de programação (tradutores)

• utilitários

Software

(17)

Prof. Yandre Maldonado -17

Conceito de sistema operacional:

Software

(18)

Prof. Yandre Maldonado -18

Software

Sistema Operacional

Sistema Operacional

Hardware

(19)

Prof. Yandre Maldonado -19

Exemplos de sistemas operacionais

• MS-DOS, System 7, Unix, Linux, OS-2, Windows, etc.

Distribuição física na memória do computador:

• ROM: gravadas as rotinas mais fundamentais de coordenação e tradução de fluxos de dados

• RAM do sistema em duas (2) etapas:

• 1ª. é totalmente transferida para a RAM quando o sistema é ligado

• 2ª. é carregada na memória à medida que é solicitada

Software

(20)

Prof. Yandre Maldonado -20

Sistemas operacionais: programas que podem ser fornecidos pelo fabricante do equipamento.

• O padrão é virem em disquetes ou já gravados no winchester

Constituição do sistema operacional: programas escritos geralmente em linguagem de programação de baixo nível.

Classificação de sistemas operacionais:

• sistema monousuário, sistema multiusuário

• sistema monotarefa, sistema multitarefa.

Software

(21)

Prof. Yandre Maldonado -21

Ambiente operacional:

ambientes que adicionam recursos ao sistema operacional para permitir uma interface gráfica com o usuário.

Exemplo: todas as versões do Windows, Linux, etc. incluem um abiente operacional.

Linguagens de programação:

conjunto de símbolos (vocabulário) e regras (gramática) que especificam um padrão sintático para estabelecer a comunicação entre usuários (programadores) e computador.

Divisão:

linguagem de baixo nível

linguagem de alto nível

linguagem de máquina linguagem simbólica

Software

(22)

Prof. Yandre Maldonado -22

Linguagem de máquina:

baseada em código binário, em 0s e 1s. Interpretada diretamente pelo computador.

Exemplo:

Linguagem de máquina Significado

0010 0001 1110 carrega no registrador 1 o conteúdo da posição de memória 14 0010 0010 1111 carrega no registrador 2 o conteúdo da posição de memória 15 0001 0001 0010 soma o conteúdo do registrador 1 com o conteúdo do registrador

2 e coloca no registrador 1

0011 0001 1111 armazena o conteúdo do registrador 1 na posição de memória 15

Software

(23)

Prof. Yandre Maldonado -23

Linguagem de baixo nível simbólica:

• simplificação da linguagem de máquina. Faz uso de códigos mnemônicos para expressar as instruções.

Exemplo: Assembly

Linguagem de máquina Linguagem simbólica

0010 0001 1110 LOAD R1, val1

0010 0010 1111 LOAD R2, val2

0001 0001 0010 ADD R1, R2

0011 0001 1111 STORE R1, val2

Software

(24)

Prof. Yandre Maldonado -24

Linguagem de alto nível:

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. Linguagem que não exige conhecimento do código de máquina.

Exemplos: FORTRAN, ALGOL, COBOL, BASIC, PASCAL, LOGO, C, LISP, PROLOG, etc.

Linguagem de máquina Linguagem simbólica Linguagem de alto nível

0010 0001 1110 LOAD R1, val1 val2 = val1 + val2 0010 0010 1111 LOAD R2, val2

0001 0001 0010 ADD R1, R2 0011 0001 1111 STORE R1, val2

Software

(25)

Prof. Yandre Maldonado -25

Principais tipos de tradutores:

Montador: lê uma linguagem de baixo nível simbólica e transforma para linguagem de máquina.

Interpretador: lê uma linguagem de alto nível e coloca em execução.

Compilador: lê uma linguagem de alto nível e transforma para linguagem nível mais baixo.

Mecanismo de tradução híbrida: exemplo Java.

Software

(26)

Prof. Yandre Maldonado -26

Compilador:

1) Lê e analisa todo o programa fonte (escrito em linguagem de alto nível) e traduz para linguagem de baixo nível.

2) Cria um programa objeto que corresponde às instruções em linguagem de máquina.

3) Executa-se direto o programa objeto.

4) Se encontrar erro, é preciso voltar ao programa fonte, corrigir, e recompilar obtendo-se um novo código objeto.

Software

(27)

Prof. Yandre Maldonado -27

Conceitos de Linguagens de Programação

Tradução de Linguagens de alto nível:

Compilação

• Tradução para linguagem de máquina;

• Gera programas geralmente de execução mais rápida;

Compilador

Análise Síntese

Programa Fonte

Programa Alvo

Alto Nível Baixo Nível

(28)

Prof. Yandre Maldonado -28

Conceitos de Linguagens de Programação

Interpretação

• Decodifica instruções de alto nível em tempo de execução;

• O interpretador simula uma máquina virtual que busca (ciclo busca-decodifica-executa) as

instruções em alto nível;

• Uma mesma instrução de alto-nível será

traduzida tantas vezes quantas ela for executada;

• Tradicionalmente, apresentava execução 10 a

100 vezes mais lentas do que a de sistemas

compilados;

(29)

Prof. Yandre Maldonado -29

Conceitos de Linguagens de Programação

Interpretação (cont.)

• O gargalo não fica entre o processador e a memória (como nos programas

compilados) e sim na decodificação das instruções;

• Útil em depuração de código fonte;

Interpretador Programa-fonte

Programa-fonte

Dados de entrada

Resultados

(30)

Prof. Yandre Maldonado -30

Conceitos de Linguagens de Programação

Interpretação Híbrida

• Traduzem a linguagem de alto-nível para uma representação intermediária;

• Mais rápido que a interpretação pura, pois as instruções são traduzidas uma única vez;

Interpretador

Dados de entrada

Resultados

Análise Léxica Análise

Léxica

Análise Sintática Análise Sintática

Gerador de Código Intermediário

Gerador de Código Intermediário Programa-fonte

Programa-fonte Código Intermediário

(31)

Prof. Yandre Maldonado -31

Conceitos de Linguagens de Programação

Interpretação Híbrida (cont.)

• A linguagem Java oferece interpretação híbrida

• Sua forma intermediária é o código de bytes (byte-code);

• Oferece portabilidade para qualquer máquina que tenha um interpretador de código de

bytes;

• Máquina virtual Java

• Hoje existem sistemas que traduzem este

código de bytes para código de máquina com execução mais rápida;

(32)

Prof. Yandre Maldonado -32

Conceitos de Linguagens de Programação

Linguagem de Programação

Compilador/Interpretador Editor de

Código Fonte

+ +

Outras

Ferramentas de Programação

AMBIENTE DE PROGRAMAÇÃO

Ambientes de Programação

Conjunto integrado de ferramentas de

suporte a programação que dispõem de

uma interface uniforme;

(33)

Prof. Yandre Maldonado -33

Conceitos de Linguagens de Programação

Exemplos de Ambientes de Programação:

Java Editplus, NetBeans

Object Pascal Delphi

C++

C++ Builder

C Turbo C

Pascal Turbo Pascal

LINGUAGEM AMBIENTE

(34)

Prof. Yandre Maldonado -34

Utilitários:

programas que ampliam os recursos do sistema facilitando o uso e auxiliando a manutenção de programas. Administram o ambiente oferecendo ferramentas ao usuário para organizar os discos, verificar memória, corrigir falhas, etc.

Exemplos:

Save Smart, formatadores, programas de backup,

compactadores de disco (zip, arj), desfragmentadores, antivírus, e outros.

Estes programas recebem o nome de utilitários por serem úteis ao sistema computacional.

Software

(35)

Prof. Yandre Maldonado -35

Softwares aplicativos:

• programas voltados para a solução de problemas do usuário.

Tipos:

uso geral: 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 uma aplicação

específica. Exemplos: folha de pagamento, crediário, imposto de renda, cadastro, contas a pagar e receber, etc.

Software

(36)

Prof. Yandre Maldonado -36

Bibliografia

Brookshear, J. G.: Ciência da

Computação – Uma visão abrangente (7ª edição). Porto Alegre: Bookman, 2005;

Fedeli, R. D.; Polloni, E. G. F.; Peres, F. E.: Introdução à Ciência da

Computação. São Paulo: Pioneira

Thomson Learning, 2003.

Referências

Documentos relacionados

RBA BARBARA GONZAGA JESUS ABSOLUTO SALESIANOS/M.. Raia

• linguagens de montagem: precisam de um programa montador para gerar linguagem de máquina. • linguagens de alto nível: precisam de um compilador para traduzi-las para uma

O motor deve sempre funcionar na rotação máxima para evitar vibra- ções anormais na máquina.. Mantenha as mãos e os pés afastados da(s)

Posteriormente, o mesmo autor, Viveiros de Castro, pro- pôs o termo perspectiva, para estabelecer que, muito resumidamente, tudo depende da posição singular de onde o

Na hipótese de os preços registrados tornarem-se superiores aos valores praticados no mercado, caberá ao TRT da 4ª Região convocar o(s) detentor(es) do(s)

Em seguida, ainda fazendo uso da palavra e condicionada à celebração do Aditamento a ser oportunamente aprovado pela Assembléia Geral de Debenturistas, o Diretor

Para a análise das informações construídas durante as entrevistas, foi utilizada a técnica de análise de conteúdo, a qual, como destaca Gomes (2004), tem como objetivos

Percebe-se que no zoológico a mulher procura punição para o que está sentido, como explica Sousa Filho (1995) que a existência de mitos sobre castigos, em todas