Você está na página 1de 39

Fundamentos de Algoritmos

Tema 1 Conceitos Bsicos

Prof. Gerson Borges

Fundamentos de Algoritmos I

Contedo
Abstrao istema Com!utacional e Programao Com!utacionais de istemas

Prof. Gerson Borges

Fundamentos de Algoritmos I

Conte"tuali#ao
Abrang$ncia
A!resentar os !rimeiros conceitos sobre !ensamento abstrato% sistemas com!utacionais e !rogramao de sistemas.

Im!ort&ncia
's conceitos discutidos esto !resentes nas ati(idades mais elementares de !rogramao de sistemas com!utacionais.
Prof. Gerson Borges Fundamentos de Algoritmos I 3

'b)eti(os
*ntender e desen(ol(er o !ensamento abstrato Caracteri#ar os !rinci!ais com!onentes de um sistema com!utacional. +iscutir e e"em!lificar as eta!as de entrada% !rocessamento e sa,da de dados. A!resentar os !rinci!ais conceitos sobre linguagens de !rogramao.

Prof. Gerson Borges

Fundamentos de Algoritmos I

Abstrao

A realidade complexa e rica em detalhes!

Prof. Gerson Borges

Fundamentos de Algoritmos I

Abstrao

Realidade
O que voc abstrai dessa realidade?
Prof. Gerson Borges Fundamentos de Algoritmos I 6

Abstrao

O que abstrao?

Prof. Gerson Borges

Fundamentos de Algoritmos I

Abstrao

Abstrao = Operao mental que observa a realidade e captura apenas os aspectos relevantes para um contexto
Prof. Gerson Borges Fundamentos de Algoritmos I 8

Abstrao
Passe alguns minutos ol-ando !ara a figura abai"o e diga o .ue (oc$ consegue abstrair dela.

Prof. Gerson Borges

Fundamentos de Algoritmos I

Abstrao
Conseguiu (er uma )o(em mul-er de !erfil/ 'u uma sen-ora ol-ando !ara bai"o/

Prof. Gerson Borges

Fundamentos de Algoritmos I

10

Abstrao
Perceba .ue a realidade 0 a mesma.
Isto 0% uma figura em !reto e branco.

1as% de!endendo da obser(ao da realidade% (oc$ !ode ter abstra2es diferentes. Por isso% a abstrao de!ende mais do obser(ador do .ue da realidade obser(ada.

Prof. Gerson Borges

Fundamentos de Algoritmos I

11

Abstrao
A tarefa de !rogramar sistemas com!utacionais en(ol(e o e"erc,cio constante da abstrao da realidade e sua codificao em uma linguagem de !rogramao.

R ealidade

Abstrao + Programao

Sistema de Locadora de Veculo


Prof. Gerson Borges Fundamentos de Algoritmos I 12

istema Com!utacional

O que um Sistema omputacional?

Prof. Gerson Borges

Fundamentos de Algoritmos I

13

istema Com!utacional

Sistema Computacional
Software Hardware

Peopleware
Prof. Gerson Borges Fundamentos de Algoritmos I 14

istema Com!utacional
Hardware3 Parte com!utacional. Software3 Parte com!utacional. f,sica do sistema

*"3 teclado e im!ressora

l4gica

do

sistema

*53 sistema o!eracional e !rocessador de te"to

Peopleware3 Pessoas .ue interagem com o sistema com!utacional.


*53 usurio e !rogramador

Prof. Gerson Borges

Fundamentos de Algoritmos I

15

istema Com!utacional
' -ard6are de um sistema com!utacional !ode ser agru!ado nas seguintes categorias bsicas3
+is!ositi(o de entrada de dados +is!ositi(o de sa,da 7nidade Central de Processamento 8 7CP 1em4ria Princi!al 1em4ria Au"iliar

Prof. Gerson Borges

Fundamentos de Algoritmos I

16

istema Com!utacional
+is!ositi(o de entrada de dados
9ecebe os dados e as instru2es !ara o !rocessamento. *53 teclado% mouse e leitores 4!ticos.

+is!ositi(o de sa,da
1ostra o resultado do !rocessamento. *53 monitor% im!ressora e cai"as acsticas.

7nidade Central de Processamento 8 7CP


9eali#a clculos e e"ecuta instru2es. *53 Pentium e Turiom.
Prof. Gerson Borges Fundamentos de Algoritmos I 17

istema Com!utacional
1em4ria Princi!al
Arma#ena de forma (oltil :en.uanto -ou(er energia; um dado. *53 9A1 :random access memor<;

1em4ria Au"iliar
Arma#ena de forma no (oltil :longo !ra#o; um dado. +isco 9,gido% Pendri(e e C+

Prof. Gerson Borges

Fundamentos de Algoritmos I

18

istema Com!utacional
' soft6are de um sistema com!utacional !ode ser di(idido em dois gru!os bsicos3
oft6are Bsico
So programas essenciais ao funcionamento ardware e ao apoio a outros softwares! do

oft6ares A!licati(os

"#$ sistemas operacionais e tradutores de linguagens de programa%o! So programas destinados a resol&er pro'lemas do usu(rio! "#$ fol as de pagamento) imposto de renda e planil as eletr*nicas!

Prof. Gerson Borges

Fundamentos de Algoritmos I

19

istema Com!utacional
' !eo!le6are de um sistema com!utacional !ode ser classificado em dois ti!os bsicos3
7surio Final
+nterage com o sistema computacional sem con ecer detal es do seu desen&ol&imento! "#$ secret(rias) 'alconistas e e,ecuti&os!

7surio *s!ecialista
+nterage com o sistema computacional especificando ou programando como este de&e se comportar! "#$ programadores) analistas engen eiros de computa%o! de sistemas e

Prof. Gerson Borges

Fundamentos de Algoritmos I

20

Programao de

istema Com!utacional

A !rogramao de um sistema com!utacional !ode ser resumida em = !assos bsicos3


Entrada Dispositivo de Entrada Processamento Sada Dispositivo de Sada

!CP Mem ria

Prof. Gerson Borges

Fundamentos de Algoritmos I

21

Programao de

istema Com!utacional

"en#a estes $ passos

Entrada% Processamento e Sada


como o seu primeiro mantra de pro&ramao
Prof. Gerson Borges Fundamentos de Algoritmos I 22

Programao de

istema Com!utacional

*"em!lo 1 8 *"ibir a m0dia de dois nmeros


Entrada Dispositivo de Entrada Processamento Sada Dispositivo de Sada

!CP Mem ria

!"#

$! % #& ' (

Prof. Gerson Borges

Fundamentos de Algoritmos I

23

Programao de

istema Com!utacional

*"em!lo > 8 *"ibir se o aluno est a!ro(ado ou re!ro(ado


Entrada Dispositivo de Entrada Processamento Sada Dispositivo de Sada

!CP Mem ria

Ana" *" +

Se $*%+&'(,-) aprovado Seno reprovado


Fundamentos de Algoritmos I

Ana" reprovada

Prof. Gerson Borges

24

Programao de

istema Com!utacional

O que uma Lin.ua.em de /ro.ramao?


Prof. Gerson Borges Fundamentos de Algoritmos I 25

Programao de

istema Com!utacional

'in&ua&em =
0eio de omunicao

Prof. Gerson Borges

Fundamentos de Algoritmos I

26

Programao de

istema Com!utacional

'in&ua&em de pro&ramao = con1unto de palavras e re.ras que permitem comunicar ao computador o que este deve executar

Prof. Gerson Borges

Fundamentos de Algoritmos I

27

Programao de

istema Com!utacional

Em computao, uma linguagem de programao a ferramenta de comunicao entre o programador que visa resolver um problema e o computador que ir ajud-lo a resolver.

Prof. Gerson Borges

Fundamentos de Algoritmos I

28

Programao de
Baixo Nvel

istema Com!utacional

-ipos de .inguagens de Programa%o


1 / ?inguagem de 1.uina
Possu0a uma nota%o 'in(ria 12eros e uns3) a 4ual torna&a a programa%o tra'al osa) cansati&a e fortemente su5eita a erros!

2 / ?inguagem Assembl<
Sugiu para minimi2ar as dificuldades da programa%o em nota%o 'in(ria! 67digos de opera%o e endere%os 'in(rios foram su'stitu0dos por mnem*nicos!

3 / ?inguagem de Alto @,(el


8pro,ima9se das linguagens utili2adas por e,pressar pro'lemas! umanos para

6ada declara%o numa linguagem de alto n0&el e4ui&ale a &(rias declara%:es numa linguagem de 'ai,o n0&el!
Prof. Gerson Borges Fundamentos de Algoritmos I 29

Programao de

istema Com!utacional

-ipos de .inguagens de Programa%o


1 9 Totalmente codificadas em binrio :ABs e 1Bs;. 2 9 7sa instru2es simb4licas !ara re!resentar os ABs e 1Bs. 3 9 Coltadas !ara facilitar o racioc,nio -umano. (ai)o *vel Alto *vel

Linguagem de Mquina

Linguagem Assembly (Mnemnica)

Linguagem de Alto N vel


val2 = val1+val2

0010 0001 1110 LOAD R1, val1 0010 0010 1111 LOAD R2, val2 0001 0001 0010 ADD R1, R2 0011 0001 1111 STORE R1, val2
+,Prof. Gerson Borges

+.Fundamentos de Algoritmos I

+$30

Programao de

istema Com!utacional

-ipos de .inguagens de Programa%o


;antagens # <es&antagens DESVANTAGENS VANTAGENS
Programas so processados Programas tm pouca portabilidade mais rapidamente. Ocupam (so especficos para um tipo de menos espao na memria. Programas so mais tm processador) e no so estruturados. (traduo para maior Programas exigem mais tempo de

BAIXO NVEL ALTO NVEL

portabilidade e as linguagens processamento (facilitam a programao).

estruturadas linguagem de mquina gera cdigo genrico e complexo, + Memria).

Prof. Gerson Borges

Fundamentos de Algoritmos I

31

/ro.ramao de Sistema omputacional

Se o computador s2 entende lin.ua.em de m3quina" o que deve ser 4eito para que ele entenda pro.ramas em lin.ua.em assembl5 ou de alto nvel?
Prof. Gerson Borges Fundamentos de Algoritmos I 32

/ro.ramao de Sistema omputacional

6sar um tradutor!

Prof. Gerson Borges

Fundamentos de Algoritmos I

33

Programao de

istema Com!utacional

Tradutores no conte"to de linguagens de !rogramao so !rogramas .ue recebem como entrada um

!rograma em linguagem assembl< ou de alto n,(el :dita linguagem fonte; e !rodu#em como sa,da as instru2es deste !rograma tradu#idas !ara linguagem de m.uina.
*"istem basicamente tr$s ti!os de tradutores3 Com!ilador Inter!retador 1ontadores

Prof. Gerson Borges

Fundamentos de Algoritmos I

34

Programao de

istema Com!utacional

-ipos de -radutores
13 6=>P+.8<=?$ tradu# de uma (e# s4 todo o !rograma escrito em linguagem de alto n,(el :c4digoD fonte; !ara um !rograma e.ui(alente escrito em linguagem de m.uina :c4digoDob)eto;. 23 +@-"?P?"-8<=?$ tradu# :sem gerar c4digoD ob)eto; e em seguida e"ecuta% umaDaDuma% as instru2es .ue um !rograma em linguagem de alto n,(el; 33 >=@-8<=? 1ou 8ssem'ler3$ fa# a traduo direta das instru2es Assembl< !ara um !rograma e.ui(alente escrito em linguagem de m.uina.
Prof. Gerson Borges Fundamentos de Algoritmos I 35

Programao de
-ipos de -radutores

istema Com!utacional

6=>P+.8<=? # +@-"?P?"-8<=?

= c7digo o'5eto 1tradu%o para a linguagem de m(4uina3 4ue A produ2ido por um compilador pode ser e,ecutado &(rias &e2es sem a necessidade de re9 compila%o! "ssa s7 A necess(ria se o c7digo9fonte for alterado! -odo programa interpretado de&e re9e,ecutar o processo de interpreta%o) independentemente de ter a&ido ou no modifica%:es no seu c7digo9fonte!

Prof. Gerson Borges

Fundamentos de Algoritmos I

36

Programao de
-ipos de -radutores

istema Com!utacional

6=>P+.8<=? # +@-"?P?"-8<=?

Por no e,igirem con&erso para linguagem de m(4uina em tempo de e,ecu%o) os programas o'5eto compilados tendem a ser e,ecutados mais rapidamente 4ue um interpretado e4ui&alente! 6om a interpreta%o) os programas podem ser desen&ol&idos e testados mesmo se estes possu0rem erros! <e um modo geral) a interpreta%o A interessante durante a fase de desen&ol&imento dos programas e a compila%o torna9se mais &anta5osa 4uando os c7digos fonte 5( se encontram esta'ili2ados!

Prof. Gerson Borges

Fundamentos de Algoritmos I

37

Programao de
-ipos de -radutores

istema Com!utacional

6=>P+.8<=? # +@-"?P?"-8<=?
#i% #ow are /ou0 3l1% como est1 voc20

Cdigo Fonte

Compilador

Cdigo Objeto (*.exe)


ol1% como est1 voc20

Computador

#i% #ow are /ou0

Cdigo Fonte
Prof. Gerson Borges

Interpretador
Fundamentos de Algoritmos I

Computador
38

Ati(idade 1
Eual o !a!el da abstrao na !rogramao de sistemas com!utacionais/ *"!li.ue e e"em!lifi.ue os !rinci!ais ti!os de Fard6are e oft6are. Com suas !ala(ras e"!li.ue os tr$s !assos bsicos da !rogramao de um sistema com!utacional. *"!li.ue as !rinci!ais (antagens e des(antagens dos ti!os de ?inguagens de Programao estudados. ' .ue so tradutores e e"!li.ue as diferenas entre eles.
Prof. Gerson Borges Fundamentos de Algoritmos I 39

Você também pode gostar