Slide 1 - LIV

Propaganda
Algoritmos e Programação
MC102
Prof. Paulo Miranda
IC-UNICAMP
Aula 1
Introdução à Computação
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
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.
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
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
Definição do
problema a
ser resolvido
Solução do
problema
na forma de
algoritmo
Ser Humano
Transcrição
do algoritmo
na forma de
programa
Compilação
do
programa
Execução
do
programa
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
instruções que é executada até que determinada
condição se verifique.
– Um algoritmo não representa, necessariamente, um
programa de computador, e sim os passos
necessários para realizar uma tarefa.
– Exemplo: Receita de bolo.
Ex: Problema dos canibais e dos
missionários
• Problema:
– Três canibais e três missionários estão viajando juntos e
chegam à margem de um rio. Eles desejam atravessar para a
outra margem para, desta forma, continuar a viagem. O único
meio de transporte disponível é um barco que comporta no
máximo duas pessoas. Há uma outra dificuldade: em nenhum
momento o número de canibais pode ser superior ao número de
missionários pois desta forma os missionários estariam em
grande perigo de vida. Como administrar a travessia?
Ex: Problema dos canibais e dos
missionários
• http://www.novelgames.com/flashgames/game.php?id=54
Download