Você está na página 1de 21

COMANDO DA AERONUTICA

ACADEMIA DA FORA AREA


INTRODUO
LGICA DE PROGRAMAO
CLUBE DE GUERRA ELETRNICA
Prof. Dr. Guilherme Augusto Spiegel Gualazzi
2013
Copyright 1998 de Cndido J. R. Egypto
Nenhuma parte deste material pode ser reproduzida ou
transmitida de qualquer modo ou por qualquer meio, sem
pr!ia autoriza"#o do autor e sem lhe ser dado o de!ido
$rdito.
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
Captulo 1
ALGORITMOS
1.1. CONCEITO
) pala!ra algoritmo, , primeira !ista, pare$e3nos estranha. Em%ora possua designa"#o des$onhe$ida, 0azemos
uso $onstantemente de algoritmos em nosso $otidiano4 a maneira $omo uma pessoa toma %anho um algoritmo.
5utros algoritmos 0req6entemente en$ontrados s#o4
instru"7es para se utilizar um aparelho eletrodomsti$o8
uma re$eita para preparo de algum prato8
guia de preen$himento para de$lara"#o do imposto de renda8
a regra para determina"#o de m9:imos e m;nimos de 0un"7es por deri!adas su$essi!as8
a maneira $omo as $ontas de 9gua, luz e tele0one s#o $al$uladas mensalmente8 et$.
2#o !9rios os $on$eitos para algoritmo. Es$olhemos alguns para serem apresentados aqui4
Um conjunto finito de regras que prov uma seqncia de operaes para resolver um tipo de
problema especfico
<=N>?@A
Seqncia ordenada, e no ambgua, de passos que levam ! soluo de um dado problema
<?REBC-)DA
"rocesso de c#lculo, ou de resoluo de um grupo de problemas semel$antes, em que se
estipulam, com generalidade e sem restries, as regras formais para a obteno do resultado
ou da soluo do problema
<)>RE-+5A
1.2. POR QUE PRECISAMOS DE ALGORITMOS ?
FeGamos o que algumas pessoas importantes, para a CiHn$ia da Computa"#o, disseram a respeito de algoritmo4
% noo de algoritmo & b#sica para toda a programao de computadores'
<=N>?@ 3 /ro0essor da >ni!ersidade de 2tan0ord, autor da $ole"#o I?he art o0 $omputer
programmingJA
( conceito central da programao e da cincia da computao & o conceito de algoritmo'
<K+R?@ 3 /ro0essor da >ni!ersidade de Lurique, autor de di!ersos li!ros na 9rea e respons9!el
pela $ria"#o de linguagens de programa"#o $omo )-&5-, /)2C)- e B51>-)3MA
) importn$ia do algoritmo est9 no 0ato de termos que espe$i0i$ar uma seq6Hn$ia de passos l.gi$os para que o
$omputador possa e:e$utar uma tare0a qualquer, pois o mesmo por si s. n#o tem !ontade pr.pria, 0az apenas o
que mandamos. Com uma 0erramenta algor;tmi$a, podemos $on$e%er uma solu"#o para um dado pro%lema,
independendo de uma linguagem espe$;0i$a e at mesmo do pr.prio $omputador.
1.3. CARACTERSTICAS
?odo algoritmo de!e apresentar algumas $ara$ter;sti$as %9si$as4
ter 0im8
n#o dar margem , dupla interpreta"#o Nn#o am%;guoO8
$apa$idade de re$e%er dadoNsO de entrada do mundo e:terior8
poder gerar in0orma"7es de sa;da para o mundo e:terno ao do am%iente do algoritmo8
ser e0eti!o Ntodas as etapas espe$i0i$adas no algoritmo de!em ser al$an"9!eis em um tempo 0initoO.
4
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
1.4. ORMAS DE REPRESENTA!"O
)lgoritmos podem ser representados, dentre outras maneiras, por4
1.4.1. DESCRI!"O NARRATI#A
*az3se uso do portuguHs para des$re!er algoritmos.
EPEB/-54 Re$eita de Colo4
/ro!iden$ie manteiga, o!os, M =g de massa, et$.
Bisture os ingredientes
1espeGe a mistura na 0'rma de %olo
-e!e a 0'rma ao 0orno
Espere MQ minutos
Retire a 0'rma do 0orno
1ei:e es0riar
/ro!e
F)N?)&EN24
o portuguHs %astante $onhe$ido por n.s8
1E2F)N?)&EN24
impre$is#o8
pou$a $on0ia%ilidade Na impre$is#o a$arreta a des$on0ian"aO8
e:tens#o Nnormalmente, es$re!e3se muito para dizer pou$a $oisaO.
1.4.2. LU$OGRAMA
>tiliza"#o de s;m%olos gr90i$os para representar algoritmos. No 0lu:ograma e:istem s;m%olos padronizados para
in;$io, entrada de dados, $9l$ulos, sa;da de dados, 0im, et$.
C9l$ulo 1e$is#o Entrada 2a;da +n;$ioR*im
EPEB/-5 EP/-+C)ST5
+n;$io
-eia N>B
15CR5 U3 N>B V M
Es$re!a 15CR5

*im
+n;$io do algoritmo
Entrada do nWmero
C9l$ulo do do%ro do nWmero
)presenta"#o do resultado
*im do algoritmo
F)N?)&EN24
>ma das 0erramentas mais $onhe$idas8
*iguras dizem muito mais que pala!ras8
/adr#o mundial
1E2F)N?)&EN24
*az $om que a solu"#o do pro%lema G9 esteGa amarrada a dispositi!os 0;si$os8
/ou$a aten"#o aos dados, n#o o0ere$endo re$ursos para des$re!H3los ou represent93los8
5
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
Compli$a3se , medida que o algoritmo $res$e.
1.4.3. LINGUAGEM ALGORTMICA
Consiste na de0ini"#o de uma pseudolinguagem de programa"#o, $uGos $omandos s#o em portuguHs, para
representar algoritmos.
EPEB/-54 Algoritmo CALCULA_DOBRO
incio
Leia NUM
DOBRO 2 * NUM
Escreva DOBRO
fim
F)N?)&EN24
+ndependHn$ia 0;si$a da solu"#o Nsolu"#o l.gi$a apenasO8
>sa o portuguHs $omo %ase8
/ode3se de0inir quais e $omo os dados !#o estar estruturados8
/assagem quase imediata do algoritmo para uma linguagem de programa"#o qualquer.
1E2F)N?)&EN24
E:ige a de0ini"#o de uma linguagem n#o real para tra%alho8
N#o padronizado.
1.%. UM AM&IENTE PARA ESCRE#ER ALGORITMOS
1es$re!eremos uma m9quina hipotti$a para a qual es$re!eremos nossos algoritmos. 5 nosso $omputador
hipotti$o apresentar9 a seguinte organiza"#o4

