You are on page 1of 42

O Computador

Programao

Programao de Computadores
01 - Introduo
Leonardo Jose Silvestre1
1 Departamento

de Cincia da Computao (DCOMP)


Universidade Federal de So Joo del Rei (UFSJ)

Programao de Computadores, 2011/1

O Computador

Outline

O Computador
Organizao de um Computador

Programao
O que programar?
Algoritmos

Programao

O Computador

Sumrio

O Computador
Organizao de um Computador

Programao
O que programar?
Algoritmos

Programao

O Computador
Organizao de um Computador

O que vemos?

Desktops

Programao

O Computador
Organizao de um Computador

O que vemos?

Laptops

Programao

O Computador
Organizao de um Computador

O que vemos?

Servidores

Programao

O Computador
Organizao de um Computador

Ainda externamente ...

Perifricos

Programao

O Computador
Organizao de um Computador

E por dentro?
Conhece o HD?

Programao

O Computador
Organizao de um Computador

E por dentro?
Conhece o HD?

Programao

O Computador

Programao

Organizao de um Computador

E por dentro?
HD
Em 1956: 1 tonelada, 5MB
Hoje: Alguns gramas, + de 1TB ( 1.000.000MB)

O Computador

Programao

Organizao de um Computador

E por dentro?
HD
Em 1956: 1 tonelada, 5MB
Hoje: Alguns gramas, + de 1TB ( 1.000.000MB)
O que o HD?

O Computador

Programao

Organizao de um Computador

E por dentro?
HD
Em 1956: 1 tonelada, 5MB
Hoje: Alguns gramas, + de 1TB ( 1.000.000MB)
O que o HD?
Memria permanente (no se perde quando o
computador desligado)
Baixo custo por MB
Acesso normalmente lento
Normalmente magntico (disco, cabea, agulha), mas ...

O Computador

Programao

Organizao de um Computador

E por dentro?
HD
Em 1956: 1 tonelada, 5MB
Hoje: Alguns gramas, + de 1TB ( 1.000.000MB)
O que o HD?
Memria permanente (no se perde quando o
computador desligado)
Baixo custo por MB
Acesso normalmente lento
Normalmente magntico (disco, cabea, agulha), mas ...
Dispositivos de memria flash so comuns hoje (Ex.:
pen-drives)

O Computador
Organizao de um Computador

E por dentro?

Memria RAM

Programao

O Computador

Programao

Organizao de um Computador

E por dentro?

Memria RAM
RAM: Random Access Memory (Memria de Acesso
Randmico)
voltil (desligou o computador, perde os dados)
Em um computador, normalmente fica na casa dos GB
(entre 1 e 16)
Mdio custo por MB
Acesso muito rpido (comparando com o HD)

O Computador
Organizao de um Computador

E por dentro?

Quem manda?

Programao

O Computador

Programao

Organizao de um Computador

E por dentro?

Processador
CPU - Central Processing Unit (Unidade de
Processamento Central)
Realiza - praticamente - todo o controle, clculos etc.
Possui memria interna de poucos MB: carssima e
extremamente rpida (memria cache)

O Computador
Organizao de um Computador

E por dentro?
Quem ajunta?

Programao

O Computador

Programao

Organizao de um Computador

E por dentro?
Quem ajunta?

Placa Me
Nela esto conectados: as memrias, o processador, HDs,
outras placas etc. ...

O Computador

Sumrio

O Computador
Organizao de um Computador

Programao
O que programar?
Algoritmos

Programao

O Computador

Programao

O que programar?

Como isso tudo funciona?

Computador no sabe, sozinho, como fazer as coisas!


Algum precisa de dizer a ele como fazer!
Ou seja, precisamos dar instrues ao computador.
Mas o computador s entende ...

O Computador

Programao

O que programar?

Como isso tudo funciona?

Computador no sabe, sozinho, como fazer as coisas!


Algum precisa de dizer a ele como fazer!
Ou seja, precisamos dar instrues ao computador.
Mas o computador s entende ...
0 e 1!!!!

O Computador
O que programar?

Como dar instrues ao computador?

Programao

O Computador
O que programar?

Como dar instrues ao computador?

Programao

O Computador
O que programar?

Como dar instrues ao computador?

Programao

O Computador

Programao

O que programar?

Como dar instrues ao computador?

Que tal dar instrues ao computador em binrio?

O Computador

Programao

O que programar?

Como dar instrues ao computador?

Que tal dar instrues ao computador em binrio?


