Introdução à Computação para Engenharia MAC2166

Propaganda
Introdução à Computação
para Engenharia
MAC2166
Prof. Dr. Paulo Miranda
IME-USP
Aula 1
Introdução à Computação
Eventos históricos:
1) Primeiro computador a válvulas, o Eletronic Numeric
Integrator And Calculator (ENIAC).
2) Arquitetura de von Neumann (1940);
3) Invenção do transistor na Bell Laboratories (1948);
4) Desenvolvimento das linguagens de programação de
“alto nível” Cobol e Fortran (1950-1960);
5) Invenção do circuito integrado (CI) na Texas Instruments
(1958);
6) Desenvolvimento do microprocessador pela Intel (1970);
7) Lançamento, pela IBM, do computador pessoal (1981).
Arquitetura de von Neumann:
(programa de computador fixo X computador de programa armazenado)
• Características:
– Codificar as instruções de uma forma possível de ser
armazenada na memória do computador. Von
Neumann sugeriu que fossem usados uns e zeros.
– Armazenar as instruções na memória, bem como
toda e qualquer informação necessária a execução
da tarefa, e
– Quando processar o programa, buscar as instruções
diretamente na memória.
– Pode-se "escrever programas que escrevem
programas."
Arquitetura de von Neumann:
Computadores:
• Hardware:
– Componentes físicos de um sistema de computação.
• Software:
– Sequência de instruções a serem seguidas e/ou
executadas pelo hardware.
Hardware:
Memória
Principal
Unidades de
Entrada
CPU
ULA
Memória
Secundária
Unidades de
Saída
Computadores – Arquitetura Básica
• Unidade Central de Processamento (CPU):
– É o centro de controle de todo o sistema, onde os
cálculos são feitos e as decisões são tomadas. É esta
parte que interpreta e executa todas as instruções do
computador.
• Memória Principal:
– A CPU usa a memória do computador para guardar
as informações com as quais trabalha. Quando o
computador é reinicializado ou desligado, as
informações podem ser perdidas.
Computadores – Arquitetura Básica
• Dispositivos de entrada e saída:
– São todos os meios de comunicação entre o
computador e os seus usuários (sejam pessoas ou
outras máquinas).
• Memória Secundária:
– Função de guardar os dados que não estão sendo
processados no momento. Mesmo desligando o
computador, estas informações não se perdem.
Computadores - Software
• Software Básico ou Sistema Operacional:
– É um programa ou um conjunto de programas que
faz papel de intermediário entre o aplicativo
(programa) e o hardware;
– É um gerenciador de recursos, i.e., controla quais
aplicações (processos) podem ser executadas,
quando, que recursos (memória, disco, periféricos)
podem ser utilizados.
Sistema Operacional
• Linux:
– Desenvolvido em 1991 por Linus Torvalds e baseado
no sistema operacional Unix;
– Exemplo de sucesso de software aberto;
– Maior aplicação em servidores (Google possui cerca
de 450.000 servidores linux);
– Plataformas de jogos (PlayStation 2 e 3);
– Telefones celulares;
Linguagens de Programação
• Cada linguagem de programação obedece à regras
específicas. Essas regras de sintaxe definem como são
expressadas as instruções a serem executadas;
• Linguagem de Máquina:
– Conjunto de códigos binários que são compreendidos
pela CPU.
• BAIXO NÍVEL:
– Codificação baseada em mnemônicos. Dependente
do tipo de máquina.
• “ALTO NÍVEL”:
– Mais similar à nossa linguagem natural.
Linguagens de Programação (Evolução)
• Linguagem de Máquina:
– Conjunto de códigos binários que são compreendidos
diretamente pela CPU.
– Exemplo:
0011 001010 001111
Endereço do 2° operando
Endereço do 1° operando
Código da
instrução
Linguagens de Programação (Evolução)
• BAIXO NÍVEL - Linguagem Assembly:
– Codificação baseada em mnemônicos.
– Dependente do tipo de máquina.
– Precisa ser convertido em linguagem de máquina
(através de um programa montador) para poder ser
compreendido pela CPU.
– Exemplo:
ADD
A,
B
Endereço simbólico
2° operando
Código da
instrução
Endereço simbólico
1° operando
Linguagens de Programação (Evolução)
• ALTO NÍVEL:
– Mais similar à nossa linguagem natural.
– Independente do tipo de máquina.
– Precisa ser convertido em linguagem de máquina
para poder ser compreendido pela CPU.
– Exemplo:
LIQUIDO = SALARIO + COMISSOES – IMPOSTOS;
Objetivos do curso
Saída do
programa
Interpretador
do programa
Execução
Definição do
problema a
ser resolvido
Solução do
problema
na forma de
algoritmo
Transcrição
do algoritmo
na forma de
programa
Ser Humano
Compilação
do
programa
código
objeto ou
executável
Computador
Etapas da resolução de problemas usando um computador.
Lógica de programação
• Algoritmo:
– Um algoritmo é uma sequência não ambígua de
passos necessários para realizar uma tarefa.
– Um algoritmo não representa necessariamente um
programa de computador (ex: receita de bolo).
• Sua implementação pode ser feita por um
computador, ou mesmo por um ser humano.
– Em computação, o algoritmo é uma entidade abstrata
que define a idéia do programa.
Download