Con!en"#o4 traGeto de dados
traGeto de sinais de $ontrole
Cada uma das partes $onstituintes da 0igura a$ima tem os seguintes signi0i$ados4
N1O 1ispositi!o de entrada No te$ladoO4
E o meio pelo qual os dados que ser#o tra%alhados pelo algoritmo !#o ser introduzidos em nosso $omputador
hipotti$o8
NMO >nidade -.gi$a e )ritmti$a N>-)O4
/arte respons9!el pelas opera"7es matem9ti$as e a!alia"7es l.gi$as8
NXO >nidade de Controle4
E:er$e $ontrole so%re as demais partes do nosso $omputador. E uma !erdadeira gerente que distri%ui tare0as
,s outras unidades8
NYO Bem.ria4
&uarda o algoritmo a ser e:e$utado e os dados a serem utilizados pelo mesmo. ?odo dado 0orne$ido ao
$omputador e o resultado de suas opera"7es 0i$am guardados na mem.ria8
NZO 1ispositi!o de 2a;da N!;deo e impressoraO4
Unidade Central de Processamento
(1)
Dispositivo
de Entrada
(3)
Unidade de Controle
(2)
Unidade Lgica
e Aritmtica
(4)
!emria Principal
(5)
Dispositivo
de "a#da
$
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
E o meio que se disp7e para apresenta"#o dos resultados o%tidos.
1.%.1. UNCIONAMENTO DO NOSSO COMPUTADOR
?odos os $omputadores, independentemente dos seus tamanhos, s#o $on$eitualmente semelhantes ao esquema
da 0igura anterior Nh9 algumas di0eren"as, mas n#o trataremos aqui dos $asos espe$iaisO.
Resumidamente, podemos a0irmar que e:istem Y NquatroO opera"7es %9si$as que qualquer $omputador pode
e:e$utar4
aO op'(a)*'+ ,' '-t(a,a ' +a,a. ler dados do te$lado e es$re!er dados na tela s#o e:emplos destas
opera"7es. Elas ser!em para introduzir dados na mem.ria do nosso $omputador e e:i%ir dados que G9 esteGam
l9 armazenados8
%O op'(a)*'+ a(/t01t/2a+. s#o utilizadas na realiza"#o de opera"7es matem9ti$as Nadi"#o, su%tra"#o,
multipli$a"#o e di!is#oO8
$O op'(a)*'+ l34/2a+ ' ('la2/o-a/+. tHm apli$a%ilidade em $ompara"7es, testes de $ondi"7es l.gi$as NM [ \ ]
P ^ D ]O8
dO 0o5/0'-ta)6o ,' ,a,o+ '-t(' o+ 57(/o+ 2o0po-'-t'+. as opera"7es aritmti$as s#o e:e$utadas na
>nidade -.gi$a e )ritmti$a, ne$essitando da trans0erHn$ia dos dados para essa unidade e da !olta do
resultado 0inal para ser guardado na mem.ria.
1.%.2. RESOL#ENDO UM PRO&LEMA
2uponha que queiramos resol!er o seguinte pro%lema4 a partir de dois nWmeros que ser#o in0ormados, $al$ular a
adi"#o dos mesmos. 2e !o$H 0osse en$arregado de e0etuar essa tare0a, seria %em pro!9!el que utilizasse os
passos a seguir4
aO sa%er quais s#o os nWmeros8
%O $al$ular a soma dos nWmeros8
$O responder , quest#o $om o !alor do resultado.
FeGamos $omo seria resol!ido esse mesmo pro%lema em termos das opera"7es %9si$as $itadas anteriormente4
aO opera"#o de entrada de dados dos nWmeros 8
%1O mo!imento do !alor dos nWmeros entre a mem.ria e a >-)8
%MO opera"#o aritmti$a de somar os M nWmeros8
%XO mo!imenta"#o do resultado da >-) para guardar na mem.ria8
$O opera"#o de sa;da do resultado, que est9 guardado na mem.ria, para o dispositi!o de sa;da
deseGado.
1e!e3se salientar que os passos %1 e %X, normalmente, 0i$am em%utidos na opera"#o matem9ti$a, n#o sendo
e:pli$itados.
Em resumo, pode3se dizer que es$re!er algoritmos ou, em Wltima an9lise, programar, $onsiste em di!idir qualquer
pro%lema em muitos pequenos pa++o+, usando uma ou mais das quatro opera"7es %9si$as $itadas.
Esses passos que $omp7em o algoritmo s#o denominados de 2o0a-,o+. 5s $omandos de uma linguagem de
programa"#o podem estar mais pr.:imos da m9quina Nlinguagens de %ai:o n;!elO ou serem mais 0a$ilmente
entendidos pelo homem Nlinguagens de alto n;!elO. ) seq6Hn$ia de opera"7es %9si$as, dada anteriormente, para
resol!er o pro%lema de adi$ionar dois nWmeros, est9 em uma linguagem de %ai:o n;!el para o nosso $omputador
hipotti$o. Em uma linguagem de alto n;!el ter;amos um resultado assim4
Leia X!
"OMA X # !
Escreva "OMA
%
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
1.8. ESTRUTURAS C9A#ES DA CONSTRU!"O DE ALGORITMOS
E:istem X estruturas %9si$as de $ontrole nas quais se %aseiam os algoritmos4 sequen$ia"#o, de$is#o e repeti"#o.
1etalharemos $ada uma delas4
1.8.1. SEQUENCIA!"O
5s $omandos do algoritmo 0azem parte de uma seq6Hn$ia, onde rele!ante a ordem na qual se en$ontram os
mesmos, pois ser#o e:e$utados um de $ada !ez, estritamente, de a$ordo $om essa ordem. 1e uma 0orma
genri$a, poder;amos e:pressar uma seq6Hn$ia da seguinte maneira4
Comando31
Comando3M
Comando3X
4
Comando3n
?em3se uma sequen$ia"#o de - $omandos na qual os $omandos ser#o e:e$utados na ordem em que apare$em,
isto , o $omando de ordem i_1 s. ser9 e:e$utado ap.s a e:e$u"#o do de ordem i No X
o
s. ser9 e:e$utado ap.s o
M
o
O.
?odo algoritmo uma seq6Hn$ia. ) sequen$ia"#o apli$ada quando a solu"#o do pro%lema pode ser de$omposta
em passos indi!iduais.
1.8.2. DECIS"O OU SELE!"O
Essa estrutura tam%m $onhe$ida por estrutura $ondi$ional. @9 a su%ordina"#o da e:e$u"#o de um ou mais
$omandos , !era$idade de uma $ondi"#o. FeGamos o 0un$ionamento4
2e U$ondi"#o[ Ent#o
U$omando31[
2en#o
U$omando3M[
2e a U$ondi"#o[ 0or !erdadeira ser9 e:e$utado o U$omando31[ e, em $aso $ontr9rio, teremos a e:e$u"#o de
U$omando3M[.
) de$is#o de!e ser sempre usada quando h9 a ne$essidade de testar alguma $ondi"#o e em 0un"#o da mesma
tomar uma atitude. Em nosso dia3a3dia, estamos sempre tomando de$is7es, !eGamos um e:emplo4
2e ti!er dinheiro su0i$iente, '-t6o !ou almo"ar em um %om restaurante.
Caso $ontr9rio N+'-6oO, !ou $omer um sandu;$he na lan$honete da esquina.
1.8.3. REPETI!"O OU ITERA!"O
Essa estrutura tam%m $onhe$ida por IloopingJ ou la"o. ) repeti"#o permite que tare0as indi!iduais seGam
repetidas um nWmero determinado de !ezes ou tantas !ezes quantas uma $ondi"#o l.gi$a permita. FeGamos
alguns e:emplos4
aO !ou atirar pedras na !idra"a at que%r93la8
%O %aterei $in$o pHnaltis8
$O enquanto ti!er saWde e dinheiro, !ou des0rutar a !ida.
No e:emplo NaO, !ai3se repetir a a"#o de atirar pedras na Ganela at que seGa satis0eita a $ondi"#o de que%rar a
Ganela.
No e:emplo N%O, ha!er9 a repeti"#o da atitude de %ater um pHnalti um nWmero determinado de !ezes N$in$oO.
No e:emplo N$O, a $ondi"#o que me permitir9 $ontinuar des0rutando a !ida ter dinheiro e saWde.
) utiliza"#o $om%inada dessas X estruturas des$ritas !ai permitir e:pressar, usando qualquer que seGa a
0erramenta, a solu"#o para uma gama muito grande de pro%lemas. ?odas as linguagens de programa"#o
o0ere$em representantes dessas estruturas.
&
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
1.:. REINAMENTOS SUCESSI#OS
>m algoritmo $onsiderado $ompleto se os seus $omandos 0orem do entendimento do seu destinat9rio.
Num algoritmos, um $omando que n#o 0or do entendimento do destinat9rio ter9 que ser desdo%rado em no!os
$omandos, que $onstituir#o um (';/-a0'-to do $omando ini$ial, e assim su$essi!amente, at que os $omandos
seGam entendidos pelo destinat9rio.
/or e:emplo, o algoritmo para $al$ular a mdia aritmti$a de dois nWmeros pode ser es$rito da seguinte 0orma4
)lgoritmo C)-C>-)`BE1+)
+n;$io
Re$e%a os dois nWmeros
Cal$ule a mdia dos dois nWmeros
E:i%a o resultado
*im
/odemos desdo%rar o $omando ICal$ule a mdia dos dois nWmerosJ em4
2oma os dois nWmeros
1i!ida o resultado por M
)p.s esse re0inamento, o algoritmo pode ser $onsiderado $ompleto, a menos que o destinat9rio n#o sai%a 0azer as
opera"7es de adi"#o e di!is#o, ou n#o seGa $apaz de entender diretamente algum $omando.
5 algoritmo estando $ompleto, podemos rees$re!H3lo, inserindo o re0inamento na posi"#o do $omando que 0oi
re0inado. )ssim sendo, o%tm3se4
)lgoritmo C)-C>-)`BE1+)
+n;$io
Re$e%a os dois nWmeros
2oma os dois nWmeros
1i!ida o resultado por M
E:i%a o resultado
*im
Rees$re!er um algoritmo $ompleto, $om os re0inamentos su$essi!os inseridos nos seus de!idos lugares, permite
ter uma !is#o glo%al de $omo o algoritmo de!e ser e:e$utado.
a medida que o algoritmo passa a ser maior e mais $omple:o, esta !is#o glo%al torna3se menos $lara e, neste
$aso, um algoritmo apresentado $om os re0inamentos su$essi!os separados o0ere$e uma melhor a%ordagem para
quem pre$isar entendH3lo.
'
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
E$ERCCIOS PROPOSTOS
/1.Q1. 1e0ina, $om suas pala!ras, o que algoritmo.
/1.QM. Cite alguns algoritmos que podemos en$ontrar na !ida quotidiana.
/1.QX. 1e a$ordo $om seu entendimento, qual a $ara$ter;sti$a mais importante em um algoritmo] Justi0ique a
sua resposta.
/1.QY. >m algoritmo n#o pode $onter um $omando $omo IEs$re!a todos os nWmeros inteiros positi!osJ. /or quH]
/1.QZ. 2uponha que temos um ro%' a nossa disposi"#o. Esse ro%' $hama3se B)NND e pre$isa ser ensinado a
0azer determinadas tare0as. /ara ensinar o B)NND, !amos 0azer uso do portuguHs para passar3lhe as
instru"7es ne$ess9rias , e:e$u"#o de $ada ati!idade. Es$re!a os passos ne$ess9rios para o nosso ro%'
e:e$utar4
aO en$her uma %a$ia $om 9gua8
%O tro$ar uma lmpada no teto de sua $asa8
$O tro$ar o pneu de um $arro8
dO $al$ular a sua idade daqui a MQ anos8
eO $al$ular a mdia de um aluno $om X notas.
/1.Q\. Cite as 0ormas %9si$as para se representar algoritmos, de0inindo3as.
/1.Qb. Em sua opini#o, qual a melhor 0orma de se representar algoritmos] Justi0ique sua resposta.
/1.Q8. 1es$re!a, $om suas pr.prias pala!ras, o 0un$ionamento do nosso $omputador hipotti$o.
/1.Q9. Espe$i0ique solu"7es, em termos das opera"7es %9si$as do nosso $omputador, para os itens NdO e NeO do
e:er$;$io /1.QZ.
/1.1Q. cuais as estruturas %9si$as de $ontrole dos algoritmos] E:plique $ada uma delas.
/1.11. +denti0ique nas respostas do e:er$;$io /1.QZ a utiliza"#o das estruturas %9si$as de $ontrole de 0lu:o.
/1.1M. Es$re!a o algoritmo solu"#o para o pro%lema de multipli$ar dois nWmeros Na solu"#o de!e ser e:pressa
em alto n;!elO.
/1.1X. Resol!a o /1.Q9 em termos de uma linguagem de alto n;!el.
/1.1Y. Em que $onsiste a t$ni$a de dre0inamentos su$essi!osd ]
/1.1Z. E $omum ou!irmos programadores e:perimentados a0irmarem4
algoritmos ''' aprendi e nunca usei na pr#tica ''' no vejo necessidade''')'
1is$uta esse tipo de a0irmati!a.
1(
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
Captulo 2
LINGUAGEM ALGORTMICA
/ara uma melhor padroniza"#o de nossos estudos, !amos agora de0inir uma linguagem para a $onstru"#o de
nossos algoritmos. )ntes de $ome"armos a de0inir as opera"7es %9si$as de nossa linguagem algor;tmi$a,
importante que $onhe"amos o $on$eito de vari#vel.
2.1. CONCEITO DE #ARI<#EL
2a%e3se da Batem9ti$a que uma !ari9!el a representa"#o sim%.li$a dos elementos de um $erto $onGunto.
Nos algoritmos destinados a resol!er um pro%lema no $omputador, a cada varivel corresponde uma posio
de memria, cujo contedo pode variar ao longo do tempo durante a execuo de um algoritmo. Em%ora a
!ari9!el possa assumir di0erentes !alores, ela s. pode armazenar um !alor a $ada instante.
?oda !ari9!el identi0i$ada por um nome ou identi0i$ador. )ssim, por e:emplo, num algoritmo para $al$ular a 9rea
de um tringulo retngulo pelo teorema de pit9goras Na
M
^ %
M
_ $
M
O, os identi0i$adores ), C e C podem representar
as posi"7es de mem.ria que armazenam o !alor da hipotenusa e dos $atetos. E importante que nun$a usemos
uma pala!ra reser!ada, isto , que 0a"a parte da linguagem algor;tmi$a, $omo um identi0i$ador, pois poder9 $ausar
am%ig6idade no entendimento do algoritmo.
Na nossa linguagem algor;tmi$a, !amos admitir que nossas !ari9!eis poder#o armazenar !alores numri$os ou
al0anumri$os NstringsO.
)gora que sa%emos o que uma !ari9!el, !amos ,s de0ini"7es das opera"7es %9si$as de nossa linguagem
algor;tmi$a.
2.2. OPERA!"O DE ATRI&UI!"O
) opera"#o de atri%ui"#o permite que se 0orne"a um !alor a uma $erta !ari9!el. 2e 0or atri%u;do uma e:press#o ,
!ari9!el, ser9 armazenado o resultado daquela e:press#o. 2e 0or atri%u;do uma outra !ari9!el, ser9 armazenado o
$onteWdo daquela !ari9!el. /ara a opera"#o de atri%ui"#o, utilizaremos a seguinte sinta:e4
!ari9!el e:press#o
E:emplos4
) M N5BE eJo#oe ) C _ C
C ) 2EN@) ePXD9e N5?) N5?) 3 1
N5?) 1Q C 1 R X P M.Z
2.3. OPERA!=ES DE ENTRADA E SADA
5s $9l$ulos do $omputador s#o de pou$o !alor a n#o ser que, primeiro, possamos 0orne$er os dados so%re os
quais estes $9l$ulos ser#o e0etuados e, segundo, !er os resultados destes $9l$ulos.
1e0inimos aqui dois no!os $omandos da nossa linguagem algor;tmi$a para manusear entrada e sa;da. 5 $omando
leia nos permite ler !alores dados atri%uindo3os , !ari9!eis indi$adas8 o $omando escreva nos permite mostrar os
resultados. ) entrada pode !ir do te$lado ou de qualquer outro dispositi!o de entrada. ) sa;da pode apare$er na
tela do monitor de !;deo ou ser impressa em papel. N#o nos preo$uparemos $om detalhes destes dispositi!os. )
sinta:e destes $omandos s#o4
l'/a !ari9!el31, !ari9!el3M, ..., !ari9!el3n
'+2('5a e:press#o31, e:press#o3M, ..., e:press#o3n
E:emplos4
leia N5?) es$re!a 1Z
leia ),C,C es$re!a N5?)_M
leia N5BE es$re!a ),C
11
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
E$ERCCIOS PROPOSTOS
/M.Q1. 1H o $on$eito de !ari9!el.
/M.QM. E:empli0ique o uso da opera"#o de )tri%ui"#o.
/M.QX. cual a 0inalidade de uma opera"#o de entrada ] 1H e:emplos.
/M.QY. cual a 0inalidade de uma opera"#o de sa;da] 1H e:emplos.
/M.QZ. Es$re!a os $omandos ne$ess9rios para4
aO ler o nome de uma pessoa
%O ler as X notas de um aluno
$O ler o peso e altura de uma pessoa
2.4. ESTRUTURA SEQ>ENCIAL
Num algoritmo, os $omandos de!er#o ser e:e$utados numa seq6Hn$ia linear, seguindo3se o te:to em que est#o
es$ritos, de $ima para %ai:o, se n#o hou!er indi$a"#o em $ontr9rio.
Nesta apostila, os algoritmos s#o ini$iados $om a pala!ra incio e 0inalizados $om a pala!ra fim.
-inguagem )lgor;tmi$a4 *lu:ograma4
/-/2/o
$omando31
$omando3M
. . .
$omando3n
;/0
E:emplo4
in;$io
leia ),C
25B) ) _ C
es$re!a 25B)
0im
E$ERCCIOS PROPOSTOS
/M.Q\. Em que $onsiste a estrutura seq6en$ial]
/M.Qb. 1etermine os !alore 0inais de ), C e C ap.s a e:e$u"#o do tre$ho do algoritmo a%ai:o4
) Q ) C C
C 1
C ) _ C
) ) _ 1
C ) _ C _ C
/M.Q8. ) ordem das atri%ui"7es importante] )C e C) tem o mesmo e0eito de C) e )C]
/M.Q9. Em quais dos seguintes pares importante a ordem dos $omandos ]
aO P D %O P D $O P L dO L D
D P L P P D P D
)*)C)+
,)!
Comando31
Comando3M
Comando3n
12
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
/M.1Q. Es$re!a um algoritmo que leia duas !ari9!eis inteiras e troque o $onteWdo entre elas.
/M.11. Es$re!a um algoritmo que leia um nWmero inteiro positi!o e e:i%a o do%ro do mesmo.
/M.1M. Es$re!a um algoritmo para $al$ular e e:i%ir a mdia ponderada de M notas dadas.
Nnota1^ peso \ e notaM^ peso YO
/M.1X. Es$re!a um algoritmo para $al$ular e e:i%ir o $omprimento de uma $ir$un0erHn$ia, sendo dada o !alor de
seu raio.
/M.1Y. Es$re!a um algoritmo para ler uma temperatura dada na es$ala *ahrenheit e e:i%ir o equi!alente em
Celsius.
/M.1Z. Es$re!a um algoritmo para $al$ular a 9rea de um tringulo, sendo dados a sua %ase e a sua altura.
2.%. ESTRUTURA CONDICIONAL
) estrutura $ondi$ional permite a es$olha do grupo de a"7es e estruturas a ser e:e$utado quando determinadas
$ondi"7es Ne:press7es l.gi$asO s#o ou n#o satis0eitas.
Esta estrutura pode se apresentar de duas 0ormas.
2.%.1. ESTRUTURA CONDICIONAL SIMPLES
-inguagem )lgor;tmi$a4 *lu:ograma4
+' $ondi"#o '-t6o
$omando31
$omando3M
. . .
$omando3n
E:emplo4
. . .
se BE1+) b ent#o
2+?>)ST5 e)pro!adoe
Es$re!a 2+?>)ST5
. . .
Condi"#o
Comando31
Comando3M
Comando3n
*
F
C=
5
'
( F32)
REA=
BASEALTURA
2
C=2-.
13
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
2.%.2. ESTRUTURA CONDICIONAL COMPOSTA
-inguagem )lgor;tmi$a4 *lu:ograma4
+' $ondi"#o '-t6o
$omando3)1
$omando3)M
. . .
$omando3)n
+'-6o
$omando3C1
$omando3CM
. . .
$omando3Cn
E:emplo4
. . .
se /E25 [ 8Q ent#o
es$re!a eFo$H est9 o%esoe
es$re!a e*a"a ati!idades 0;si$ase
sen#o
es$re!a eFo$H est9 no peso $ertoe
es$re!a e/ro$ure manter sua 0ormae
. . .
E$ERCCIOS PROPOSTOS
/M.1\. cual a utilidade da estrutura $ondi$ional ]
/M.1b. cual a di0eren"a entre a estrutura $ondi$ional simples e a $omposta ]
/M.18. Es$re!a um algoritmo para ler um nWmero e determinar se ele maior, igual ou menor que zero.
/M.19. Es$re!a um algoritmo que leia dois nWmeros e e:i%a3os em ordem $res$ente.
/M.MQ. Es$re!a um algoritmo que leia dois nWmeros e e:i%a o maior deles.
/M.M1. 1eseGa3se $al$ular a $onta de $onsumo de energia eltri$a de um $onsumidor. /ara isto, es$re!a um
algoritmo que leia o $.digo do $onsumidor, o pre"o do =f e a quantidade de =f $onsumido, e e:i%a o
$.digo do $onsumidor e o total a pagar.
3 total a pagar ^ pre"o : quantidade
3 total a pagar m;nimo ^ Rg 11,MQ
/M.MM. Es$re!a um algoritmo que determine o grau de o%esidade de uma pessoa, sendo 0orne$ido o peso e a
altura da pessoa. 5 grau de o%esidade determinado pelo ;ndi$e da massa $orp.rea NBassa ^ /eso R
)lturaM O atra!s da ta%ela a%ai:o4
MASSA CORP?REA GRAU DE O&ESIDADE
U M\ Normal
M\ e U XQ 5%eso
XQ 5%eso B.r%ido
/M.MX. *a"a um algoritmo que, dado as trHs notas de um aluno, determine e e:i%a a sua mdia 0inal e o seu
$on$eito, sa%endo3se que4
3 a mdia 0inal $al$ulada pela mdia aritmti$a das X notas8
/ o $on$eito determinado de $om %ase na ta%ela a%ai:o4
M@DIA INAL CONCEITO
8,Q )
Z,Q e U 8,Q C
U Z,Q C
Condi"#o
Comando3)
1
Comando3)
M
Comando3)
n
Comando3C
1
Comando3C
M
Comando3C
n
F
*
14
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
/M.MY. 5 Cota0ogo *ute%ol Clu%e deseGa aumentar o sal9rio de seus Gogadores. 5 reaGuste de!e o%ede$er a
seguinte ta%ela4
SAL<RIO ATUAL ARBC AUMENTO
Q,QQ a 1.QQQ,QQ MQh
1.QQQ,Q1 a Z.QQQ,QQ 1Qh
a$ima de Z.QQQ,QQ Qh
Es$re!er um algoritmo que leia o nome e o sal9rio atual de um Gogador, e e:i%a o nome, o sal9rio atual e o
sal9rio reaGustado.
/M.MZ. *a"a um algoritmo para $al$ular a $onta 0inal de um h.spede de um hotel 0i$t;$io, $onsiderando que4
aO ser#o lidos o nome do h.spede, o tipo do apartamento utilizado N), C, C ou 1O, o nWmero de di9rias
utilizadas pelo h.spede e o !alor do $onsumo interno do h.spede8
%O o !alor da di9ria determinado pela seguinte ta%ela4
TIPO DO APTO. #ALOR DA DI<RIA ARBC
) 1ZQ,QQ
C 1QQ,QQ
C bZ,QQ
1 ZQ,QQ
$O o !alor total das di9rias $al$ulado pela multipli$a"#o do nWmero de di9rias utilizadas pelo !alor da
di9ria8
dO o su%total $al$ulado pela soma do !alor total das di9rias e o !alor do $onsumo interno8
eO o !alor da ta:a de ser!i"o equi!ale a 1Qh do su%total8
0O a total geral resulta da soma do su%total $om a ta:a de ser!i"o.
gO es$re!a a $onta 0inal $ontendo4 o nome do h.spede, o tipo do apartamento, o nWmero de di9rias
utilizadas, o !alor unit9rio da di9ria, o !alor total das di9rias, o !alor do $onsumo interno, o su%total, o
!alor da ta:a de ser!i"o e o total geral.
2.8. ESTRUTURA DE REPETI!"O
) estrutura de repeti"#o permite que uma seq6Hn$ia de $omandos seGa e:e$utada repetidamente at que uma
determinada $ondi"#o n#o seGa satis0eita. >tilizaremos o $omando enquanto para representar esta estrutura. 2ua
sinta:e 4
-inguagem )lgor;tmi$a4 *lu:ograma4
'-Dua-to $ondi"#o
$omando3)1
$omando3)M
. . .
$omando3)n
E:emplo4
. . .
leia 2EN@)
enquanto 2EN@) U[ e)2/ERe
es$re!a e2enha in!9lidae
es$re!a e1igite a senha no!amentee
leia 2EN@)
. . .
Condi"#o
Comando3)
1
Comando3)
M
Comando3)
n
F
*
15
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
E$ERCCIOS PROPOSTOS
/M.M\. cual a utilidade da estrutura de repeti"#o]
/M.Mb. *a"a o a$ompanhamento da e:e$u"#o do tre$ho de algoritmo a%ai:o e preen$ha a ?a%ela de Fari9!eis4
TREC9O DE ALGORITMO
TA&ELA DE #ARI<#EIS
N L N 8 Sa,a
N Q
- 1
enquanto N \
- - . N31O
N N _ 1
se - [ Q ent#o
es$re!a N
/M.M8. *a"a um algoritmo que mostre todos os nWmeros inteiros de 1 a ZQ.
/M.M9. *a"a um algoritmo que leia um nWmero N, some todos os nWmeros inteiros de 1 a N, e mostre o resultado
o%tido.
/M.XQ. *a"a um algoritmo que leia uma lista de nWmeros inteiros positi!os terminada pelo nWmero Q NzeroO. )o
0inal, o algoritmo de!e mostrar a mdia aritmti$a de todos os nWmeros lidos Ne:$luindo o zeroO.
/M.X1. *a"a um algoritmo que leia N e uma lista de N nWmeros e mostre a soma de todos os nWmeros da lista.
/M.XM. Es$re!a um algoritmo que leia um $onGunto de 1QQ nWmeros inteiros positi!os e determine o maior deles.
/M.XX. Es$re!a um algoritmo que leia um nWmero N e uma lista de N nWmeros inteiros positi!os e determine o
maior nWmero da lista.
/M.XY. Es$re!a um algoritmo que leia um $onGunto de nWmeros inteiros positi!os e determine o maior deles. )
leitura do !alor Q NzeroO indi$a o 0im dos dados N0lagO.
/M.XZ. *a"a um algoritmo que gere a seguinte srie4 1Q, MQ, XQ, YQ, ..., 99Q, 1QQQ.
/M.X\. 2endo
H=1+
1
2
+
1
3
+
1
4
+0 00+
1
N
, 0a"a um algoritmo pR $al$ular @. 5 nWmero N lido.
/M.Xb. *a"a um algoritmo que leia um nWmero N, $al$ule e mostre os N primeiros termos da seq6Hn$ia de
*i%ona$$i NQ, 1, 1, M, X, Z, 8, 1X, ...O. 5 !alor lido para N sempre ser9 maior ou igual a M.
/M.X8. Es$re!a um algoritmo que $al$ule o 0atorial de um nWmero inteiro lido, sa%endo3se que4
N i ^ 1 : M : X : ... : N31 : N
Q i ^ 1
/M.X9. 5 Cota0ogo *ute%ol Clu%e deseGa aumentar o sal9rio de seus MM Gogadores. 5 reaGuste de!e o%ede$er a
seguinte ta%ela4
SAL<RIO ATUAL ARBC AUMENTO
Q,QQ a 1.QQQ,QQ MQh
1.QQQ,Q1 a Z.QQQ,QQ 1Qh
a$ima de Z.QQQ,QQ Qh
Es$re!er um algoritmo que4
leia o nome e o sal9rio atual de $ada Gogador8
e:i%a o nome, o sal9rio atual e o sal9rio reaGustado de $ada Gogador8
e:i%a o total da 0olha de sal9rios do $lu%e, antes do reaGuste.
e:i%a o total da 0olha de sal9rios do $lu%e, ap.s o reaGuste.
e:i%a o per$entual de reaGuste so%re o total da 0olha de sal9rios.
1$
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
/M.YQ. 5 $ard9pio de uma $asa de lan$hes, espe$ializada em sandu;$hes, dado a%ai:o. Es$re!a um algoritmo
que leia o $.digo e a quantidade de $ada item $omprado por um 0reguHs, $al$ule e e:i%a o total a pagar.
5%s4 ) leitura do $.digo ePe indi$a o 0im dos itens.
C?DIGO PRODUTO PRE!O ARBC
@ @am%urger 1,ZQ
C Cheese%urger 1,8Q
B Bisto cuente 1,MQ
) )meri$ano M,QQ
c cueiGo /rato 1,QQ
/M.Y1. Num 0rigor;0i$o e:istem 9Q %ois. Cada %oi traz preso em seu pes$o"o um $art#o $ontendo seu nWmero de
identi0i$a"#o e seu peso. *a"a um algoritmo que es$re!a o nWmero e o peso do %oi mais gordo e do %oi
mais magro Nsupondo que n#o haGa empatesO.
/M.YM. *a"a um algoritmo que leia a altura de um grupo de MQ pessoas, $al$ule e e:i%a4
a maior altura do grupo8
a altura mdia8
o nWmero de pessoas $om altura superior a M metros.
/M.YX. *a"a um algoritmo que, para um nWmero indeterminado de pessoas4
leia a idade de $ada pessoa, sendo que a leitura da idade Q NzeroO indi$a o 0im dos dados N0lagO e n#o
de!e ser $onsiderada8
$al$ule e es$re!a o nWmero de pessoas8
$al$ule e es$re!a a idade mdia do grupo8
$al$ule e es$re!a a menor idade e a maior idade.
/M.YY. *a"a um algoritmo que leia uma lista de letras terminada pela letra L. )o 0inal, o algoritmo de!e mostrar a
quantidade lida de $ada !ogal.
/M.YZ. >ma $erta 0irma 0ez uma pesquisa de mer$ado para sa%er se as pessoas gostaram ou n#o de um no!o
produto lan"ado no mer$ado. /ara isto, 0orne$eu o se:o do entre!istado NB3mas$ulino ou *30emininoO e
sua resposta N23sim ou N3n#oO. 2a%endo3se que 0oram estre!istadas M.QQQ pessoas, 0azer um algoritmo
que $al$ule e es$re!a4
nWmero de pessoas que responderam sim N2O8
nWmero de pessoas que responderam n#o NNO8
a por$entagem de pessoas do se:o 0eminino N*O8
a por$entagem de pessoas do se:o mas$ulino NBO8
a por$entagem de pessoas do se:o 0eminino N*O que responderam sim N2O8
a por$entagem de pessoas do se:o mas$ulino NBO que responderam n#o NNO.
/M.Y\. *oi 0eita um pesquisa de audiHn$ia de $anal de ?F em !9rias $asas de um $erta $idade, num determinado
dia. /ara $ada $asa !isitada, 0orne$ido o nWmero do $anal NZ, b, 1Q ou 1MO e o nWmero de pessoas que o
esta!am assistindo naquela $asa. *azer um algoritmo que4
leia um nWmero indeterminado de dados, sendo que o 0lag $orresponde ao nWmero de $anal igual a Q8
$al$ule e es$re!a a por$entagem de audiHn$ia de $ada emissora.
/M.Yb. Es$re!a um algoritmo que leia o nWmero de andares de um prdio e, a seguir, para $ada andar do prdio,
leia o nWmero de pessoas que entraram e sa;ram do ele!ador.
Considere que o ele!ador est9 !azio e est9 su%indo, os dados se re0erem a apenas uma su%ida do
ele!ador e que o nWmero de pessoas dentro do ele!ador ser9 sempre maior ou igual a zero.
2e o nWmero de pessoas, ap.s a entrada e sa;da, 0or maior que 1Z, de!e ser mostrada a mensagem
dE:$esso de passageiros. 1e!em sair Pd, sendo P o nWmero de pessoas que de!em sair do ele!ador, de
modo que seGa o%ede$ido o limite de 1Z passageiros.
)p.s a entrada e sa;da no Wltimo andar, o algoritmo de!e mostrar quantas pessoas permane$eram no
ele!ador para des$er.
/M.Y8. *a"a um algoritmo que leia !9rios $.digos do Gogador N1 ou MO que ganhou o ponto em uma partida de
pingue3pongue, e responda quem ganha a partida. ) partida $hega ao 0inal se um dos Gogadores $hega a
M1 pontos e a di0eren"a de pontos entre os Gogadores maior ou igual a dois. Caso $ontr9rio, ganha
aquele que, $om mais de M1 pontos, $onsiga $olo$ar uma !antagem de dois pontos so%re o ad!ers9rio.
1%
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
APENDICE
GLOSS<RIO
Al4o(/t0o 3 ConGunto ordenado de passos, n#o am%;guos e $om a 0inalidade de resol!er um determinado
pro%lema8
A(Du/5o 3 ConGunto de dados que possuem uma rela"#o entre si. /or e:emplo arqui!o dos pro0essores da es$ola
P8
A((aF 3 Fari9!el $omposta homogHnea Nde um mesmo tipoO, podendo ser !etor ou matriz8
At(/Gu/)6o 3 5pera"#o pela qual se 0az $om que uma !ari9!el re$e%a um !alor $onstante ou de outra !ari9!el8
&lo2o 3 ?re$ho de um algoritmo que possui $ara$ter;sti$as $omuns8
C H -inguagem de programa"#o muito utilizada para desen!ol!imento de dso0tfared %9si$o. &eralmente
$ompilada8
Ca,'/a 3 2in'nimo para $adeia de $ara$teres, tendo por signi0i$ado $onGunto de $ara$teres8
Ca0po 3 2u%3di!is#o de um registro. >m $ampo pode $onter um nome de uma pessoa, um sal9rio et$8
Ca(a2t'( H >ma letra, um d;gito ou um s;m%olo qualquer que perten"a ao $onGunto de $ara$teres da linguagem8
Cl/pp'( 3 +ni$ialmente era apenas um $ompilador para a linguagem de programa"#o do 1%ase, tornando3se depois
a linguagem de programa"#o mais utilizada no Crasil. )penas o0ere$ida na 0orma $ompilada8
Co0a-,o 3 >m $omando uma ordem que de!e ser dada para um $omputador e:e$utar. ?oda linguagem de
programa"#o possui $omandos.
Co0'-t7(/o 3 E:pli$a"7es dadas no $orpo do algoritmo para 0a$ilitar a $ompreens#o de um tre$ho ou do algoritmo
por inteiro8
Co0p/la,o( H /rograma tradutor $uGa 0inalidade $on!erter um programa em uma linguagem de programa"#o
qualquer para uma 0orma que o $omputador possa entender. Essa tradu"#o gra!ada em dis$o, podendo ser
utilizada outras !ezes8
Co-2at'-a)6o 3 5pera"#o de Guntar dois ou mais $onGuntos de $ara$teres. /or e:emplo, a $on$atena"#o de
IC5NJ $om I+?)J 0orma a pala!ra dC5N+?)J8
Co-,/)6o L34/2a 3 Condi"#o que de!e ser a!aliada durante a e:e$u"#o do algoritmo para de$idir o que de!e ser
0eito8
Co-+ta-t' 3 Falor imut9!el dentro do algoritmo. Falores $omo /+ ^ X.1Y1\ n#o tem por que ser mudado durante a
e:e$u"#o de algoritmo que $al$ula a 9rea de um $;r$ulo8
Co-ta,o( 3 Fari9!el utilizada para $ontar alguma $oisa ou o$orrHn$ia de um 0ato. >m $ontador in$rementado ,
medida em que a grandeza a que se destina $ontar $res$e. /or e:emplo, todas ,s !ezes em que se a$erta uma
quest#o de uma pro!a, o $ontador de a$ertos aumenta de uma unidade8
DGa+' 3 &eren$iador de %an$os de dados para mi$ros que 0oi, por muito tempo, um dos mais populares do
mundo8
D'pu(a)6o 3 )to de seguir um algoritmo durante a sua e:e$u"#o para elimina"#o de erros8
E-,'-ta)6o 3 ConGunto de alinhamentos e re$uos das linhas de um algoritmo que permitem melhor !isualiza"#o e
$ompreens#o das rela"7es hier9rqui$as entre as mesmas8
E+2opo 3 Est9 asso$iado ao $on$eito de %lo$o e diz respeito ao espa"o de e:istHn$ia de uma !ari9!el dentro de
um algoritmo8
1&
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
EIp('++6o 3 2#o $onstru"7es algor;tmi$as espe$i0i$adas por regras para $al$ular !alores ou ter $omo resposta
um !alor l.gi$o. >ma e:press#o pode ser l.gi$a ou aritmti$a8
/-al/Ja)6o 3 jrea de um algoritmo onde s#o 0eitos os preparati!os para en$erramento da e:e$u"#o do mesmo8
la4 3 2igni0i$a %andeira ou estandarte em inglHs. E uma !ari9!el usada para indi$ar a o$orrHn$ia de algum e!ento
durante a e:e$u"#o do algoritmo, por e:emplo, quando 0or atingido o 0im do arqui!o de 0un$ion9rios 0a"a $om que
a !ari9!el *+B`)Rc>+F5 re$e%a !alor l.gi$o FER1)1E+R58
luIo4(a0a H Representa"#o gr90i$a de um algoritmo8
u-)6o 3 2u%algoritmo que alm de resol!er uma dada tare0a, tem por o%riga"#o mandar de !olta para quem o
$hamou um !alor que pode ser um nWmero, uma $adeia de $ara$teres ou um !alor l.gi$o8
I,'-t/;/2a,o( H Nome dado a !ari9!eis ou a partes do algoritmo para e0eito de identi0i$a"#o8
I-/2/al/Ja)6o H )titude de atri%uir a uma !ari9!el um !alor ini$ial para $ome"ar o algoritmo. /ode3se 0alar, no $orpo
de um algoritmo, em uma 9rea de ini$ializa"#o que aquela onde s#o ini$ializadas todas as !ari9!eis a serem
utilizadas8
I-t'(p('ta,o( 3 /rograma tradutor de um programa em uma linguagem de programa"#o para uma 0orma que o
$omputador possa entender. Essa tradu"#o n#o registrada sendo 0eita , medida em que o $omando !ai sendo
e:e$utado. ?em maior apli$a"#o para programadores ini$iantes8
La)o 3 2in'nimo da pala!ra inglesa -55/ Nla"ada, 0azer $ur!asO. 2igni0i$a a e:e$u"#o repetida de um $onGunto de
$omandos por um nWmero determinado de !ezes.
Mat(/J 3 )rray multidimensional N!er IarrayJO8
M'-u H 2igni0i$a $ard9pio de op"7es. E atra!s de um menu que se o0ere$em op"7es de tra%alho. E:i%e3se as
op"7es e lH3se a resposta do usu9rio para determinar o que de!e ser 0eito8
M3,ulo 3 2u%di!is#o de um Iso0tfareJ que possui denomina"#o e $orpo pr.prios8
Op'(a,o( 3 E um dos $onstituintes de uma e:press#o, podendo ser aritmti$os, l.gi$os ou rela$ionais. /or
e:emplo4 _, 3, [, N5?8
Ot/0/Ja)6o ,' C3,/4o 3 )to de rees$re!er um algoritmo da 0orma mais e0i$iente poss;!el8
Pa(K0't(o 3 Falor que entregue a uma su%rotina para guiar a a"#o da mesma8
Pa+2al 3 -inguagem de programa"#o muito utilizada nos meios a$adHmi$os, apresentado3se $omo ideal para
quem est9 aprendendo a programar8
Pa++a4'0 ,' Pa(K0't(o+ 3 Be$anismo utilizado para esta%ele$er a liga"#o entre um algoritmo e um
su%algoritmo por ele $hamado. ) passagem de parmetros permite que a solu"#o do pro%lema seGa 0eita de 0orma
genri$a8
P(o2',/0'-to 3 2u%algoritmo que !isa a realiza"#o de uma determinada tare0a8
P(o2'++a0'-to 3 ?ratamento, trans0orma"#o de dados. Em um algoritmo, a parte de pro$essamento quem
realmente realiza as tare0as ,s quais o algoritmo destina3se8
P(o,ut3(/o 3 Fari9!el utilizada para guardar produtos. /or e:emplo4 o produt.rio de todas as idades dos alunos
da 8
k
srie de!e ser ini$ializado $om 1 Nelemento neutro da multipli$a"#oO8
P(o4(a0a 3 E um algoritmo traduzido para uma linguagem de programa"#o8
P(o4(a0a P(/-2/pal 3 /arte de um programa que go!erna a e:e$u"#o do mesmo8
S/+t'0a 3 ConGunto de partes interdependentes8 $onGunto pessoas, m9quinas e programas que !isam resol!er
uma apli$a"#o do usu9rio8 $onGunto de programas8
1'
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
So;tLa(' 3 ?ermo da l;ngua inglesa utilizado para designar a parte inteligente Nrelati!a , programa"#oO de um
sistema de $omputa"#o8
So;tLa(' Apl/2at/5o H ?odos os programas que !isam resol!er os pro%lemas relati!os ao ramo de ati!idade 0im de
um indi!;duo ou empresa8
So;tLa(' &7+/2o 3 /rogramas que s#o !oltados para os pro%lemas intr;nse$os do $omputador. N#o se prestam a
resol!er um pro%lema 0im do usu9rio. E:emplos4 $ompiladores, sistemas opera$ionais, et$.8
So0at3(/o 3 Fari9!el utilizada para guardar somas. /or e:emplo4 o somat.rio das mesadas de todos os alunos
da es$ola. ?oda !ari9!el utilizada em somat.rios ini$ializada $om !alor Q NzeroO que o elemento neutro da
adi"#o8
St(/-4 3 5 mesmo que $adeia8
SuGal4o(/t0o 3 ?re$ho de um algoritmo que re$e%e um identi0i$ador NnomeO, podendo ser ati!ado Ne:e$utadoO de
qualquer ponto deste algoritmo pela simples men"#o do nome atri%u;do. ) utiliza"#o de su%algoritmos gera, entre
outras !antagens, e$onomia no tamanho do algoritmo8
R'4/+t(o 3 >nidade m;nima de leituraRgra!a"#o dos dados de um arqui!o. ?odo registro $omposto por $ampos8
R'2u(+/5/,a,' 3 /ropriedade que possuem alguns pro%lemas de serem de0inidos em termos deles mesmos. /ara
$ompreender melhor, analise o pro%lema do 0atorial de um nWmero8
#a(/75'l 3 ConGunto de uma ou mais posi"7es da mem.ria de um $omputador utilizado para guardar !alores que
podem ser alterados durante a e:e$u"#o do algoritmo. ?oda !ari9!el de!e possuir um identi0i$ador NnomeO e ter
um tipo de0inido Nnumri$o, $ara$ter et$.O8
#a(/75'l ,' La)o H Fari9!el utilizada para $ontrolar as repeti"7es em um la"o8
#a(/75'l GloGal 3 Fari9!el que e:iste em todo o $orpo do algoritmo. /ossui es$opo ilimitado8
#a(/75'l Lo2al 3 E:iste apenas dentro de um %lo$o, possuindo es$opo restrito8
#'to( 3 Fari9!el homogHnea unidimensional Nque possui um Wni$a dimens#oO8
2(
Clu%e de &uerra Eletr'ni$a ( )*) ( +ntrodu"#o , -.gi$a de /rograma"#o ( /ro0. 1r. &uilherme ). 2. &ualazzi
&I&LIOGRAIA
C)RF)-@5, 2rgio E. R. ( Introduo Programao com Pascal' Campus, 198Z.
C5--+N2, Killiam J. ( Programao struturada com studos de !asos em Pascal. B$&raf3@ill,
1988.
*)RRER, @arry et al ( "lgoritmos struturados' &uana%ara 1ois, 1989.
&R+--5, Baria Clia. ). ( #ur$o Pascal %&' e %&%. -?C, 1991.
&>+B)RTE2 l -)JE2 ( "lgoritmos e struturas de (ados. -?C, 198Z.
B)NL)N5, Jos )ugusto N. &. l D)B)?>B+, Kilson D. ( Programando em #ur$o Pascal )&'. Eri$a.
/)+F), 2. R. ( "lgoritmos, #*cnicas de Programao e struturas de (ados' )postila da )2/ER,
199Z.
/+N?5, Kilson 2il!a + Introduo ao (esenvolvimento de "lgoritmos e struturas de (ados. Eri$a,
199Q.
R+N)-1+, Ro%erto ( #ur$o Pascal )&' !omandos e ,un-es. Eri$a, 199X.
2C@+B?L, E%er ). l ?E-E2, )ntonio ). 2. ( Pascal e #*cnicas de Programao' -?C, 198Z.
?REBC-)D, Jean3/aul l C>N?, Ri$hard C. ( !i.ncia dos computadores / 0ma a$ordagem
"lgortmica& B$graf3@ill, 198X.
K+R?@, Nimlaus ( Programao 1istemtica em Pascal& Campus, 1989.
K5R?B)N, -eon ). ( Programando em #ur$o Pascal com "plica-es. Campus, 1988.
21

Você também pode gostar