Na verdade, no damos instrues em binrio!

O Computador

Programao

O que programar?

Como dar instrues ao computador?

Que tal dar instrues ao computador em binrio?


Na verdade, no damos instrues em binrio!
Existe a Linguagem de Montagem!

O Computador
O que programar?

Como dar instrues ao computador?

Exemplo de Cdigo em Linguagem de Montagem


MOV AX,1234H
MOV BX,5678H
PUSH AX
PUSH BX
POP AX
POP BX

Programao

O Computador

Programao

O que programar?

Como dar instrues ao computador?

Fcil, no?
J mais legvel que binrio!
Programas especficos traduzem Linguagem de
Montagem para cdigo binrio
Necessitamos de conhecer opcodes, operandos,
registradores ...
Linguagem de montagem ainda muito complicada para
programar!
E agora?

O Computador

Programao

O que programar?

Como dar instrues ao computador?

E agora?
Normalmente, utilizamos linguagens de alto nvel (mais
prximas da linguagem humana)
Essas linguagens so compiladas, de forma que
gerado, no final do processo, cdigo binrio executvel
Exemplos: Java, C, C++, Pascal, Fortran ...
Fortran ser a linguagem que utilizaremos!
Mas tambm teremos uma auxiliar: a tartaruga!

O Computador

Programao

O que programar?

Programar ...

Voltando ao que programar ...


Programar dar instrues ao computador
O computador no entende qualquer linguagem
A linguagem que o computador entende difcil para ns
entendermos
Podemos usar linguagens mais fceis para nosso
entendimento ...
... mas essas linguagens devem ser traduzidas para a
linguagem de mquina
Ou seja, devem ser compiladas

Como o computador meio burro: temos que dar


instrues muito bem organizadas, e sem erros!

O Computador

Programao

O que programar?

Programar ...

Desenvolver um software a partir de uma necessidade (ou


para criar uma necessidade :-) )

O Computador

Programao

O que programar?

O que um programa de computador (software)?

uma sequncia finita de instrues!


Instrues devem seguir uma lgica
Devem ser bem definidas e no ambguas
Conjunto de comandos, normalmente, restrito (mas
suficiente)

O Computador

Programao

Algoritmos

Como fao para construir um programa?

Normalmente, antes de ir para o computador, o programa


desenvolvido como um algoritmo
Um algoritmo no representa, necessariamente, um
programa de computador, e sim os passos necessrios
para realizar uma tarefa
Definio:
Um algoritmo uma sequncia finita de instrues bem
definidas e no ambguas, cada uma das quais pode ser
executada mecanicamente num perodo de tempo finito e com
uma quantidade de esforo finita.

O Computador
Algoritmos

Receita de bolo (!?)

Programao

O Computador

Programao

Algoritmos

Receita de bolo (!?)

O que uma receita de bolo tem a ver com programao?

O Computador

Programao

Algoritmos

Receita de bolo (!?)

O que uma receita de bolo tem a ver com programao?


Uma receita de bolo um algoritmo!
Contm ingredientes e quantidades, alm das instrues
(normalmente sequenciais) para fazer um bolo.

O Computador
Algoritmos

Como criar um algoritmo?

Programao

O Computador

Programao

Algoritmos

Exerccio 1

Um senhor, est numa das margens de um rio com uma


raposa, uma dzia de galinhas e um saco de milho. O senhor
pretende atravessar o rio com suas cargas, num barco a remo
que s comporta o senhor e uma das cargas. Evidentemente,
o senhor no pode deixar em uma das margens, sozinhos, a
raposa e a galinha, nem a galinha e o milho. Sabendo que os
nicos comandos disponveis so atravesse (ex.:
atravesse o milho) e retorne (ex.:retorne com as
galinhas), escreva um algoritmo para que o senhor possa
atravessar toda a carga sem que nada se perca (galinhas
comem milho e raposas comem galinhas!!!).

O Computador

Programao

Algoritmos

Exerccio 1 - soluo

Atravesse as galinhas

Retorne sozinho.

Atravesse a raposa.

Retorne com as galinhas.

Atravesse o milho.

Retorne sozinho.

Atravesse as galinhas.

O Computador

Programao

Algoritmos

Exerccio 2

Em grupos de cinco pessoas, elaborar um algoritmo para que


uma pessoa do grupo v at o final da sala, apague e acenda
a lmpada. Escrever em uma folha. Ao final, um do grupo vai
ler o algoritmo.
Antes vamos definir o conjunto de comandos ...

You might also like