Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

15
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação

Transcript of Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

Page 1: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

Algoritmos e Programação MC102

Prof. Paulo MirandaIC-UNICAMP

Aula 1Introdução à Computação

Page 2: 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.

Page 3: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

Hardware:

Memória

Principal

Unidades de Entrada

Unidades de Saída

Memória Secundária

CPU

ULA

Page 4: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

Hardware:

Memória

Principal

Unidades de Entrada

Unidades de Saída

Memória Secundária

CPU

ULA

Page 5: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

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.

Page 6: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

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.

Page 7: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

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.

Page 8: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

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.

Page 9: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

Linguagens de Programação (Evolução)

• Linguagem de Máquina:– Conjunto de códigos binários que são compreendidos

diretamente pela CPU. – Exemplo:

Código da instrução

Endereço do 1° operando

Endereço do 2° operando

0011 001010 001111

Page 10: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computaçã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:

Código da instrução

Endereço simbólico1° operando

Endereço simbólico 2° operando

ADD A, B

Page 11: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

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

Page 12: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

Objetivos do curso

Etapas da resolução de problemas usando um computador.

Definição do problema a

ser resolvido

Solução do problema

na forma de algoritmo

Transcrição do algoritmo na forma de programa

Compilação do

programa

Execução do

programa

Ser Humano Computador

Page 13: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

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.

Page 14: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

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?

Page 15: Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 1 Introdução à Computação.

Ex: Problema dos canibais e dos missionários

• http://www.novelgames.com/flashgames/game.php?id=54