You are on page 1of 33

lnLroduo a rogramao

CrlenLada a Cb[eLos
Aula 01 - rogramao CrlenLada a Cb[eLos
lnsuLuLo lederal do Cear - Campus Maracanau
8acharelado em Clncla da CompuLao
rofessor: lgor 8afael Sllva valenLe
Cb[euvos da aula de ho[e
Conhecer o professor, alunos, conLeudo programuco,
cronograma, blbllograas recomendadas e meLodos de
avallao da dlsclpllna
8elembrar o concelLo de programa, llnguagem de
programao e proprledades dese[vels de uma llnguagem de
programao
LnLender a dlferena enLre a programao orlenLada a
ob[eLos e a programao esLruLurada
Conhecer a llnguagem orlenLada a ob[eLos !ava
Crlar o prlmelro programa em !ava
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
2
Cuem so os alunos?
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
3
A rogramao CrlenLada a Cb[eLos e o
8acharelado em Clncla da CompuLao
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
4
MaLerlals de apolo e ouLros documenLos
Cs maLerlals de apolo, noLas, lnformauvos e avlsos desLa
dlsclpllna sero dlsponlblllzados no uropbox
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
3
ConLeudo programuco
1lpos de llnguagem de programao
1raduo por compllao, lnLerpreLao e hlbrlda
aradlgma esLruLurado e paradlgma orlenLado a ob[eLos
Classes e ob[eLos
vlslbllldade e encapsulamenLo
Mulupllcldade e relaclonamenLo enLre classes
ulagrama de classes
Sobrecarga
SobrescrlLa
ConsLruLores
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
6
ConLeudo programuco
8euso com composlo e herana
1lpos de passagem de parmeLros
1raLamenLo de erros
Classes absLraLas
lnLerfaces
ollmorsmo
Llgao precoce e llgao Lardla
adres de soware orlenLados a ob[eLos
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
7
C que e um compuLador?
Cs compuLadores so mqulnas capazes de auLomauzar
Larefas, armazenar valores, efeLuar clculos complexos ou
repeudos com rapldez e conabllldade
C que faz um compuLador ser capaz de efeLuar esLas Larefas
so os programas que so execuLados por ele
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
8
C que e um programa de compuLador?
Cs programas dlzem ao compuLador o que deve ser felLo com
seu hardware (componenLes e perlferlcos) aLraves da
lnLerpreLao de um con[unLo de comandos
Lsse con[unLo de comandos fol gerado a parur de um
processo chamado de Lraduo, em que um LexLo escrlLo por
um programador com base em regras basLanLe especlcas fol
lnLerpreLado e Lraduzldo, de forma que o compuLador
pudesse enLender o que fol escrlLo
C LexLo menclonado e chamado de cdlgo-fonLe
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
9
C que e um programa de compuLador?
um programa de compuLador e, enLo, nada mals do que um
cdlgo-fonLe execuLvel por um compuLador, capaz de
reallzar as auvldades que foram especlcadas pelo
programador
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
10
!"#$%&'( *+
, -./0%'(1.# 2 %/(
/34%5&( 6%##( .%
5&'"75$"&'"8
L a llnguagem de programao?
ara que o compllador possa lnLerpreLar e Lraduzlr o LexLo
escrlLo pelo programador para comandos lnLerpreLados pelo
compuLador, o LexLo deve ser escrlLo baseado em um
con[unLo especlco de regras
LsLe con[unLo de regras e o que se chama de llnguagem de
programao, que pode ser de mqulna, balxo nlvel ou alLo
nlvel
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
11
Llnguagens de programao
Crlar programas em llnguagem de mqulna e alLamenLe
lmproduuvo, pols lmpllca em conhecer deLalhadamenLe a
arqulLeLura do compuLador e do processador, asslm como
escrever longas lnsLrues de 0's e 1's que so lnLerpreLvels
dlreLamenLe pelo compuLador
ara amenlzar o problema, foram crladas as llnguagens de
balxo nlvel, cu[as lnsLrues podem ser enLendldas mals
facllmenLe por pessoas do que a llnguagem de mqulna
LnLreLanLo, esLa llnguagem alnda e dlncll de enLender e,
consequenLemenLe, mulLo lmproduuva
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
12
Llnguagens de programao
ara resolver esLe problema, foram crladas as llnguagens de
alLo nlvel, que absLraem cerLas especlcldades da arqulLeLura
do compuLador e so facllmenLe enLendldas por pessoas
lsLo fol posslvel com a gura do LraduLor, que Lransforma uma
llnguagem de programao em ouLra
LxlsLem duas formas prlmrlas de Lraduzlr um programa:
compllao e lnLerpreLao
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
13
1raduo por compllao
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
14
1raduo por lnLerpreLao
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
13
Compllao !"#$%$ lnLerpreLao
Compllao
Lxecuo mals rplda
SomenLe o execuLvel e carregado na memrla
lnLerpreLao
orLabllldade
Compllao + lnLerpreLao = hlbrldo
une as vanLagens de ambos
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
16
1raduo hlbrlda
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
17
roprledades das llnguagens
Leglbllldade
ulz respelLo a facllldade para ler e enLender um programa na
llnguagem
8edlglbllldade
8elaclonada com a facllldade de escrever um programa na llnguagem
Conabllldade
Mecanlsmos oferecldos pela llnguagem para lncenuvar a consLruo
de programas convels
Lxemplo: deLeco de erros em Lempo de compllao.
CrLogonalldade
ulz respelLo aos erros que podem ser comeudos pelo programador ao
uullzar a llnguagem
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
18
roprledades das llnguagens
8eusabllldade
osslbllldade de reuullzar o mesmo cdlgo para dlversas apllcaes
Modularldade
L a proprledade que um slsLema Lem de ser decomposLo em um
con[unLo de mdulos coesos
Modlcabllldade
lacllldade de modlcar um cdlgo para adapL-lo as novas
necessldades.
orLabllldade
ulz respelLo a posslbllldade de execuLar o mesmo programa em
plaLaformas dlsunLas sem mudanas no cdlgo-fonLe
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
19
roprledades das llnguagens
Lclncla
ulz respelLo ao bom uso dos recursos dlsponlvels no hardware do
compuLador
lacllldade de aprendlzado
ode ser calculado aLraves do Lempo que o programador demora
enLre enLender a slnLaxe da llnguagem de programao e crlar
programas uLels
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
20
aradlgmas das llnguagens
So modelos, padres ou esulos de programao suporLados
por llnguagens que agrupam caracLerlsucas em comum
Lxemplos de paradlgmas:
LsLruLurado
CrlenLado a ob[eLo
Lglco
CrlenLado a aspecLos
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
21
aradlgma esLruLurado
LsLe paradlgma preconlza que Lodos os programas podem ser
reduzldos a apenas Lrs esLruLuras:
Sequncla
ueclso
lLerao
CeralmenLe e o ponLo lnlclal de conLaLo no mundo da
programao por ser semelhanLe a llnha de racloclnlo naLural
do ser humano e, consequenLemenLe, mals fcll de ser
enLendlda
L baseado na proprledade de modularlzao, aLraves da
dlvlso do cdlgo-fonLe em funes, procedlmenLos e dados
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
22
aradlgma esLruLurado
vanLagens:
Lclncla
aradlgma bem esLabelecldo
uesvanLagens:
A manuLeno e dlncll
ulculdade de mapeamenLo enLre o mundo real e a sua represenLao
absLraLa na llnguagem de programao
L a predecessora do paradlgma orlenLado a ob[eLos, mas
alnda e uullzado aLualmenLe em dlversas apllcaes
Lxemplos de llnguagens: C, ascal, lorLran e Cobol
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
23
aradlgma esLruLurado
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
24
#include <stdio.h>

int main()
{
imprimirCabecalho();
int resultado = soma(5,6);
printf(%d\n,resultado);
system(pause);
return 1;
}

void imprimirCabecalho()
{
printf(Ol! Seja bem-vindo(a)!\n);
}

int soma(int a, int b)
{
return a+b;
}

rogramao orlenLada a ob[eLos
L um paradlgma de anllse, pro[eLo e lmplemenLao de
soware baseado na composlo e lnLerao enLre dlversas
unldades de soware, denomlnadas ob[eLos
A anllse e pro[eLo permlLem ldenucar o con[unLo de
ob[eLos que melhor represenLam um soware
Se uullzada correLamenLe, os programas orlenLados a ob[eLos
podem slmular o mundo real exaLamenLe como ele e
lol crlada com o lnLulLo de aumenLar as proprledades
dese[vels em relao a programao esLruLurada
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
23
rogramao orlenLada a ob[eLos
ara LanLo, lnLroduz um grupo de novos concelLos:
Classe
Cb[eLo
ConsLruLor
Sobrecarga
SobrescrlLa
Perana
ollmorsmo
Classe absLraLa
lnLerface
LncapsulamenLo
vlslbllldade
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
26
rogramao orlenLada a ob[eLos
Llnguagens que uullzam esse paradlgma:
C++
C#
!ava
Cb[ecL ascal
Cb[ecuve-C
yLhon
8uby
SmallLalk
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
27
um prlmelro programa
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
28
Compllando o programa
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
29
LxecuLando o programa
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
30
luLs
AmblenLes lnLegrados de desenvolvlmenLo faclllLam o
Lrabalho de programao:
Lcllpse (www.ecllpse.org)
neL8eans (www.neLbeans.org)
uenLre ouLras
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
31
Cbrlgado pela aLeno!
Alguma duvlda?
MaLerlal para casa
lano de dlsclpllna
Slldes da aula
ConvlLe uropbox
ConLeudo da prxlma aula
Classes e ob[eLos - concelLos e ldenucao
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
32
8efernclas 8lbllogrcas
uLl1LL, P.M, uLl1LL, . !. &'!'( *+,+ -#+.#','#/ 6 edlo.
So aulo: earson renuce Pall, 2003
CaplLulos 1 e 2
LS!uC. 0"$"1!+2!3,"14+ 5#3"14'6+ ' 578"4+$ ", &'!'/
rof. lgor 8afael Sllva valenLe
lgor[lfce.edu.br
33