Você está na página 1de 20

Mdulo 1

Introduo Programao I
Lio 1
Introduo Programao de Computadores
Verso 1.01 - Jan/2008
JEDI
TM
Autor
Florence Tiu Balagtas
Equipe
Joyce Aestro
Florence Balagtas
!ommel Feria
!eginald "utc#erson
!e$ecca %ng
Jo#n Paul Petines
&ang &#in
!ag#aan &rinias
Matt#e' T#ompson
Necessidades para os Exerccios
Sistemas Operacionais Suportados
NetBeans IE !"! para os seguintes sistemas operacionais(
Microso)t *indo's +P Pro)issional &P, ou superior
Mac %& + -./0/1 ou superior
!ed "at Fedora Core 2
&olaris3 -. %perating &ystem 4&PA!C5 e 6789680 Plat)orm Edition:
NetBeans Enterprise #ac$; poder< ser e6ecutado nas seguintes plata)ormas(
Microso)t *indo's ,... Pro)issional &P0
&olaris3 7 %& 4&PA!C e 6789680 Plat)orm Edition: e &olaris = %& 4&PA!C e
6789680 Plat)orm Edition:
><rias outras distri$ui?es @inu6
%on&i'urao Mnima de (ard)are
Nota* IDE AetBeans com resoluo de tela em -.,06B87 pi6el
Sistema Operacional #rocessador Memria ( Li+re
Microso)t *indo's 1.. M"C Intel Pentium III
'orDstation ou eEuialente
1-, MB 71. MB
@inu6 1.. M"C Intel Pentium III
'orDstation ou eEuialente
1-, MB 01. MB
&olaris %& 4&PA!C: Fltra&PA!C II 01. M"C 1-, MB 01. MB
&olaris %& 46789680
Plat)orm Edition:
AMD %pteron -.. &Grie -/7 H"C 1-, MB 01. MB
Mac %& + Po'erPC H0 1-, MB 01. MB
%on&i'urao ,ecomendada de (ard)are
Sistema Operacional #rocessador Memria ( Li+re
Microso)t *indo's -/0 H"C Intel Pentium III
'orDstation ou eEuialente
- HB - HB
@inu6 -/0 H"C Intel Pentium III
'orDstation ou eEuialente
- HB 71. MB
&olaris %& 4&PA!C: Fltra&PA!C IIIi - H"C - HB 71. MB
&olaris %& 46789680
Plat)orm Edition:
AMD %pteron -.. &eries -/7 H"C - HB 71. MB
Mac %& + Po'erPC H1 - HB 71. MB
,equerimentos de So&t)are
AetBeans Enterprise PacD 1/1 e6ecutando so$re Jaa , Plat)orm &tandard Edition
Deelopment Iit 1/. ou superior 4JDI 1/.; erso -/1/.J.- ou superior:; contemplando
a Jaa !untime Enironment; )erramentas de desenolimento para compilar; depurar;
e e6ecutar aplica?es escritas em linguagem Jaa/ &un Jaa &ystem Application &erer
Plat)orm Edition =/
Para Solaris; -indo)s; e Linux; os arEuios da JDI podem ser o$tidos para sua
plata)orma em #ttp(99Kaa/sun/com9K,se9-/1/.9do'nload/#tml
Para Mac OS .; Jaa , Plata)orm &tandard Edition 4J,&E: 1/. !elease 0; pode ser
o$tida diretamente da AppleLs Deeloper Connection; no endereo(
#ttp(99deeloper/apple/com9Kaa 4G necess<rio registrar o do'nload da JDI:/

Para mais in)orma?es( #ttp(99'''/net$eans/org9community9releases9119relnotes/#tml
Introduo Programao I ,
JEDI
TM
Colaboradores que auxiliaram no processo de traduo e reviso
Ale6andre Mori
Ale6is da !oc#a &ila
Aline &a$$atini da &ila Ales
Allan *oKciD da &ila
AndrG @uiC Moreira
Andro M<rcio Correa @ouredo
Antoniele de Assis @ima
Antonio Jose !/ Ales !amos
AurGlio &oares Aeto
Bruno da &ila Bon)im
Bruno dos &antos Miranda
Bruno Ferreira !odrigues
Carlos Al$erto >itorino de Almeida
Carlos Ale6andre de &ene
Carlos AndrG Aoron#a de &ousa
Carlos Eduardo >eras Aees
Cle$er Ferreira de &ousa
Cleyton Artur &oares Frani
Cristiano Borges Ferreira
Cristiano de &iEueira Pires
Derlon >andri Aliendres
Fa$iano Eduardo de %lieira
F<$io Bom$onato
Fernando Antonio Mota Trinta
Fl<io Ales Homes
Francisco das C#agas
Francisco Marcio da &ila
Hilson Moreno Costa
Hiailson de &ouCa Aees
Hustao "enriEue Castellano
"e$ert Julio Honales de Paula
"eraldo Conceio Domingues
"ugo @eonardo Mal#eiros Ferreira
Ian Aascimento Fonseca
JacEueline &usann Bar$osa
Jader de Caral#o Belarmino
Joo AurGlio Telles da !oc#a
Joo Paulo Cirino &ila de Aoais
Joo >ianney BarroCo Costa
JosG Augusto Martins AieiadonsDi
JosG @eonardo Borges de Melo
JosG !icardo Carneiro
Ile$ert# BeCerra H/ dos &antos
@a)aiete de &< Huimares
@eandro &ila de Morais
@eonardo @eopoldo do Aascimento
@eonardo Pereira dos &antos
@eonardo !angel de Melo Filardi
@ucas Mauricio Castro e Martins
@uciana !oc#a de %lieira
@uMs Carlos AndrG
@uMs %ct<io Jorge >/ @ima
@uiC Fernandes de %lieira Junior
@uiC >ictor de Andrade @ima
Manoel Cotts de NueiroC
Marcello &andi Pin#eiro
Marcelo %rtolan PaCCetto
Marco AurGlio Martins Bessa
Marcos >inicius de Toledo
Maria Carolina Ferreira da &ila
Massimiliano Hiroldi
Mauricio ACeedo Hamarra
Mauricio da &ila Marin#o
Mauro Cardoso Mortoni
Mauro !egis de &ousa @ima
Aamor de &< e &ila
AGres C#aes !e$ouas
Aolyanne Pei6oto Brasil >ieira
Paulo A)onso CorrOa
Paulo JosG @emos Costa
Paulo %lieira &ampaio !eis
Pedro Antonio Pereira Miranda
Pedro "enriEue Pereira de Andrade
!enato Ales FGli6
!enato Bar$osa da &ila
!eyderson Magela dos !eis
!icardo Ferreira !odrigues
!icardo Flric# Bom)im
!o$son de %lieira Cun#a
!odrigo Pereira Mac#ado
!odrigo !osa Miranda CorrOa
!odrigo >aeC
!onie DotCla'
!osely Moreira de Jesus
&eire PareKa
&ergio Pomeranc$lum
&ilio &Cni)er
&uCana da Costa %lieira
T<sio >asconcelos da &ileira
T#iago Magela !odrigues Dias
Tiago HimeneC !i$eiro
>anderlei Caral#o !odrigues Pinto
>anessa dos &antos Almeida
>astM Mendes da &ila !oc#a
*agner ElieCer !oncoletta
Auxiliadores especiais
!eiso Heral do te6to para os seguintes PaMses(
Brasil P Tiago Flac#
/uin0 Bissau P Al)redo C<; Bunene &isse e Buon %lossato Nue$i P %AH Asas de &ocorro
Coordenao do DFJUG
aniel deOli+eira P JFH@eader respons<el pelos acordos de parcerias
Luci %ampos 1 IdealiCadora do DFJFH respons<el pelo apoio social
2ernando Anselmo 1 Coordenador respons<el pelo processo de traduo e reiso;
disponi$iliCao dos materiais e insero de noos mQdulos
,e'ina Mariani 1 Coordenadora respons<el pela parte KurMdica
,odri'o Nunes 1 Coordenador respons<el pela parte multimMdia
S0r'io /omes 3eloso 1 Coordenador respons<el pelo am$iente JEDI
TM
4Moodle:
A'radecimento Especial
4o5n #aul #etines 6 Criador da Iniciatia JEDI
TM
,ommel 2eria 6 Criador da Iniciatia JEDI
TM
Introduo Programao I 2
JEDI
TM
1" O78eti+os
Aesta seo; amos discutir os componentes $<sicos de um computador; tanto em relao a
#ard'are como a so)t'are/ Tam$Gm eremos uma peEuena introduo so$re linguagens de
programao e so$re o ciclo de ida do desenolimento/ Por )im; mostraremos os di)erentes
sistemas numGricos e as coners?es entre eles/
Ao )inal desta lio; o estudante ser< capaC de(
Identi)icar os di)erentes componentes de um computador/
Con#ecer as linguagens de programao e suas categorias/
Entender o ciclo de ida de desenolimento de programas e aplic<Rlo na soluo de
pro$lemas/
Con#ecer os di)erentes sistemas numGricos e as coners?es entre eles/
Introduo Programao I 0
JEDI
TM
9" Introduo
% computador G uma m<Euina Eue realiCa uma ariedade de tare)as de acordo com instru?es
especM)icas/ S uma m<Euina de processamento de dados; Eue rece$e dados atraGs de um
dispositi+o de entrada e o processador os manipula de acordo com um pro'rama/
% computador tem dois componentes principais/ % primeiro G o (ard)are Eue G a parte palp<el
4Eue se pode tocar: do computador/ Ele G composto de partes eletrTnicas e mecUnicas/
% segundo componente principal G o So&t)are Eue G a parte impalp<el 4no se pode tocar: do
computador/ Ele G composto de dados e dos programas de computador/
Introduo Programao I 1
JEDI
TM
:" %omponentes B;sicos de um %omputador
3.1. Hardware
:"1"1" <nidade %entral de #rocessamento =%#< 1 %entral #rocessin' <nit>
% processador G o VcGre$roW do computador/ Ele possui mil#?es de partes elGtricas muito
peEuenas/ Ele )aC as opera?es )undamentais dentro do sistema/ Alguns e6emplos de
processadores so o Pentium; At#lon e &PA!C/
Figura 1: Processador de um PC
:"1"9" Memria
A memQria; onde se encontram os dados e as instru?es Eue a CPF precisa para realiCar suas
tare)as; diidida em diersos locais de armaCenamento Eue possuem seus respectios endereos
lQgicos/ A CPF acessa a memQria pelo uso destes endereos/
1" Memria #rincipal
A memQria principal; s eCes; c#amada de !AM 4!andom Access Memory ou MemQria de Acesso
!andTmico: est< )ortemente ligada ao processador/ Ela G utiliCada para armaCenar programas e
dados; com os Euais o processador est< tra$al#ando no momento e no G utiliCada para
armaCenamento de longo praCo; por este motio seu armaCenamento G considerado +ol;til/ Isto
signi)ica Eue assim Eue o computador G desligado; toda a in)ormao armaCenada na memQria
principal ser< perdida/
Figura 2: Pente de memria
9" A Memria Secund;ria
A memQria secund<ria est< ligada memQria principal/ Ela G usada para armaCenar programas e
dados para uso de longo praCo/ E6emplos de memQria secund<ria so discos rMgidos e cdRrom/
Introduo Programao I 8
JEDI
TM
Figura 3: Interior de um Disco rgido do computador
A memQria secund<ria G considerada um tipo de armaCenamento no1+ol;til/ Isto signi)ica Eue
as in)orma?es nela armaCenadas no sero perdidas apQs o computador ser desligado/
Memria rincipal Memria !ecund"ria ropriedade
!<pida @enta >elocidade
Cara Barata Preo
Bai6a Alta Capacidade
&im Ao >ol<til
Tabela 1: Comparao entre a memria principal e a memria secundria
:"1":" ispositi+os de Entrada e Sada
%s dispositios de entrada e saMda permitem Eue o computador interaKa com o mundo e6terior
pela moimentao de dados para dentro e para )ora do sistema/
E6emplos de dispositios de entradas so teclados; mouses; micro)ones; etc/ E6emplos de
dispositios de saMda so monitores; impressoras; altoR)alantes; etc/
3.#. !o$%ware
% so)t'are G um programa Eue o computador usa para )uncionar/ Ele G armaCenado em algum
dispositio de #ard'are como um disco rMgido; mas G em si mesmo intangMel/ %s dados Eue o
computador usa podem ser EualEuer coisa Eue o programa precise/ %s programas agem como
instru?es para o processador/
Al'uns tipos de pro'ramas de computador*
1" #ro'ramas de Sistemas
Programas necess<rios para Eue o #ard'are e o so)t'are )uncionem Kuntos corretamente/
E6emplos(
&istemas %peracionais como @inu6; *indo's; Fni6; &olaris; Mac%&
9" Aplicati+os
Programas Eue as pessoas usam para realiCar determinado tra$al#o/
E6emplos(
Processadores de Te6tos
Jogos
Planil#as EletrTnicas
:" %ompiladores
% computador entende apenas uma linguagem( linguagem de m<Euina/ @inguagem de m<Euina
Introduo Programao I B
JEDI
TM
est< na )orma de Ceros e uns/ J< Eue G totalmente impratic<el para as pessoas criarem
programas usando Ceros e uns; G preciso #aer uma maneira de traduCir ou conerter a
linguagem Eue entendemos em linguagem de m<Euina; para isto; e6istem os compiladores/
Introduo Programao I 7
JEDI
TM
?" 3iso /eral so7re Lin'ua'ens de #ro'ramao
&.1. ' (ue ) uma lin*ua*em de pro*ramao+
Fma linguagem de programao G uma tGcnica de comunicao padroniCada para se e6pressar
instru?es para um computador/ Assim como os idiomas utiliCados pelos seres #umanos; cada
linguagem tem sua prQpria sinta6e e gram<tica/
@inguagens de programao possi$ilitam ao programador especi)icar precisamente com Euais
dados o computador ir< interagir; como estes dados sero graados9transmitidos; e precisamente
Euais a?es sero tomadas de acordo com as circunstUncias/
E6istem di)erentes tipos de linguagens de programao Eue podem ser usadas para a criao de
programas; mas; independente da linguagem utiliCada; essas instru?es so traduCidas em
linguagem de m<Euina; e podem ser entendidas por computadores/
&.#. Ca%e*orias das ,in*ua*ens de ro*ramao
1" Lin'ua'ens de #ro'ramao de Alto N+el
Fma linguagem de programao de alto nMel G uma linguagem de programao Eue G mais
amig<el para o usu<rio; em alguns casos independente de plata)orma; e Eue a$strai opera?es
de $ai6o nMel como acesso a memQria/ Fma instruo de programao pode ser traduCida em
uma ou <rias instru?es de m<Euina por um compilador/
E6emplos so Jaa; C; CXX; Basic; Fortran
9" Lin'ua'ens de Monta'em de Baixo N+el
@inguagens de montagem so similares s linguagens de m<Euina; so mais simples de
programar pois possuem poucos comandos e permitem ao programador su$stituir nomes por
nYmeros/ @inguagens de montagem esto disponMeis em cada )amMlia de CPF; e cada instruo
de montagem G traduCida em uma instruo de m<Euina por um programa montador/
Nota* %s termos Zalto nMelZ e Z$ai6o nMelZ so relatios/ %riginalmente; linguagens de
montagem eram consideradas de $ai6o nMel e C%B%@; C; etc/ eram consideradas de alto nMel/
Muitos programadores; #oKe em dia; podem se re)erir a estas Yltimas como linguagens de $ai6o
nMel/
Introduo Programao I =
JEDI
TM
!" O %iclo de 3ida de esen+ol+imento de #ro'ramas
Programadores no sentam e simplesmente comeam a escreer cQdigo de uma eC; Euando
esto tentando )aCer um programa de computador/ Ao inGs disto; eles seguem um planeKamento
organiCado ou metodologia; Eue Eue$ra o processo em uma sGrie de tare)as/
Este G o ciclo de ida Euando se tenta resoler um pro$lema no computador(
Figura !: Ciclo de "ida para a resoluo de problemas
Para entendermos o )uncionamento deste ciclo na soluo de pro$lemas no computador; amos
de)inir um pro$lema e6emplo Eue iremos resoler passo a passo enEuanto discutimos as
metodologias para resoluo de pro$lemas em detal#e/
-.1. De$inir o pro.lema
Heralmente; um programador rece$e uma tare)a na )orma de um pro$lema/ Antes do programa
poder ser proKetado para resoler um pro$lema em particular; o pro$lema dee; em primeiro
lugar; ser $em e claramente de)inido em termos dos seus reEuisitos de entrada e saMda/
Fm pro$lema claramente de)inido K< G metade da soluo/ Programao de computadores reEuer
Eue o pro$lema seKa primeiro de)inido antes de se pensar em criar a soluo/
/amos de$inir o pro.lema exemplo0
VCrie um programa Eue ir< determinar o nYmero de eCes Eue um nome aparece em uma lista/W
-.#. Analisar o pro.lema
Depois do pro$lema ter sido de)inido adeEuadamente; o mais simples e tam$Gm o mais e)iciente
e e)etio meio de se resoler ser< isualiC<Rlo atraGs de uma representao clara e o$Ketia/
Heralmente; este passo se d< com a Eue$ra do pro$lema em su$Rpro$lemas menores e mais
simples/
ro.lema 1xemplo0
Determinar o nYmero de eCes Eue um nome aparece em uma lista
1n%rada para o pro*rama0
@ista de nomes; nome Eue se deseKa procurar
&aMda do programa(
% nYmero de eCes Eue o nome aparece em uma lista
-.3. ro2e%ar e represen%ar o al*ori%mo
@ogo Eue o pro$lema estier sido claramente de)inido; podemos nos concentrar em desenoler a
soluo/ Aa programao de computadores; geralmente G reEuirido Eue e6pressemos a soluo
passo a passo/
Introduo Programao I -.
JEDI
TM
Fm Algoritmo G uma especi)icao clara e no am$Mgua dos passos necess<rios para se resoler o
pro$lema/ Ele pode ser e6presso tanto em lin'ua'em 5umana 4InglOs; Tagalog e PortuguOs:;
como atraGs de representao gr<)ica como )lu6ograma ou atraGs de pseudocQdigo; Eue G um
meio termo entre a linguagem #umana e a linguagem de programao/
Dado o pro$lema de)inido na seo anterior; como podemos e6pressar a soluo de uma maneira
simples e Eue possa ser entendida[
E6pressando a soluo atraGs da linguagem #umana(
-/ %$ter a lista de nomes; amos c#am<Rla de NomeLista
,/ %$ter o nome a ser procurado; amos c#am<Rlo de Nome%5a+e
2/ Criar um contador; amos c#am<Rlo de %onta
0/ Pegar cada nome em NomeLista
1/ &e Nome%5a+e )or igual ao nome selecionado em NomeLista
8/ Adicionar - a %onta
B/ !epetir 0 atG Eue todos os nomes K< tierem sido comparados
7/ E6i$ir o alor de %onta
1xpressando a soluo a%ra3)s de um $luxo*rama0
Figura #: $%emplo de um &lu%ograma
1xpressando a soluo a%ra3)s de pseudocdi*o0
Introduo Programao I --
JEDI
TM
FaCer Aome@ista \ @ista de Aomes
FaCer AomeC#ae \ o nome a ser procurado
FaCer conta \ .
Para cada nome em Aome@ista )aCer
&e nome G igual a AomeC#ae
FaCer Conta \ Conta X -
Mostrar Conta
Figure ': $%emplo de pseudocdigo
!":"1" Sm7olos do 2luxo'rama e o seu si'ni&icado
Fm )lu6ograma G uma )erramenta de proKeto usada para representar gra)icamente a lQgica de
uma soluo/ %s )lu6ogramas; tipicamente; no mostram comandos de linguagem de
programao/ Ao inGs disto; eles mostram o conceito em PortuguOs ou em notao matem<tica/
AEui esto algumas dicas dos sMm$olos mais usados para a criao de )lu6ogramas/ PodeRse
utiliCar EuaisEuer sMm$olos Euando criar os seus )lu6ogramas; desde Eue useRos de maneira
consistente/
!4m.olo 5ome !i*ni$icado
Sm7olo de #rocesso
!epresenta o processo de se e6ecutar uma
operao de)inida ou grupo de opera?es Eue
resultam em mudana de alor; )orma ou
localiCao da in)ormao/ Tam$Gm )unciona
como sMm$olo padro Euando nen#um outro
sMm$olo estier disponMel/
Sm7olo de
Entrada@Sada =E@S>
!epresenta a )uno de E9& Eue )aC com Eue os
dados )iEuem disponMeis para processamento
4entrada: ou para a e6i$io 4saMda: das
in)orma?es processadas/
Sm7olo de Lin5a
!epresenta a seE]Oncia de in)orma?es
disponMeis e opera?es e6ecut<eis/ As lin#as
conectam outros sMm$olos; e as setas so
o$rigatQrias somente em )lu6os com orientao
da direita para esEuerda e de $ai6o para cima/
Sm7olo de Anotao
!epresenta a adio de in)ormao descritia;
coment<rios; ou notas e6plicatias para
esclarecimentos/ A lin#a ertical e a lin#a
pontil#ada podem ser colocadas esEuerda;
como mostrado; ou direita/
Sm7olo de eciso
!epresenta a deciso Eue determina Eual das
alternatias ser< seguida/
Sm7olo Aerminal
!epresenta o comeo; o )inal; um ponto de
interrupo ou um atraso em um programa/
Sm7olo %onector
!epresenta EualEuer entrada; ou saMda; a outra
parte do )lu6ograma/ Tam$Gm sere como um
conector )ora de p<gina/
Introduo Programao I -,
JEDI
TM
!4m.olo 5ome !i*ni$icado
Sm7olo de #rocesso
#r01de&inido
!epresenta um processo nomeado consistindo de
uma ou mais opera?es ou passos de programa
especi)icados em algum outro lugar/
Tabela 2: (mbolos do Flu%ograma
-.&. Codi$icar e Depurar
Depois de construir o algoritmo; ser< possMel criar o cQdigo )onte/ Fsando o algoritmo como
$ase; o cQdigo )onte pode ser escrito usando a linguagem de programao escol#ida/
Aa maioria das eCes; depois do programador ter escrito o programa; este poder< no estar
)uncionando -..^ no inMcio/ % programador dee corrigir o programa no caso de erros 4tam$Gm
con#ecidos como Erros de Compilao: Eue ocorrem no programa/ Este processo G c#amado de
depurao de erros 4de7u':/
E6istem dois tipos de erros Eue os programadores podero encontrar/ % primeiro G o erro em
tempo de compilao e o outro G o erro em tempo de e6ecuo/
1rro em %empo de compilao ocorre se #< um erro de sinta6e no cQdigo/ % compilador ir<
detectar o erro e o programa nem mesmo compilar</ Aeste ponto; o programador estar< inapto a
criar um e6ecut<el Eue possa ser e6ecutado pelo usu<rio atG Eue o erro seKa corrigido/
EsEuecer um pontoReRMrgula no )inal de uma instruo ou escreer um comando erroneamente;
por e6emplo; so erros em tempo de compilao/ S algo Eue o compilador pode detectar como
sendo um erro/
Compiladores no so per)eitos e ento no podem detectar todos os erros em tempo de
compilao/ Isso G especialmente erdadeiro para erros de lQgica como as repeti?es 4loops:
in)initos/ Este tipo de erro G c#amado de erro em tempo de execuo"
Por e6emplo; a sinta6e do cQdigo pode estar correta/ Entretanto; ao seguir a lQgica do cQdigo; o
mesmo pedao de instruo G e6ecutado <rias e <rias eCes; in)initamente/ Aeste caso; os
compiladores no so espertos o su)iciente para pegar todos estes tipos de erro em tempo de
compilao; conseE]entemente; o programa compila corretamente em um arEuio e6ecut<el/
Entretanto; Euando o usu<rio )inal roda o programa; o programa 4ou mesmo o computador
inteiro: congela deido a uma repetio in)inita/ %utros tipos de erro em tempo de e6ecuo so(
um alor errado a ser computado; uma instruo errada a ser e6ecutada; etc/
Introduo Programao I -2
JEDI
TM
B" Sistemas Num0ricos e %on+ersCes
AYmeros podem ser representados de <rias maneiras/ A representao depende do Eue G
c#amado de BA&E/ As Eue seguem so Euatro das representa?es mais comuns/
6.1. Decimal
Aormalmente representamos os nYmeros na )orma decimal/ AYmeros na )orma decimal esto na
$ase -./ Isto signi)ica Eue os Ynicos dMgitos Eue aparecem so .R=/ AEui esto alguns e6emplos
de nYmeros escritos na )orma decimal(
-,8-. 4normalmente escrito somente como -,8:
---. 4normalmente escrito somente como --:
6.#. 7in"rio
AYmeros na )orma $in<ria esto na $ase ,/ Isto signi)ica Eue os Ynicos dMgitos aceitos so . e -/
Precisamos escreer a su$scrio , para indicar Eue o nYmero G um nYmero $in<rio/ AEui esto
alguns e6emplos de nYmeros escritos na )orma $in<ria(
------.,
-.--,
6.3. 'c%al
AYmeros na )orma octal esto na $ase 7/ Isto signi)ica Eue os Ynicos dMgitos aceitos so .RB/
Precisamos escreer a su$scrio 7 para indicar Eue o nYmero G um nYmero octal/ AEui esto
alguns e6emplos de nYmeros escritos na )orma octal(
-B87
-27
6.&. Hexadecimal
AYmeros na )orma #e6adecimal esto na $ase -8/ Isto signi)ica Eue os Ynicos dMgitos aceitos so
.R= e as letras ARF 4ou aR); minYsculas ou maiYsculas no importam:/ Precisamos escreer a
su$scrio -8 para indicar Eue o nYmero G um nYmero #e6adecimal/ AEui esto alguns e6emplos
de nYmeros escritos na )orma #e6adecimal(
BE-8
B-8
"e6adecimal . - , 2 0 1 8 B 7 = A B C D E F
Decimal EEuialente . - , 2 0 1 8 B 7 = -. -- -, -2 -0 -1
Tabela 3: )*meros +e%adecimais e sua e,ui"al-ncia para n*meros decimais
Decimal 7in"rio 'c%al Hexadecimal
-,8-. ------., -B87 BE-8
---. -.--, -27 B-8
Tabela !: (umrio dos e%emplos
6.-. Con3ers8es
B"!"1" ecimal para Bin;rio @ Bin;rio para ecimal
Para conerter um nYmero decimal em $in<rio; deeRse diidir continuamente este nYmero por ,
e separar o resto 4Eue ser< ou . ou -:; considerandoRo como um dMgito da )orma $in<ria do
nYmero/ %$ter o Euociente e diidir noamente por ,; repetir o processo atG Eue o Euociente
atinKa . ou -/ Ao tGrmino; agrupar todos os restos comeando pelo Yltimo resto/ % resultado G a
)orma $in<ria do nYmero/
Introduo Programao I -0
JEDI
TM
NOAA( % Yltimo dMgito menor Eue o diisor 4,: ser< o primeiro nYmero do resultado/
Por $%emplo:
-,8-. \ [ ,
9uocien%e :es%o
-,8 9 , \ 82 .
82 9 , \ 2- -
2- 9 , \ -1 -
-1 9 , \ B -
B 9 , \ 2 -
2 9 , \ - -
- 9 , \ -
Escrea
nesta
direo
Ento; escreendo os restos de $ai6o para cima; o$temos o nYmero $in<rio ------.9"
Para conerter um nYmero $in<rio para decimal; multiplicar o dMgito $in<rio por V, eleado a
posio deste nYmero $in<rioW/ Adicionar todos os produtos para o$ter o nYmero decimal
resultante/
Por $%emplo:
111111.2 / 0 1.
Posio ' # ! 3 2 1 .
DMgitos
Bin<rios
1 1 1 1 1 1 D
. 6 ,
.
\ .
- 6 ,
-
\ ,
- 6 ,
,
\ 0
- 6 ,
2
\ 7
- 6 ,
0
\ -8
- 6 ,
1
\ 2,
- 6 ,
8
\ 80
T%TA@( -,8
B"!"9" ecimal #ara Octal =ou (exadecimal>@Octal =ou (exadecimal> para ecimal
Conerter nYmeros decimais para octal ou #e6adecimal G $asicamente o mesmo Eue conerter
decimal para $in<rio/ Entretanto; ao inGs de utiliCar o , como diisor; su$stituMRlo por 7 4para
octal: ou -8 4para #e6adecimal:/
Por E6emplo 4%ctal:(
-,8-. \ [ 7
9uocien%e :es%o
-,8 9 7 \ -1 8
-1 9 7 \ - B
- 9 7 \ -
Escrea
nesta
direo
Ento; escreendo os restos de $ai6o para cima; o$temos o nYmero octal -B8E"
Por E6emplo 4"e6adecimal:(
-,8-. \ [ -8
Introduo Programao I -1
JEDI
TM
9uocien%e :es%o
-,8 9 -8 \ B
-0 4igual ao dMgito
#e6adecimal E:
B 9 -8 \ B
Escrea
nesta
direo
Ento; escreendo os restos de $ai6o para cima; o$temos o nYmero #e6adecimal BE1B
Conerter nYmeros octais ou #e6adecimais G um processo semel#ante a conerter nYmeros de
$in<rios para decimal/ Para )aCer isto; su$stituMmos o nYmero , pelo 7 para octal ou pelo -8 para
#e6adecimal/
Por E6emplo 4%ctal:(
11'2 / 0 1.
Posio 2 1 .
DMgitos %ctais 1 F B
8 6 7
.
\ 8
B 6 7
-
\ 18
- 6 7
,
\ 80
T%TA@( -,8
Por $%emplo 3+e%adecimal4:
1$1' / 0 1.
Posio 1 .
DMgitos
"e6adecimais
F E
-0 6 -8
.
\ -0
B 6 -8
-
\ --,
T%TA@( -,8
B"!":" Bin;rio para Octal @ Octal para Bin;rio
Para coneter nYmeros $in<rios para octal; partimos o nYmero $in<rio em grupos de 2 dMgitos 4da
direita para esEuerda:; e o preenc#emos com Ceros se o nYmero de dMgitos no )or diisMel por 2/
Ento; conertemos cada partio em seu correspondete dMgito octal/ A ta$ela a$ai6o mostra a
representao $in<ria de cada dMgito octal/
D4*i%o 'c%al :epresen%ao
7in"ria
. ...
- ..-
, .-.
2 .--
0 -..
1 -.-
8 --.
B ---
Tabela #: Dgitos 5ctais e sua representao binria correspondente
Por E6emplo(
Introduo Programao I -8
JEDI
TM
111111.2 / 0 2
; ; 1 1 1 1 1 1 ;
1 F B
AYmero octal eEuialente
Conerter nYmeros octais para $in<rio G o oposto do Eue )oi e6plicado acima/ &implesmente
conerta cada dMgito octal na sua representao $in<ria 4con)orme a ta$ela: e concateneRos/ %
resultado G a representao $in<ria/
B"!"?" Bin;rio para (exadecimal @ (exadecimal para Bin;rio
Para conerter nYmeros $in<rios para #e6adecimal; partimos o nYmero $in<rio em grupos de 0
dMgitos 4da direita para a esEuerda:; e o preenc#emos com Cero se o nYmero de dMgitos no )or
diisMel por 0/ Ento conertemos cada partio em seu dMgito #e6adecimal correspondente/ A
ta$ela a$ai6o mostra a representao $in<ria de cada dMgito #e6adecimal/
D4*i%o
Hexadecimal
:epresen%ao
7in"ria
. ....
- ...-
, ..-.
2 ..--
0 .-..
1 .-.-
8 .--.
B .---
7 -...
= -..-
A -.-.
B -.--
C --..
D --.-
E ---.
F ----
Tabela ': Dgitos +e%adecimais e sua representao binria correspondente
Por E6emplo(
111111.2 / 0 1'
; 1 1 1 1 1 1 ;
F E
AYmero #e6adecimal eEuialente
Introduo Programao I -B
JEDI
TM
Conerter nYmeros #e6adecimais para $in<rio G o oposto do Eue )oi e6plicado acima/
&implesmente conerta cada dMgito #e6adecimal na sua representao $in<ria 4con)orme a
ta$ela: e concateneRos/ % resultado G a representao $in<ria/
Introduo Programao I -7
JEDI
TM
F" Exerccios
<.1. 1scre3endo Al*ori%mos
Dado o seguinte conKunto de tare)as; crie um algoritmo para realiCar cada uma das tare)as
a$ai6o/ Escrea os algoritmos usando pseudocQdigo ou )lu6ogramas/
-/ Assar po
,/ Acessar o computador
2/ %$ter a mGdia de trOs nYmeros
<.#. Con3erso de 5=meros
Conerta os nYmeros a$ai6o(
-/ -=7.-. para $in<rio; #e6adecimal e octal
,/ -..-..--.-, para decimal; #e6adecimal e octal
2/ B87 para $in<rio; #e6adecimal e decimal
0/ 02F-8 para $in<rio; decimal e octal
Introduo Programao I -=
JEDI
TM
#arceiros que tornaram 4EI
AM
poss+el
>ns%i%u%o C?!
Patrocinador do DFJFH/
!un Micros@s%ems
Fornecimento de seridor de dados para o armaCenamento dos MdeoRaulas/
Ja3a :esearcA and De3elopmen% Cen%er da Uni3ersidade das Filipinas
Criador da Iniciatia JEDI
TM
/
DFJUG
Detentor dos direitos do JEDI
TM
nos paMses de lMngua portuguesa/
7anco do 7rasil
Disponi$iliCao de seus telecentros para a$rigar e di)undir a Iniciatia JEDI
TM
/
oli%ec
&uporte e apoio )inanceiro e logMstico a todo o processo/
7orland
Apoio internacional para Eue possamos alcanar os outros paMses de lMngua
portuguesa/
>ns%i%u%o GaudiumBC577
Fornecimento da sua in)raRestrutura de #ard'are de seus seridores para Eue os
mil#ares de alunos possam acessar o material do curso simultaneamente/
Introduo Programao I ,.

Você também pode gostar