Você está na página 1de 51

ALGORITMOS

E
ESTRUTURA
DE
DADOS
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 1 de 52
ESTRUTURANDO IDEIAS ESTRUTURANDO IDEIAS
Linguagem natural:
- Cartas, redao ou bilhetes;
- Pargrafos;
- Tetos longos;
- !rases etensas;
- "eitura longa#
Texto Estruturado:
- $etirar detalhes %ue so i&'ortantes;
- !rases (urtas;
- "eitura (urta;
- )o i&'orta a %ualidade literria do teto;
- *ndentao#
Exemplos:
1+ ,-s s.(ios %ue ad%uirira& suas (otas a &enos de u& ano 'agaro suas &ensalidades (o& 1/0 de a(r1s(i&o a fi&
de ressar(ir os (ustos da asso(iao# -s %ue 2 esto asso(iados a 'artir de 1 ano, tero suas &ensalidades se&
altera3es#4
Se scio a menos de 1 ano
ento
Mensalidade acrescida de 10%
seno
Mensalidade sem alterao
fim-se;
2+ ,-s s.(ios %ue ad%uirira& suas (otas a &enos de u& ano 'agaro suas &ensalidades (o& 1/0 de a(r1s(i&o a fi&
de ressar(ir os (ustos da asso(iao# -s %ue 2 esto asso(iados a 'artir de 1 ano, tero suas &ensalidades se&
altera3es at1 (o&'letare& (in(o anos, %uando tero u& des(onto de 1/0 no 5alor da &ensalidade a t6tulo de
bonifi(ao#4
Se scio a menos de 1 ano
ento
Mensalidade acrescida de 10%
seno {scio a partir de 1 ano}
Se scio a menos de 5 anos
ento
Mensalidade sem alterao
seno {scio a partir de 5 anos}
Mensalidade com desconto de 10%
fim-se
fim-se
7+ ,Se rendi&ento for a 'artir de 8/0, o aluno estar a'ro5ado# Se inferior a 8/0 'or1& a(i&a de 7/0, o aluno
de5er reali9ar u&a 'ro5a final (o& toda a &at1ria do (urso, &as se o rendi&ento for inferior a 7/0, o aluno
estar re'ro5ado#4
Se rendimento a partir de 60%
ento
Aluno aprovado
seno {rendimento inferior a 60%}
se rendimento superior a 30%
ento
Aluno dever realizar prova final
seno {rendimento inferior a 30%}
Aluno reprovado
fim-se
fim-se
:+ ,!un(ionrio (o& salrio inferior a $;8//,// est isento de *&'osto de $enda, (o& salrio su'erior a $;8//,// e
inferior a $;<//,// ter al6%uota de 150, (o& salrio su'erior a $;<//,// e inferior a $;1#2//,// ter al6%uota de
28,80 e salrio su'erior a $;1#2//,// ter al6%uota de 750# ,
Se salrio menor que R$600,00
ento
Funcionrio isento
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 2 de 52
seno
Se salrio superior a R$1.200,00
ento
Funcionrio alquota 35%
seno
Se salrio superior a R$900,00
ento
Funcionrio alquota 26,6%
seno
Funcionrio alquota 15%
fim-se
fim-se
fim-se;
5+ ,Cliente %ue (o&'rar at1 7 'eas no ter direito a des(onto# - %ue (o&'rar de : a 8 'eas ter direito a 1/0 de
des(onto# - %ue (o&'rar a(i&a de = 'eas ter direito a 250#4
Se nmero de peas inferior a 4
ento
Sem desconto
seno {nmero de peas superior a 3}
Se nmero de peas superior a 7
ento
Desconto de 25%
seno {nmero de peas de 4 a 6}
Desconto de 10%;
fim-se
fim-se,
8+ ,-s es(oteiros re(ebero u& subs6dio de 15 >$?@s %uando 2 obti5ere& u& 'osto A"obo, >rso ou "eo+ ou tere&
fre%uBn(ia de 1//0# Cste subs6dio s. ser doado se, al1& das (ondi3es a(i&a, os es(oteiros 2 fore& &e&bros h
&ais de u& ano# -s de&ais es(oteiros no re(ebero subs6dios#4
RVORE DE DECISO
TABELA DE DECISO
Se'arar as de(is3es e (olo(-las na 'arte su'erior D es%uerda;
Se'arar as a3es e (olo(-las na 'arte inferior D es%uerda;
Eeter&inar o nF&ero total de regras, &ulti'li(ando o nF&ero de 'ossibilidades 'ara (ada (ondio,
isto 1:
C1: Cs(oteiro a &ais de u& 1 anoG 2 'ossibilidades
C2: Te& 'osto A"obo, >rso ou "eo+G 2 'ossibilidades
C7: Te& fre%uBn(ia 1//0G 2 'ossibilidades
Total de Possibilidades: H
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 7 de 52
Considerar a Flti&a (ondio e alterar suas 'ossibilidades ao longo de toda a linha;
-bser5ar %uantas 5e9es o 'adro se re'ete e 'reen(her (ada gru'o-'adro#
C1: Cs(oteiro a &ais de u& 1 anoG S S S S ) ) ) )
C2: Te& 'osto A"obo, >rso ou "eo+G S S ) ) S S ) )
C7: Te& fre%uBn(ia 1//0G S ) S ) S ) S )
I1: Co& subs6dio J J J
I2: Se& subs6dio J J J J J
TEXTO ESTRUTURADO
se escoteiro a mais de 1 ano
ento
se escoteiro tem posto ou frequncia igual a 100%
ento
Escoteiro tem subsdio
seno
Escoteiro no tem subsdio
fim se
seno
Escoteiro no tem subsdio
fim se
Exemplos Tabela Deciso
=+ Clabore u&a tabela de de(iso e u& teto estruturado:
,Su'onha u& le5anta&ento onde fora& (olhidos os seguintes dados: estado (i5il e es(olaridade# Co&o estado (i5il
fora& (onsideradas as seguintes res'ostas: solteiro, (asado ou 5iF5o; e 'ara es(olaridade: at1 o segundo grau e ter(eiro
grau (on(lu6do# Ee5er ser (on(edido u& au&ento de 7/0 sobre os salrios dos fun(ionrios (asados ou (o& ter(eiro
grau, 'ara os de&ais, u& au&ento de 2/0#
C1: Cstado (i5il S S C C ? ?
C2: Cs(olaridade 2 7 2 7 2 7
I1: Iu&ento 2/0 J J
I2: Iu&ento 7/0 J J J J
Cstado (i5il: 7 AC, S, ?+
Cs(olaridade: 2 A2, 7+
8
H+ ,Clientes (o& &ais de u& &ilho e& neg.(ios e (o& bo& hist.ri(o de 'aga&entos ou (o& &ais de u& &ilho
e& neg.(ios e (onos(o a &ais de 2/ anos tero trata&ento 'rioritrio#4
RVORE DE DECISO
TEXTO ESTRUTURADO
Se cliente gera mais de 1 milho em negcios
ento
se cliente possui bom histrico
ento
tratamento prioritrio
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: : de 52
seno
se cliente a mais de 20 anos
ento
tratamento prioritrio
seno
Tratamento normal
fim se
fim se
seno
Tratamento normal
fim se
<+ Sero ad&itidos a'enas os (andidatos (o& 7 anos de e'eriBn(ia e fluBn(ia no inglBs e (asados#
RVOE DE DECISO
Texto Estruturado
Se candidato com 3 ou mais anos de experincia
ento
Se candidato fluente em ingls
ento
Se candidato casado
ento
Admite candidato
seno
No admite candidato
fim se
seno
No admite candidato
fim se
seno
No admite candidato
fim se
Exerccios de Texto Estruturado, rore de Decis!o e Ta"e#a de Decis!o
1+ )a es(ola sero es(olhidos 'ara 'arti(i'ar da e(urso os alunos (o& rendi&ento &1dio igual ou su'erior a H/ ou
%ue se2a& es'ortistas da es(ola# Il1& disto 1 ne(essrio a autori9ao dos 'ais#
2+ I e&'resa sele(ionar 'ara o (argo de se(retria 'essoas do seo fe&inino %ue do&ine& o idio&a inglBs# Ta&b1&
'odero (on(orrer ao (argo %ual%uer 'essoa %ue tenha residido e& 'ais de l6ngua inglesa 'or &ais de /5 anos#
7+ >& ban(o deter&ina trata&ento es'e(ial 'ara (lientes %ue 'ossu6a& renda igual ou su'erior a $; 2///#// ou %ue
trabalhe& no CTC!# Ile& das (ondi3es a(i&a, 1 ne(essrio %ue se2a (liente do ban(o a &ais de 5 anos#
:+ I e&'resa eige %ue o (andidato ao (argo de 'rogra&ador se2a t1(ni(o e& &i(roinfor&ti(a (o& do&6nio da
linguage& C KK# Poder ta&b1& (on(orrer ao (argo os (andidatos (o& e'eriBn(ia igual ou su'erior a 7 anos#
5+ >&a es(ola (on(eder des(onto aos alunos (o& renda fa&iliar inferior a $; 5//#//# Il1& desta (ondio, ser
ne(essrio %ue o aluno tenha rendi&ento &1dio igual ou su'erior a 8/0 ou fre%LBn(ia total A 1//0+#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 5 de 52
8+ >&a bibliote(a 'er&ite abertura de fi(has 'ara e&'r1sti&os das obras a'enas a alunos (o& idade a 'artir de 1:
anos# -s fun(ionrios da instituio ta&b1& 'ode& fa9er e&'r1sti&os#
=+ >&a e&'resa de(ide (on(eder u& a(r1s(i&o de 7/0 aos seus fun(ionrios (o& te&'o de ad&isso a 'artir de 5
anos# Il1& disto 1 ne(essrio %ue o salrio se2a inferior a $; ://,// ou o nF&ero de de'endentes a(i&a de =#
H+ >& (lube, ao reali9ar a eleio da diretoria, de(ide %ue 'odero (on(orrer ao (argo os asso(iados (o& te&'o de
asso(iao a(i&a de 5 anos ou idade inferior a :5 anos# Ile& disto, 1 ne(essrio %ue a'resente atestado de bons
ante(edentes#
<+ >&a es(ola de(ide e&itir (ertifi(ados de ,Iluno do ano4 aos alunos do ensino &1dio A 2M grau + (o& rendi&ento
&1dio a 'artir de </0# N ne(essrio ta&b1& u&a fre%LBn(ia su'erior a H/0#
1/+ - relat.rio de5er ser i&'resso 'ara os de'arta&entos %uando autori9ado 'elo diretor, na ausBn(ia do diretor,
'odero fa9er a autori9ao o 'residente 2unto (o& o gerente#
11+ - hos'ital a(eita 'ara interna3es 'a(ientes (on5eniados (o& o >S*SI>EC, %ue a'resente& (o&'ro5ante de
'aga&ento e& dia# Ta&b1& so a(eitos %uais%uer 'a(ientes e& (asos de e&ergBn(ia#
12+ I e&'resa de(ide sele(ionar alguns (lientes 'ara 'arti(i'ar de u&a 'ro&oo es'e(ial# Ee5ero estar (adastrados
h &ais de /5 anos# Il1& disto, de5ero ter u& (onsu&o &1dio &ensal su'erior a $; 5#///,// ou as trBs Flti&as
(o&'ras su'erior a $; :#///,//#
17+ Se%uBn(ias nu&1ri(as Aes(re5a as 'r.i&as : se%uBn(ias l.gi(as+
a+ /<, 17, 1=, 21,###
b+ /1, /:, /<, 18, ###
(+ /7, /<, 2=, H1,####
d+ /1, /H, 2=, 8:, ###
e+ /1, /2, /:, /H, ###
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 8 de 52
L$EBRA DAS %RO%OSI&'ES L$EBRA DAS %RO%OSI&'ES
Pro'osio 1 %ual%uer afir&ao 5erbal da %ual se 'ossa di9er %ue 1 !alsa ou "erdadeira, nun(a a&bas#
Ilgu&as 'ro'osi3es 'ode& ser (o&'ostas de sub'ro'osi3es ligadas 'or (one(ti5os AC, ->, )o+#
Conjuno
Euas 'ro'osi3es 'ode& ser (o&binadas 'elo (one(ti5o , C 4 'ara for&ar u&a 'ro'osio (ha&ada (on2uno das
'ro'osi3es originais# I (on2uno de duas 'ro'osi3es 1 5erdadeira se e so&ente se a&bas as 'ro'osi3es so
5erdadeiras A ' O ' , lB-se ' e %+#
Ce&'lo: ': - CTC! est e& Coronel !abri(iano;
%: - Prasil est no (ontinente euro'eu;
r: 2 K 2 Q 5;
s: 2 K 2 Q :;
- obser5e o 'reen(hi&ento da tabela 5erdade 'ara as 'ro'osi3es:
P % ' O %
? ? ?
? ! !
! ? !
! ! !
I 'ro'osio s. ser 5erdadeira %uando a&bas as 'ro'osi3es fore& 5erdadeiras#
Disjuno
Euas 'ro'osi3es %uais%uer 'ode& ser (o&binadas 'elo (one(ti5o , -> , , 'ara for&ar u&a no5a
'ro'osio %ue 1 (ha&ada dis2uno das duas 'ro'osi3es originais A ' ? %, lB-se ' ou %+#
I dis2uno 1 5erdadeira se e so&ente se, 'elo &enos u&a delas for 5erdadeira#
- obser5e o 'reen(hi&ento da tabela 5erdade 'ara as 'ro'osi3es:
P % ' ? %
? ? ?
? ! ?
! ? ?
! ! !
Negao
Cha&a-se negao da 'ro'osio ', a 'ro'osio R' AlB-se no '+#
Ce&'lo: R' signifi(a ,CTC! no est e& Coronel !abri(iano4 ; %ue 1 !I"S-#
Rr signifi(a , 2 K 2 no 1 igual a 54 ; %ue ?C$EIEC*$-#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: = de 52
I O P AI e P+
A B
I 5 P AI ou P+
A
B
Exerccios Tabela Verdade
1+ Construa a tabela 5erdade 'ara os (asos abaio
a+ I O P b+ I 5 P (+ no AI O P+
I ? ? ! !
P ? ! ? !
I e P
I ? ? ! !
P ? ! ? !
I ou P
I ? ? ! !
P ? ! ? !
RAI e P+
d+ I O AP 5 C+
I ? ! ? ! ? ! ? !
P ? ? ! ! ? ? ! !
C ? ? ? ? ! ! ! !
I e AP ou C+
e+ AI O P+ 5 C
I ? ! ? ! ? ! ? !
P ? ? ! ! ? ? ! !
C ? ? ? ? ! ! ! !
AI e P+ ou C
2+ Construa u& (ir(uito (orres'ondente as e'ress3es:
a) (A ^ B) v (B v A v B)
b) (A v B) ^ C ^ (A v B v C)
7+ Construa Tabela ?erdade 'ara os (asos abaio:
a+ Sit#1 e Sit#2 e Sit#7 b+ ASit#1 e Sit#2+ ou Sit#7
b+ Sit#1 ou ASit#2 e Sit#7+ d+ ASit#1 ou Sit#2+ e ASit#7 ou Sit#:+
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: H de 52
AL$ORIT(OS AL$ORIT(OS
I 'ala5ra Ilgorit&o %uer di9er o'erao ou 'ro(esso de (l(ulo# >& 'ro(esso 'ara resol5er u& dado 'roble&a# Por
ee&'lo: u& algorit&o 'ara (al(ular a so&a de dois nF&ero infor&ado 'elo usurio ou algorit&o 'ara a rea de u&a
esfera e& funo do seu raio#
>& algorit&o 1 u&a se%uBn(ia ordenada finita de o'era3es be& definidas e efi(a9es %ue, %uando ee(utadas 'or u&
(o&'utador, o'erando sobre dados (ara(teri9ando o estado atual do (onteto e o estado dese2ado, se&'re ter&ina nu&
deter&inado 'er6odo de te&'o, 'rodu9indo u&a soluo ou indi(ando %ue a soluo no 'ode ser obtida#
Caractersticas dos Algoritmos:
!initude: o algorit&o de5e Ter u& fi&;
Eo(u&entado;
Correto: teste e de'urao# >so do (o&'utador &ais (edo;
Ida'tabilidade, Clare9a e &odularidade;
Eese&'enho;
I'resentao: endentao;
Custos;
Portabilidade;
Si&'les#
Etapas para soluo de um problema Elaborao de Algoritmos:
1# Cntender o 'roble&as;
2# >&a soluo ou &ais 'ara o 'roble&a;
7# >& algorit&o %ue dB a soluo 'ro2etada no ite& 2;
:# Cs(re5er u& 'rogra&a;
5# Codifi(ar o 'rogra&a e& algu&a linguage& i&'le&entada;
8# Testar o 'rogra&a (odifi(ado no ite& 5:
a+ &assa de testes;
b+ rastreio ou (hine9inho#
Estrutura do Algoritmo:
algoritmo {nome do algoritmo}
incio
definio das variveis
atribuio de valores as variveis
entrada de dados
LGICA
Sada de dados
fim.
Tipos rimiti!os de Dados:
I infor&ao 1 a &at1ria-'ri&a %ue fa9 (o& %ue se2a ne(essria a eistBn(ia do (o&'utador, 'ois eles so (a'a9es de
&ani'ular e ar&a9enar u& grande 5olu&e de dados (o& alta 'erfor&an(e# -s ti'os 'ri&iti5os de dados so:
Inteiro
Toda e %ual%uer infor&ao nu&1ri(a %ue 'ertena ao (on2unto dos nF&eros inteiros relati5os Anegati5a, nula ou
'ositi5a+#
Por ee&'lo: So2e 1 dia #$ de fe5ereiro#
- aluno est (ursando a % s1rie#
- 'rofessor sele(ionar & alunos 'ara &onitoria#
Real
Toda e %ual%uer infor&ao nu&1ri(a %ue 'ertena ao (on2unto dos nF&eros reais Anegati5o, nula ou 'ositi5a+#
Por ee&'lo: - fun(ionrio re(eber $; &$'(%' 'or &Bs#
I te&'eratura est 'r.i&a do %)($ graus#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: < de 52
*adeia
Toda e %ual%uer infor&ao (o&'osta 'or u& (on2unto de (ara(teres alfanu&1ri(as A/ ## <, a ## 9+ eTou es'e(iais A'or
ee&'lo: U, ;, 0, V, W, G, X,Y, Z, [+#
Por ee&'lo: - no&e do fun(ionrio 1 Mauro Morais#
I &ensage& de retorne 1 ,*uidado( o micro est+ doido4#
*aracter
Toda e %ual%uer infor&ao (o&'osta 'or u& e so&ente u& (ara(tere alfanu&1ri(o A/ ## <, a ## 9+ eTou es'e(ial A'or
ee&'lo: U, ;, 0, V, W, G, X,Y, Z, [+#
Por ee&'lo: - seo do fun(ionrio: \M\ ou \!\#
L,gico
Toda e %ual%uer infor&ao %ue 'ode a'enas assu&ir duas situa3es 'oss65eisAbiest5el+#
Por ee&'lo: - fun(ionrio 'ossui dependente-
I l]&'ada 'ode estar a(essa ou a'agada#
*onstantes:
>&a infor&ao 1 dita (onstante %uando no sofre nenhu&a alterao de seu 5alor no de(orrer do te&'o# Para
diferen(iar as infor&a3es (onstantes dos outros ti'os de infor&ao, ire&os deli&it-la 'or u& 'ar de as'asA , ,+#
Por ee&'lo: 5, ,)o (orra4 , ,Mas(ulino4, 252=#
Vari"!el:
>&a infor&ao 1 (lassifi(ada (o&o 5ari5el %uando te& a 'ossibilidade de ser alterado o seu 5alor e& algu& instante
do te&'o#
Por ee&'lo# I .uantidade de fun(ionrios de u&a e&'resa#
- peso e idade de u& fun(ionrio#
#ormao de $denti%icadores &nome de !ari"!el'
*dentifi(ador 1 o no&e dado as infor&a3es de (ara(ter 5ari5el# - identifi(ador segue deter&inadas regras:
Ee5e& (o&ear 'or u& (ara(ter alfab1ti(o;
Pode& ser seguidos 'or &ais (ara(teres alfab1ti(os eTou nu&1ri(os,
)o 1 'er&itido o uso de (ara(teres es'e(iais;
-s (ara(teres alfab1ti(os de5e& obrigatoria&ente ser ins(ritos e& &aiFs(ulos#
Ce&'los: *dentifi(adores 5lidos: I"PSI, MCE*I, J27:5#
*dentifi(adores no 5lidos: J-^, )-TIT2, P"$TJUU, CI)_`-#
Declarao de Vari"!eis
Para ar&a9enar (orreta&ente os dados na &e&.ria 1 ne(essrio a sua (orreta de(larao: ti'o 'ri&iti5o do dado e o seu
no&e# Ee5e&os obede(er a seguinte sintae:
Ti'o: lista de 5ari5eis;
Ce&'lo: inteiro: J, ^, *EIEC, aT!>)C*-)I$*-S;
(ara(tere: )-MC, C)EC$CC-, EITI;
real: SI"I$*-, PCS-, E-"I$, ?I"-$?C)EI;
l.gi(o: TCMECPC)EC)TC, M-$I*PIT*)bI;
Express(es Aritm)ticas
Eeno&ina&os e'resso arit&1ti(a a%uela (u2os o'eradores so arit&1ti(os e (u2os o'erandos so (onstantes eTou
5ari5eis do ti'o nu&1ri(o Ainteiro e Tou real+# - o'eradores arit&1ti(os so:
+ Idio
- Subtrao
* Multi'li(ao
/ Ei5iso
** Poten(iao
// $adi(iao
MOD $esto da di5iso inteira Ex: 9 mod 4 Resp: 1
DIV auo(iente da di5iso inteira Ex: 27 div 5 Resp: 5
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 1/ de 52
rioridade entre opera(es
Ee5e&os obede(er a 'rioridade entre as o'era3es, (onfor&e o %uadro abaio:
1 Poten(iao e $adi(iao
2 Multi'li(ao, Ei5iso, M-E e E*?
3 Idio e Subtrao
Ce&'lo# aual 1 o resultado da e'resso abaio:
10 mod 3 + 30 div 4 + 2 // 9 + 2 ** 3
1 + 7 + 3 + 8

19
#un(es *atem"ticas
I 'rin(i'ais fun3es &ate&ti(as so:
sen(x) Seno de
cos(x) Cosseno de
tg(x) Tangente de
arctg(x) Ir(o (u2a tangente 1
arcsen(x) Ir(o (u2o seno 1
arccos(x) Ir(o (u2o (osseno 1
abs(x) ?alor absoluto de
int(x) I 'arte inteira de u& nF&ero fra(ionrio
frac(x) I 'arte fra(ionria de
ard(x) Transfor&a 'or arredonda&ento, u& nF&ero fra(ionrio 'ara inteiro
sinal(x) $etorna -1 se o nM for negati5o, / se for nulo e 1 se for 'ositi5o
Ce&'los:
sinal (-34,4) = -1
sinal (+34,4) = +1
sinal (34,4) = 0
frac (34,5) = 5
int (34,4) = 34
abs (+34,3) = 34,3
ard(34,4) = 34
ard(34,6) = 35
Express(es +,gicas
>sa&os os o'eradores rela(ionais 'ara reali9ar (o&'ara3es entre dois 5alores de &es&o ti'o 'ri&iti5o# Tais 5alores
so re'resentados 'or (onstantes, 5ari5eis ou e'ress3es arit&1ti(as#
- o'eradores rela(ionais so:
= *gual
> Maior
< Menor
>= Maior ou igual
<= Menor ou igual
<> Eiferente
- resultado obtido 'or u&a relao 1 se&'re u& 5alor l.gi(o A? ou !+#
Ce&'los:
a) 2 * 4 = 24 / 3
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 11 de 52
8 = 8
V
b) 15 mod 4 = 19 mod 6
3 = 1
F
-peradores +,gicos
>tili9are&os trBs (one(ti5os bsi(os 'ara a for&ao de no5as 'ro'osi3es a 'artir de outras 2 (onhe(idas# -s
o'eradores l.gi(os so:
e Con2uno
ou Eis2uno
xou Eis2uno e(lusi5a
no )egao
rioridades
Cntre o'eradores l.gi(os
no
e ou
xou
Cntre todos os o'eradores parenteses mais internos
funes matemticas
operadores aritmticos
operadores relacionais
operadores lgicos
Exerccios -peradores aritm)ticos. relacionais e %un(es
1# Sendo I, P, J , ^ 5ari5eis do ti'o nu&1ri(o, %uais os resultados forne(idos 'or (ada u&a das seguintes fun3es,
onde I Q 1/, P Q 7, JQ 2,5 C ^ Q 1,2#
a) A mod 2 + frac (X);
b) sinal (X + Y - A) + ard(Y)
c) frac (A / X) - int (Y)
2# Considerando os 5alores de I Q -7, P Q 18, C Q K: e EQ 1,5# $es'onda as %uest3es abaio:
a) sinal(A) - sinal(A / D) + 2 // 16
b) 2 ** B - 2 // C - ard(D)
c) int(B / D) - B div 3
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 12 de 52
Comando de Atribuio
>& (o&ando de atribuio 'er&ite-nos forne(er u& 5alor a u&a (erta 5ari5el Aguardar u& ob2eto nu&a (erta ga5eta+,
onde o ti'o dessa infor&ao de5e ser (o&'at65el (o& o ti'o da 5ari5el, isto 1, so&ente 'ode&os atribuir u& 5alor
l.gi(o a u&a 5ari5el (a'a9 de (o&'ort-lo, ou se2a, u&a 5ari5el de(larada do ti'o l.gi(o#
- (o&ando de atribuio 'ossui a seguinte sintae:
identificador expresso ;
Ce&'lo:
lgico: A, B;
Inteiro: X;
A verdadeiro;
X 8 + 13 div 5;
B 5 = 3;
Comando de Entrada
- (o&ando de entrada de dados 'ossui a seguinte sintae:
leia(identificador);
Ce&'lo:
inteiro: x, A, IDADE;
real: NOTA;
leia (x);
leia (A, IDADE, NOTA);
Comando de /ada
- (o&ando de sa6da de dados obede(e a seguinte sintae:
escreva (varivel; constante; expresso);
Ce&'lo:
escreva (Y);
escreva (B, IDADE, MEDIA);
escreva (Bom Dia);
escreva (Voc pesa , X * 2, quilos);
Exerccios
1+ Ear o ti'o de (ada u&a das (onstantes
a) 613
b) 613,0
c) -613
d) 613
e) -3,012 * 10
15
f) 17*10
12
g) -28,3 * 10
-23
h) Fim de Questo
2+ !aa u& algorit&o 'ara atribuir a 5ari5eis as seguintes infor&a3es:
a) 12345
b) 123456
c) -1122
d) 10
e) VERDADE
f) 12345605
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 17 de 52
7+ )o seguinte algorit&o eiste algu& erroG -ndeG
ALGORITMO Teste
incio
cadeia: Maria;
inteiro: idade;
caracter: letra;
real: Maria;
idade 23;
idade 678;
idade letra;
letra ABC;
letra A;
letra 2;
fim
:+ aual a diferena eistente entre as atribui3es I e PG
a+ "etra cI@
)o&e cdoo@
b+ "etra I
)o&e doao
5+ *ndi%ue %ual o resultado ser obtido das seguintes e'ress3es:
a) 1 / 2
b) 1 DIV 2
c) 1 MOD 2
d) ( 200 DIV 10 ) MOD 4
e) 5 ** 2 + 3
f) 6 + 19 - 23
g) 3,0 * 5,0 + 1
h) 1 / 4 + 2
i) 29,0 / 7 + 4
j) 3 / 6,0 - 7
8+ *ndi%ue o resultado l.gi(o das seguintes e'ress3es:
a) 2 > 3
b) ( 6 < 8 ) ou ( 3 > 7 )
c) ((( 10 DIV 2 ) MOD 6 ) > 5 ) no ou ( 3 < ( 2 MOD 2 ) )
d) no ( 2 < 3 )
=+ Cs(re5a o (o&ando de atribuio e resol5a a e'resso das seguintes f.r&ulas &ate&ti(as#
a+ X
A
B
C
D
E
F
=
+

onde IQ 2, PQ 8, C Q 7, EQ:, CQH, !Q:


b+
( )
Y
X X X
X
X
X
=

+
+
+
2 7
2
1
2
2 1
onde J Q 2
<+ Cs(re5a os (o&andos de atribuio 'ara as seguintes f.r&ulas &ate&ti(as#
a+
X
B A F
A
=
+

2 : 2
7 2
7
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 1: de 52
b+
( ) Y H
X
H H
H
=

2
:5
7
: 7
2
(+ X
a b e f
c d g h
i
j
=
+ +
+ +
A + A +
A + A +
U
-bs#: - o'erador ,K4 (aso se2a usado entre 5ari5eis do ti'o CI$ICTC$ ou CIEC*I, (ausar u&a ao (onhe(ida
'or co)cate)a*!o, ou se2a, 2untar as (adeias ou (ara(teres usados na o'erao e& u&a s. CIEC*I#
Ce&'lo:
Algoritmo {Concatena}
incio
caracter: Letra1, Letra2;
cadeia: Nome1, Nome2, Nome3;
Letra1 `D';
Letra2 `a';
Nome1 Joo;
Nome2 Silva;
Nome3 Nome1 + Letra1 + Letra2 + Nome2;
fi&
Is instru3es a(i&a resultaro no ar&a9ena&ento do )o&e ,doo Ea Sil5a4 na 5ari5el rotulada de )o&e7#
Estruturas de Controle
Estrutura Se.uencial
-s algorit&os so ini(iados (o& a 'ala5ra algorit&o e ter&inados (o& a 'ala5ra fi& ou fi&-algorit&os e& alguns
li5ros# I'.s a de(larao das 5ari5eis esto os (o&ando %ue so ee(utados nu&a se%uBn(ia linear, seguindo-se o
teto e& %ue esto es(ritos de (i&a 'ara baio#
algoritmo
incio
{Declarao das variveis}
inteiro: A, B;
caracter: C;
real : MEDIA;
{Inicializao das variveis}
A 3;
C Mauro;
comando 1;
comando 2;
.
.
comando n;
fim
Estrutura *ondicional Simples
Per&ite a es(olha de u& ou de 5rios (o&andos a sere& ee(utados#
Ce&'los:
Co& a'enas u& (o&ando:
Se <condio> ento
comando 1;
fim-se;
Co& 5rios (o&andos
se <condio> ento
comando 1;
comando 2;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 15 de 52
...
comando n;
fim-se;
Estrutura *ondicional *omposta
Per&ite a es(olha entre dois gru'os de (o&andos a sere& ee(utados# )o 'ri&eiro (aso so&ente o (o&ando1 ou
so&ente o (o&ando2 ser ee(utado#
Co& a'enas u& (o&ando:
se <condio> ento
comando 1;
seno
comando 2;
fim-se;
Co& 5rios (o&andos
se <condio> ento
comando 1;
comando 2;
...
comando n;
seno
comando A;
comando B;
fim-se;
Estrutura Sele/o de M0ltipla Escol1a
>sa&os a seleo de &Flti'la es(olha %uando te&os 5rias alternati5as de es(olha dos 5alores 'ara u&a deter&ina
5ari5el, 'or ee&'lo: se nota for 1, 2 ou 7 en5iar a &ensage& eMuito !ra(oe, se nota for : ou 5 en5iar &ensage&
eCstude &aise, se nota for 8 ou = en5iar &ensage& eIluno regulare, se for H en5iar &ensage& eIluno Po&e , se for <
en5iar &ensage& eIluno Muito Po&e e se for 1/ en5iar &ensage& eIluno fti&oe#
- algorit&o fi(aria assi&:
algoritmo {escolha}
incio
inteiro: nota;
escreva(Informe a nota: );
leia(nota);
escolha(nota)
caso 1, 2, 3: escreva(Muito fraco);
caso 4, 5: escreva(Estude mais);
caso 6, 7: escreva(Aluno regular);
caso 8: escreva(Aluno bom);
caso 9: escreva(Aluno muito bom);
caso contrrio: escreva(Aluno timo);
fim-escolha
fim

Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 18 de 52
Exerc2cios resol"idos
1+ Clabore u& algorit&o %ue leia dois nF&eros inteiros %uais%uer infor&ados 'elo usurio 5ia te(lado e %ue (al(ule e
es(re5a a so&a e o 'roduto dos &es&os#
algoritmo { exerc01 }
incio
inteiro: N1, N2; //nmeros informados pelo usurio
inteiro: SOMA; //soma dos nmeros
inteiro: PROD; //produto dos nmeros
escreva (Digite o primeiro nmero: );
leia ( N1 );
escreva (Digite o segundo nmero : );
leia ( N2 );
SOMA N1 + N2;
PROD N1 * N2;
escreva (A soma dos nmeros : , SOMA);
escreva (O produto dos nmeros : , PROD);
fim
2+ Clabore u& Ilgorit&o %ue leia as &edidas dos lados I e P de u& ret]ngulo %ual%uer e %ue (al(ule e es(re5a a sua
rea#
algoritmo {exerc02}
incio
real: LA, LB, AREA;
escreva(Digite o valor da altura do retngulo: );
leia( LA );
escreva (Digite o valor da sua base: );
leia( LB );
AREA LA * LB;
escreva (O valor da rea de um retngulo : , AREA);
fim
7+ Clabore u& Ilgorit&o %ue leia as &edidas dos lados I e P de u& ret]ngulo %ual%uer e %ue (al(ule a sua diagonal#
DIAG
2
= A
2
+ B
2
DIAG = (A
2
+ B
2)
algoritmo{ exerc03}
incio
real: LA, LB; //lados do retngulo
real: DIAG; //diagonal do retngulo
escreva (Digite o valor do lado 'A' do retngulo: );
leia ( LA );
escreva (Digite o valor do lado 'B' do retngulo: );
leia ( LB );
DIAG 2 // ((LA ** 2) + (LB ** 2));
escreva (O valor da diagonal do retngulo : , DIAG);
fim
:+ Clabore u& Ilgorit&o %ue leia dois nF&eros %uais%uer )1 e )2 e o sinal da o'erao a ser reali9ada entre eles e %ue
(al(ule e es(re5a o resultado desta o'erao# -s (ara(teres , + 4 ser5e& a'enas 'ara de&onstrar a indentao#
algoritmo { exerc04 }
incio
| real: N1, N2, R;
| caracter: SINAL;
| escreva (Digite o nmero 1: );
| leia ( N1 );
| escreva (Digite o nmero 2: );
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 1= de 52
| leia ( N2 );
| escreva (Digite o sinal da operao: );
| leia ( SINAL );
| se ( SINAL = `+' ) ento
| | { bloco 01 }
| | R N1 + N2;
| | escreva (A soma : , R);
| seno
| | se ( SINAL = `-' ) ento
| | | { bloco 02 }
| | | R N1 - N2;
| | | escreva (A subtrao : , R);
| | seno
| | | se ( SINAL = `*' ) ento
| | | | { bloco 03 }
| | | | R N1 * N2;
| | | | escreva (O produto : , R);
| | | seno
| | | | se ( SINAL = `/' ) ento
| | | | | { bloco 04 }
| | | | | R N1 / N2;
| | | | | escreva (A diviso : , R);
| | | | seno
| | | | | escreva (Sinal Invlido);
| | | | fim-se;
| | | fim-se;
| | fim-se;
| fim-se;
fim
5+ Clabore u& Ilgorit&o %ue leia o (a'ital ini(ial, a taa de 2uros e %ue (al(ule e es(re5a o (a'ital final# -s (ara(teres , + 4 ser5e&
a'enas 'ara de&onstrar a indentao#
-bs: CF = ( CI * ( Tj / 100 ) + CI )
algoritmo { exerc05 }
incio
| real: CI, //capital inicial
| TJ, //taxa de juros
| CF; //capital final
| escreva (Digite o valor do seu capital inicial: );
| leia (CI);
| escreva (Digite o valor da taxa de juros: );
| leia (TJ);
| CF (CI * (TJ / 100)) + CI;
| escreva (O valor do seu capital final : , CF);
fim.
8+ Clabore u& Ilgorit&o %ue leia trBs dos nF&eros %uais%uer )I, )P e )C, e %ue deter&ine %ual dos trBs 1 o &aior#
algoritmo{ Exerc07}
incio
| real: NA, NB, NC; //nmeros informados pelo usurio
| escreva (Digite o nmero 'A': );
| leia ( NA );
| escreva (Digite o nmero 'B': );
| leia ( NB );
| escreva (Digite o nmero 'C': );
| leia ( NC );
| se ( NA > NB ) e ( NA > NC ) ento
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 1H de 52
| | escreva (O maior nmero : , NA);
| seno
| | se ( NB > NA ) e ( NB > NC )ento
| | | escreva (O maior nmero : , NB);
| | seno
| | | escreva (O maior nmero : , NC);
| | fim-se;
| fim-se;
fim
=+ Clabore u& Ilgorit&o %ue leia %uatro notas: )1, )2, )7 e ): de u& aluno e %ue (al(ule e es(re5a a &ensage&
,IP$-?IE-4 'ara %ue& obte5e a &1dia &aior ou igual a 8/, (aso (ontrrio, a &ensage& de5e ser
,$CP$-?IE-4#
algoritmo { exerc08}
incio
real: N1, N2, N3, N4, //notas do aluno
MEDIA; //mdia das notas
caracter: NOME;
escreva (Digite a primeira nota do aluno: );
leia ( N1 );
escreva (Digite a segunda nota: );
leia ( N2 );
escreva (Digite a terceira nota: );
leia ( N3 );
escreva (Digite a quarta nota: );
leia ( N4 );
escreva (Digite o nome do aluno: );
leia ( NOME );
MEDIA (N1 + N2 + N3 + N4) / 4;
se MEDIA >= 60 ento
escreva (Aprovado !!!);
seno
escreva (Reprovado !!!);
fim-se;
fim
H+ Clabore u& Ilgorit&o %ue leia os (oefi(ientes I, P e C de u&a e%uao do 2 grau e %ue (al(ule e es(re5a as suas
ra69es reais#
algoritmo{exerc8}
incio
| real: A, B, C, //nmeros informados pelo usurio
| DELTA, //termo da equao de 2 grau
| R1, R2; //razes da equao de 2 grau
| escreva (`Digite o nmero A: ');
| leia ( A):
| escreva (`Digite o nmero B: ');
| leia ( B );
| escreva (` Digite o nmero C: ');
| leia ( C );
| DELTA B ** 2 - 4 * A * C;
| se (DELTA > 0) ento
| | escreva (` No existe razes ');
| seno
| | se ( DELTA = 0 ) ento
| | | //bloco 01
| | | R1 - B / ( 2 * A );
| | | R2 R1;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 1< de 52
| | seno
| | | //bloco 02
| | | R1 ( - B + 2 // DELTA ) / ( 2 * A );
| | | R2 ( - B - 2 // DELTA ) / ( 2 * A );
| | fim-se;
| fim-se;
| escreva (`As razes so: ', R1, R2);
fim.
<+ Clabore u& Ilgorit&o %ue (al(ule e es(re5a o 5olu&e de u&a esfera de raio $ %ue ser infor&ado lado 'elo usurio#
algoritmo {exerc09}
incio
real: R, // raio do volume
V; // volume
escreva (Digite o valor do raio: );
leia ( R );
V (4 / 3) * 3.14 * (R ** 3);
escreva (O valor do volume : , V);
fim
1/+ Clabore u& Ilgorit&o %ue leia as (oordenadas do 'onto PA1, g1+ e JA2, g2+ infor&ados 'elo usurio e %ue
(al(ule e es(re5a a dist]n(ia entre os &es&os#
algoritmo {exerc10}
incio
real: X1, Y1, // pontos do P
X2, Y2, // pontos do plano Q
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 2/ de 52
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 21 de 52
E/T01T10A DE 0EET$23-
dunta&ente (o& as estruturas de seleo, as estruturas de re'etio ou iterao so de (ru(ial i&'ort]n(ia 'ara a
'rogra&ao do algorit&o#
Is estruturas de re'etio ou iterao nos 'ossibilita& ee(utar o &es&o tre(ho de (.digo 5rias 5e9es seguidas,
en%uanto u& dado (rit1rio no 1 satisfeito#
Is estruturas de re'etio so di5ididas e& trBs sub-estruturas: $e'etio (o& teste no in6(io; re'etio (o& teste no
final e re'etio auto&ti(a#
aual%uer u&a delas fun(iona (o& 1 5ari5el %ue (ha&a&os de sentinela# Cssa 5ari5el ir ditar %uando o 'rogra&a
de5er sair da re'etio e geral&ente te& 7 (ara(ter6sti(as:
1# aual 5alor esta 5ari5el ir ini(iar;
2# Co&o esta 5ari5el ter seu 5alor &odifi(ado 'ara %ue (hegue ao 5alor final;
7# aual 5alor esta 5ari5el de5e atingir 'ara %ue 'are a re'etio#
)o (aso, a 5ari5el de (ontrole ou sentinela se&'re de5er ter essas (ara(ter6sti(as ou 'oder o(orrer u& erro %ue
(ha&a&os de loo' infinito# *sso o(orre 'or (ausa de erro de l.gi(a, no %ual a 5ari5el sentinela nun(a (hega ao seu
resultado final#
Para ilustrar, (onsidere o seguinte 'roble&a: Clabore u& algorit&o %ue a nota do aluno e %ue es(re5a eApro"adoe se o
aluno obter nota su'erior ou igual a 8/ e eRepro"adoe se o aluno obter nota inferior a 8/#
>&a soluo 'ara o 'roble&a 'oderia ser a seguinte:
algoritmo {Resultado}
incio
inteiro: NOTA;
escreva (Informe a nota do Aluno: );
leia (NOTA);
se (NOTA >= 60) ento
escreva (O aluno foi aprovado);
seno
escreva (O aluno foi reprovado);
fim-se;
fim-algoritmo.
- algorit&o a(i&a resol5e o 'roble&a de a'enas u& aluno# Se utili9ar&os este 'rogra&a e& u&a tur&a de 7/ alunos,
o &es&o de5er ser c1amado ou executado 7/ 5e9es 'ara &ostrar o resultado de todos os 7/ alunos da tur&a#
Pode&os alter-lo 'ara %ue (o& so&ente u&a c1amada ou execu/o o &es&o 'ossa &ostrar o resultado de todos os
trinta alunos#
N nesta hora %ue entra e& (ena a estrutura de re'etio# Cnto 5a&os a elas:
Estrutura de Repeti/o Autom+tica 3para4
Para reali9ar re'eti3es auto&ti(as, 'ode&os utili9ar a estrutura %ARA, %ue 'er&ite %ue u& blo(o de (o&andos ou
u&a ao 'ri&iti5a se2a ee(utada u& nF&ero ex,ec-ico de 5e9es# Csta estrutura nos obriga a saber de ante&o a
%uantidade de 5e9es %ue os (o&andos internos sero re'etidos# Tendo (o&o base u&a ari.e# do ti'o inteiro, o a#or
i)icia# indi(a o ini(io da re'etio, o a#or -i)a# at1 onde a re'etio ir e o i)cre/e)to o 5alor %ue ser in(re&entado
e& (ada re'etio D 5ari5el de (ontrole Asentinela+#
Sintaxe:
para <varivel> de <valor inicial> at <valor final> passo <incremento> faa
incio
comando 1;
comando 2;
comando 3;
...
comando n;
fim
fim-para;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 22 de 51
Exemplo:
Algoritmo {estrutura para}
incio
inteiro: nota, sentinela;
para sentinela de 1 at 30 passo 1 faa
incio
escreva(informe a nota do aluno: );
leia(nota);
se (nota >= 60) ento
escreva(Aluno aprovado);
seno
escreva(Aluno reprovado);
fim-se
fim;
fim-para;
fim;
Estrutura de Repeti/o com Teste no In2cio 3en.uanto4
Para reali9ar re'eti3es (o& teste no in6(io, 'ode&os utili9ar a estrutura EN0UANTO, %ue 'er&ite %ue u& blo(o de
(o&andos ou u&a ao 'ri&iti5a se2a re'etida en%uanto u&a deter&inada 1co)di*!o2 for 5erdadeira# -s (o&andos
(ontidos neste ti'o de estrutura 'ode& no ser ee(utados nenhu&a 5e9, 2 %ue o &es&o testa a (ondio no in6(io da
estrutura# -utra (ara(ter6sti(a 1 %ue esta estrutura 'ode ser utili9ada %uando sabe&os ou no a %uantidade de re'eti3es#
Sintaxe:
enquanto < condio > faa
comando 1;
comando 2;
comando 3;
...
comando n;
fim-enquanto;
Exemplo:
algoritmo {Resultado}
incio
inteiro: Nota,
ContAlunos; //Contador
ContAlunos 1; //iniciar com 1
enquanto (ContAlunos <= 30) faa
escreva(Informe a nota: );
leia (Nota);
se (Nota >= 60) ento
escreva(Aluno aprovado);
seno
escreva(Aluno reprovado);
fim-se;
ContAlunos ContaAlunos + 1;
fim-enquanto;
fim
Estrutura de Repeti/o com Teste no 5inal 3repita4
Para reali9ar a re'etio (o& teste no final, utili9are&os a estrutura RE%ITA, %ue 'er&ite %ue u& blo(o ou ao
'ri&iti5a se2a re'etido AT3 %ue u&a deter&inada (ondio se2a 5erdadeira# >&a diferena bsi(a e& relao a
estrutura C)a>I)T- 1 %ue 'elo &enos u&a 5e9 o blo(o de (o&andos ou ao 'ri&iti5a 1 ee(utado 'ara %ue de'ois
se2a testada a (ondio de interru'o#
repita
comando 1;
comando 2;
comando 3;
...
comando n;
at <condio>;
algoritmo {Resultado}
incio
inteiro: Nota,
ContAlunos; //Contador
ContAlunos 1; //iniciar com 1
repita
escreva(Informe a nota: );
leia (Nota);
se (Nota >= 60) ento
escreva(Aluno aprovado);
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 27 de 51
seno
escreva(Aluno reprovado);
fim-se;
ContAlunos ContaAlunos + 1;
at ContAlunos < 30;
fim
Exerc2cios resol"idos 3Estrutura de Repeti/o4
1<# !oi reali9ada u&a 'es%uisa de algu&as (ara(ter6sti(as f6si(as da 'o'ulao de u&a (erta regio, a %ual (oletou os
seguintes dados de (ada u& dos seus 1// habitantes 'ara sere& analisados:
Seo A&as(ulino e fe&inino+, Cor dos olhos Aa9uis, 5erdes, (astanhos+, Cor dos (abelos Alouros, (astanhos, 'retos+ e
*dade#
!aa u& Ilgorit&o %ue deter&ine e es(re5a:
I &aior idade dos habitantes;
I 'er(entage& de indi56duos do seo fe&inino (u2a idade est entre 2/ e :/ anos in(lusi5e, e %ue tenha&
olhos 5erdes e (abelos 'retos#
algoritmo {Exemplo 19}
incio
inteiro: IDADE, MAIORIDADE, QTHAB, QTHABCAR;
caracter: SEXO, COROLHOS, CORCAB;
real: PERCENTCAR;
QTHAB 0; QTHABCAR 0; MAIORIDADE 0;
escreva (*** Exemplo 19 - Estrutura de Repetio ***);
enquanto (QTHAB < 100) faa
escreva(Digite o sexo ( f, m): );
leia (SEXO);
escreva(Digite a cor dos olhos: );
leia (COROLHOS);
escreva(Digite idade: );
leia (IDADE);
se (IDADE > MAIORIDADE) ento
MAIORIDADE IDADE ;
fim-se;
se (SEXO = `F' e COROLHOS = `V' e CORCAB = `P' e
IDADE >= 20 e IDADE <= 40) ento
QTHABCAR QTHABCAR + 1;
fim-se;
QTHAB QTHAB + 1;
fim-enquanto;
escreva (A maior idade : , MAIORIDADE);
PERCENTCAR (QTHABCAR / QTHAB) * 100;
escreva(Percentual de pessoas com a caractersticas : , PERCENTCAR);
fim-algoritmo.
2/# Construa u& Ilgorit&o %ue leia u& (on2unto de dados (ontendo altura, (or dos olhos e seoA&as(ulino e fe&inino+
de u& gru'o indeter&inado de 'essoas e %ue (al(ule e es(re5a:
Maior altura entre s ho&ens;
Menor altura entre as &ulheres;
M1dia de altura de todo o gru'o;
auantas &ulheres de olhos a9uis#
- Flti&o gru'o de dados %ue de5er ser des(onsiderado 1 a%uele e& %ue a altura 1 igual a / A9ero+#
algoritmo { Exemplo 20)
incio
inteiro: QTMULOA, QTPESS;
caracter: SEXO, COROLHOS;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 2: de 51
real: ALTURA, MAIORALTH, MENORALTM, ACMALTG;
MAIORALTH 0;
MENORALTM 5;
QTMULOA 0;
QTPESS 0;
ACMALTG 0;
escreva (*** Exemplo 20 - Estrutura de Repetio ***);
escreva (Digite altura: );
leia(ALTURA);
enquanto (ALTURA <> 0) faa
escreva(Digite a cor dos olhos: );
leia(COROLHOS);
escreva (Digite sexo: );
leia(SEXO);
se (ALTURA > MAIORALTURA e SEXO = `H') ento
MAIORALTURA ALTURA;
fim-se;
se (ALTURA < MENORALTM e SEXO = `M') ento
MENORALTM ALTURA;
fim-se;
QTPESS QTPESS + 1;
ACMALTG ACMALTG + ALTURA;
escreva (Digite altura: );
leia (ALTURA);
fim-enquanto;
se (QTPESS = 0) ento
escreva (No h pessoas para clculo);
seno
inicio
MEDIAALTG ACMALTG / QTPESS;
escreva (A maior altura dos homens : , MAIORALTH);
escreva (A menor altura das mulheres : , MENORALM);
escreva (A media geral : , MEDIAALTG);
fim;
fim-se;
fim-algoritmo.
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 25 de 51
21# Clabore u& Ilgorit&o %ue i&'ri&a todos os nF&eros 'ares eistentes entre )1 e )2, onde )1 e )2 so nF&eros naturais
forne(idos 'elo usurio#
01. algoritmo {Exemplo 21.1 - utilizando PARA}
02. incio
03. inteiro: N1, N2, X;
04. escreva (*** Exemplo 21.1 - Estrutura de Repetio ***);
05. escreva (Define os nmeros pares entre dois nmeros informados);
06. escreva (Digite N1: );
07. leia (N1);
08. escreva (Digite N2: );
09. leia (N2);
10. para X de N1 at N2 passo 1 faa
11. se (X mod 2 = 0) ento
12. escreva (X);
13. fim-se;
14. fim-para;
15. fim-algoritmo.
01. algoritmo {Exemplo 21.2 - utilizando ENQUANTO}
02. incio
03. inteiro: N1, N2, X;
04. escreva (*** Exemplo 21.2 - Estrutura de Repetio ***);
05. escreva (Define os nmeros pares entre dois nmeros informados);
06. escreva (Digite N1: );
07. leia (N1);
08. escreva (Digite N2: );
09. leia (N2);
10. X N1;
10. enquanto (X <= N2) faa
11. se (X mod 2 = 0) ento
12. escreva (X);
13. fim-se;
14. X X + 1;
15. fim-enquanto;
16. fim-algoritmo.
-bser5e %ue no ee&'lo 21#2 se fa9 ne(essrio in(re&entar e& 1 a 5ari5el J Alinha 15+, 'ois, (aso isso no se2a
feito, a (ondio de 'arada AJ YQ )2+ nun(a ser atingida, e (o& isso o 'rogra&a entrar e& loo'# )o ee&'lo 21#1
isso no 1 feito &anual&ente, entretanto, ao atingir a linha 18 Afi&-'ara+ a estrutura de re'etio in(re&enta
auto&ati(a&ente e& 1 A'asso 1+ a 5ari5el J#
22# Clabore u& Ilgorit&o %ue leia os dados AnF&ero de identifi(ao, (or, 'eso+ dos 2/ bois de u& frigor6fi(o e %ue (al(ule e
es(re5a:
- nF&ero de identifi(ao e o 'eso do boi &ais gordo;
- boi 'reto de &aior 'eso e o seu 'eso;
I &1dia de 'eso de todo o rebanho#
algoritmo {Exemplo 22}
incio
inteiro: NUIDENT, NUIDENTPG, NUIDENTGORDO, QTBOIS;
caracter: COR;
real: PESO, PESOPG, PESOGORDO, ACMPESO, MEDIAPESO;
ACMPESO 0;
QTBOIS 0;
PESOPG 0;
PESOGORDO 0;
enquanto (QTBOIS < 200) faa
escreva (`Digite o numero de identificao: ');
leia (NUIDENT);
escreva (`Digite a cor: ');
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 28 de 51
leia (COR);
escreva (`Digite peso: ');
leia (PESO);
ACMPESO ACMPESO + PESO;
se (PESO > PESOGORDO) ento
PESOGORDO PESO;
NUIDENTGORDO NUIDENT;
fim-se;
QTBOIS QTBOIS + 1;
se (PESO > PESOGORDO e COR = `PRETO') ento
PESOPG PESO;
NUIDENTPG NUIDENT;
fim-se;
fim-enquanto;
MEDIAPESO ACMPESO / QTBOIS;
escreva (A media de peso : , MEDIAPESO);
escreva (O boi preto mais gordo : , NUIDENTPG,
e seu peso : , PESOPG);
escreva (O boi mais gordo : , NUIDENTGORDO,
e seu peso : , PESOGORDO);
fim-algoritmo.
27# Clabore u& Ilgorit&o %ue leia o seo e a altura de u& gru'o indeter&inado de 'essoas e (al(ule a &1dia das alturas
dos ho&ens e das &ulheres do gru'o# - Flti&o (on2unto de infor&a3es a ser lido e des(onsiderado de5er ser
a%uele e& %ue o seo for igual a c!*M@#
algoritmo {Exemplo 23}
incio
inteiro: CONTH, CONTM;
caracter: SEXO;
real: ALTURA, MALTH, MALTM, ACMALTH, ACMALTM;
CONTH 0;
CONTM 0;
ACMALTH 0;
ACMALTM 0;
escreva (Digite SEXO (h, m, f): ;
leia (SEXO);
enquanto (SEXO <> `f') faa
escreva (`digite altura: ');
leia (ALTURA);
se (SEXO = `m') ento
CONTM CONTM + 1;
ACMALTM ACMALTM + ALTURA;
seno
CONTH CONTH + 1;
ACMALTH ACMALTH + ALTURA;
fim-se;
escreva (Digite SEXO (h, m, f): );
fim-enquanto;
se (CONTH = 0) ento
escreva (No h homens para clculo);
seno
MEDIAALTH ACMALTH / CONTH;
escreva (A mdia de altura dos homens : , MEDIAALTH);
fim-se;
se (CONTM = 0) ento
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 2= de 51
escreva (No existe mulheres para calculo);
seno
MEDIAALTM ACMALTM / CONTM;
escreva (A mdia de altura das mulheres : , MEDIAALTM);
fim-se;
fim-algoritmo.
2:# Clabore u& Ilgorit&o %ue leia o no&e e o salrio bruto de 5/ fun(ionrios# - Ilgorit&o de5er (al(ular o salrio
l6%uido Ausando a f.r&ula SI"h$*-i"ja>*E- Q SI"h$*-iP$>T- U /,H/+# - Ilgorit&o de5e es(re5er o
no&e e o salrio l6%uido de todos os fun(ionrios %ue 'ossue& salrio l6%uido su'erior a $;8//,//#
algoritmo {EXERC 24}
incio
inteiro: QTFUN, I;
caracter: NOME;
real: SALB, SALLIQ;
QTFUN 0;
para I de 1 at 50 passo 1 faa
escreva (Digite o nome: );
leia (NOME);
escreva (Digite o salrio bruto: );
leia (SALB);
SALLIQ SALB * 0.80;
se (SALLIQ > 600.00) ento
escreva (NOME, tem salrio lquido = , SALLIQ);
fim-se
fim-para;
fim-algoritmo.
25# Eeter&ine os 5alores J e ^ a'.s a ee(uo do Ilgorit&o# -bser5ao: Ee&onstrar o resultado atra51s de rastreio#
Algoritmo {calcxy}
incio
inteiro: X, Y, INDICE;
X 0;
Y 2;
para INDICE de 2 at 6 passo 1 faa
X 3 * Y - 5;
Y INDICE + 2;
fim-para;
escreva (X, Y);
fim-algoritmo.
X 4 INDICE
/ 2 2
1 : 7
= 5 :
1/ 8 5
17 = 8
18 H =
)o final da ee(uo 5aler 18
e g 5aler H#
28# Clabore u& Ilgorit&o %ue leia u& (on2unto de dados (ontendo a altura e o seo de u& gru'o de 'essoas e %ue
deter&ine a &aior e a &enor altura do gru'o# - final do (on2unto de 5alores 1 (onhe(ido atra51s da altura igual a
9ero, %ue no de5e ser (onsiderada#
algoritmo {Exemplo 26}
incio
caracter: SEXO;
real: ALTURA, MENORALTURA, MAIORALTURA;
MENORALTURA 0;
MAIORALTURA 5;
escreva (`Digite altura');
leia (ALTURA)
enquanto ALTURA <> 0 faa
se (ALTURA > MAIORALTURA) ento
MAIORALTURA ALTURA;
fim-se;
se (ALTURA < MENORALTURA) ento
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 2H de 51
MENORALTURA ALTURA;
fim-se;
fim-enquanto;
escreva (`A maior altura do grupo : ', MAIORALTURA);
escreva (`A menor altura do grupo : ', MENORALTURA);
fim-algoritmo.
2=# Inalise os 'assos abaio e des(re5a o %ue resultar a'.s a ee(uo:
a+ X = 2;
Y = 3;
TEMP = X;
X = Y;
Y = TEMP;
X 4 TE(%
2 7 2
7 7 7
b+ X = 1;
enquanto X <= 10 faa]
escreva (X);
X = X + 1;
fim-enquanto;
X
1
2
7
:
5
8
=
H
<
1/
11
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 2< de 51
Exerccios 5 A#6orit/os co/ Estrutura de Re,eti*!o
1# Construa u& algorit&o %ue leia u& (on2unto de dados (ontendo altura, (or dos olhos e seo A&as(ulino e fe&inino+
de u& gru'o de 2/ 'essoas e %ue (al(ule e es(re5a:
&aior altura entre os ho&ens;
&enor altura entre as &ulheres;
&1dia de altura de todo o gru'o;
%uantos &ulheres de olhos a9uis#
2# Eeter&ine o resultado do algorit&o abaio:
algoritmo{teste}
incio
inteiro: X, Y;
X 4;
Y 1;
enquanto X <= 9 faa
Y X - 2;
X X + 1;
fim-enquanto;
escreva (X, Y);
fim-algoritmo.
7# Construa u& algorit&o %ue, dado u& (on2unto de 5alores inteiros e 'ositi5os, deter&ine %ual o &enor e o &aior
5alor do (on2unto# o final do (on2unto de 5alores 1 (onhe(ido atra51s do 5alor -1, %ue no de5e ser (onsiderado#
:# Clabore u& algorit&o %ue leia o no&e, o salrio, o nF&ero do de'arta&ento e o seo de H/ fun(ionrios de u&a
e&'resa e %ue (al(ula e es(re5a
o &aior salrio do gru'o;
o &enor salrio e o no&e do fun(ionrio %ue o 'ossui;
a &1dia de salrio das &ulheres;
&1dia de salrio dos de'arta&entos de nF&ero /7 e /:#
5# Clabore u& algorit&o %ue soli(ite ao usurio dois nF&eros %uais%uer e (al(ule e es(re5a a so&a dos &es&os#
8# Clabore u& algorit&o %ue soli(ite ao usurio o 'ri&eiro ele&ento de u&a PI AI1+ e %ue (al(ule e es(re5a a so&a
dos 7/ 'ri&eiros ele&entos da PI#
=# Clabore u& algorit&o %ue soli(ite as 1/ notas de u& aluno e %ue (al(ule e es(re5a :
a &1dia do aluno;
es(re5a a &ensage& ,IP$-?IE-4 se a &1dia foi su'erior a 8/ e (aso (ontrrio ,$CP$-?IE-4;
es(re5a a %uantidade de notas inferiores a 5/ 'ontos#
H# Clabore u& algorit&o %ue soli(ite ao usurio a sua nota e fre%uBn(ia e %ue:
deter&ine e es(re5a a &ensage& IP$-?IE- ou $CP$-?IE- (onfor&e as (ondi3es abaio:
nota X H5 I'ro5ado
8/ Y nota Y H5 e fre%uBn(ia XQ =50 I'ro5ado
:/ Y nota Y 8/ e fre%uBn(ia XQ =50 $e(u'erao
)ota Y :/ ou fre%LBn(ia inferior a =50 $e'ro5ado
<# Clabore u& algorit&o %ue es(re5a os nF&eros: 1, 7, 5, =, ####, 21#
1/# Clabore u& algorit&o %ue es(re5a os nF&eros: 7, <, 2=, ######, 2:7#
11# Clabore u& algorit&o %ue es(re5a os nF&eros: 7, 8, <, ### , 8/#
12# Clabore u& algorit&o %ue soli(ite ao usurio o seo e a idade de 7/ 'essoas e %ue (al(ule e es(re5a o 'eso ideal
de a(ordo (o& a f.r&ula abaio:
So&ens - A=2,= U h + - 5H
Mulheres - A82,1 U h + - ::,=
17# Clabore u& algorit&o %ue (al(ule e es(re5a u&a tabela de graus (ent6grados e& funo de graus !ahrenheit %ue
5arie& de 5/ a 15/ de 1 e& 1# I f.r&ula C Q 5T< A ! - 72+#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 7/ de 51
1:# Construa u& algorit&o %ue, dado u& (on2unto de 5alores inteiros e 'ositi5os, deter&ine %ual o &enor 5alor do
(on2unto de :5 nF&eros#
15# Clabore u& algorit&o %ue leia o seo, a (or dos olhos e a altura de u& gru'o de u& gru'o indeter&inado de
'essoas# - Flti&o (on2unto de dados %ue no de5e ser (onsiderado 1 a%uele %ue a altura infor&ada 1 -1# - algorit&o
de5er:
Eeter&inar e es(re5er a &1dia de altura de todo o gru'o;
Eeter&inar e es(re5er a &1dia de altura dos ho&ens;
Eeter&inar e es(re5er a &1dia de altura das &ulheres;
Eeter&inar e es(re5er a &aior altura das &ulheres;
Eeter&inar e es(re5er a &enor altura das &ulheres;
Eeter&inar e es(re5er a &aior altura dos ho&ens;
Eeter&inar e es(re5er a &enor altura dos ho&ens;
Eeter&inar e es(re5er %uantos ho&ens 'ossue& altura su'erior a 1,=H &;
Eeter&inar e es(re5er a %uantidade de &ulheres de olhos a9uis e altura entre 1,H/& e 1,</&#
18# Clabore u& algorit&o %ue i&'ri&a todos os nF&eros 'ares eistentes entre 7/ e 2//#
1=# Clabore u& algorit&o %ue leia os dados AnF&ero de identifi(ao, (or, 'eso+ dos 2/ bois de u& frigor6fi(o e %ue
(al(ule e es(re5a:
- nF&ero de identifi(ao e o 'eso do boi &ais gordo;
- boi 'reto de &aior 'eso e o seu 'eso#
1H# Clabore u& algorit&o %ue leia o no&e e o salrio bruto de 5/ fun(ionrios# - algorit&o de5er (al(ular o salrio
l6%uido Ausando a f.r&ula SI"h$*--"ja>*E- Q SI"h$*--P$>T- U /,H/+# - algorit&o de5e es(re5er o no&e e
o salrio l6%uido de todos os fun(ionrios %ue 'ossue& salrio l6%uido su'erior a $;8//,//#
1<# Eeter&ine os 5alores J e ^ a'.s a ee(uo do algorit&o# -bser5ao: Ee&onstrar o resultado atra51s de rastreio
A(hinesinho+#
algoritmo{calcxy}
inteiro: X, Y, INDICE;
X 0;
Y 2;
para INDICE de 4 at 10 passo 1 faa
X 3 * Y - 5;
Y INDICE + 4;
fim-para;
escreva (X, Y);
fim-Algoritmo.
J ^
Algoritmo{ex1}
inteiro: X, Y, NUCHAMADA;
escreva(`Digite o num. Chamada:');
leia ( NUCHAMADA);
se (NUCHAMADA mod 2 > 2) ento
X NUCHAMADA;
seno
X NUCHAMADA + 1;
Y NUCHAMADA - 3;
fim-se;
se (X > 2) ento
X X + 2;
seno
Y Y - 5;
fim-se;
escreva (Os valores de X e Y so: , X, Y);
fim-algoritmo
J ^
2/# Soli(itar ao usurio o te&'o gasto na (orrida 'elos (o&'etidores A flag -1+# Cibir no 56deo o te&'o gasto 'elo
5en(edor e o do %ue (hegou e& Flti&o lugar#
21# Soli(itar ao usurio o seo kMT!l e a altura de u&a 'essoa# Cal(ular e es(re5er o seu 'eso ideal, sabendo %ue a
f.r&ula 'ara o (al(ulo do ho&ens 1 A =2#= U altura + - 5H e das &ulheres A 82#1 U altura + - ::#=# $e'etir at1 %ue se2a
digitado a letra m (o&o res'osta D soli(itao do seo soli(itar ao usurio o seo kMT!l e a altura de u&a 'essoa#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 71 de 51
Cal(ular e es(re5er o seu 'eso ideal, sabendo %ue a f.r&ula 'ara o (al(ulo do ho&ens 1 A =2#= U altura + - 5H e das
&ulheres A 82#1 U altura + - ::#=# $e'etir at1 %ue se2a digitado a letra m (o&o res'osta D soli(itao do seo#
22# Soli(itar ao usurio 5alores de &er(adorias at1 %ue se2a digitado o 5alor -1# Cibir no 56deo o total da (o&'ra#
27# Clabore u& algorit&o %ue leia a nota de 2/ alunos de u&a tur&a e %ue:
a+ Eeter&ine e es(re5a %uantos alunos obti5era& nota igual ou su'erior a 8/ 'ontos;
b+ Eeter&ine e es(re5a %uantos alunos obti5era& nota entre 7/ e :/ 'ontos#
2:# Clabore u& algorit&o %ue leia a idade e seo de 7/ 'essoas e %ue:
a+ Eeter&ine e es(re5a %uantos ho&ens 'ossue& idade a(i&a de 7/ anos;
b+ Eeter&ine e es(re5a a 'or(entage& de &ulheres do gru'o#
25# Clabore u& algorit&o %ue leia u& (on2unto de nF&eros inteiros# - Flti&o (on2unto de dados no 5lido 1 a%uele
%ue o nF&ero infor&ado 1 - :# - algorit&o de5e:
a+ Eeter&ine e es(re5a a &1dia dos nF&eros;
b+ Eeter&ine e es(re5a %uantos nF&eros so 'ares#
28# Clabore u& algorit&o %ue leia a idade e o seo de u& gru'o indeter&inado de 'essoas# - Flti&o (on2unto de
dados no 5lido 1 a%uele %ue a idade infor&ada 1 - 1# - algorit&o de5er deter&inar e es(re5er:
a+ a &aior idade entre os ho&ens;
b+ a &enor idade entre as &ulheres;
(+ a &1dia de idade entre as &ulheres;
d+ a 'or(entage& de ho&ens do gru'o#
2=# Clabore u& algorit&o %ue leia a (or dos olhosA?,I, C,P+, a idade e o seo de 7/ 'essoas e %ue (al(ule e es(re5a:
a+ %uantidade de ho&ens de olhos a9uis;
b+ %uantidade de &ulheres do gru'o;
(+ 'or(entage& de &ulheres do gru'o %ue 'ossue& olhos 5erdes;
d+ &aior altura entre as &ulheres;
e+ 'or(entage& de 'essoas (o& (ada u&a das (ores dos olhos#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 72 de 51
ESTRUTURAS DE DADOS ESTRUTURAS DE DADOS
-s ti'os 'ri&iti5os de dados at1 ento utili9ados: inteiro, real, (ara(ter e l.gi(o no so sufi(ientes 'ara a resoluo de
todos os 'roble&as da 5ida real# C& &uitos (asos eles 'ode& ser substitu6dos 'ara u&a &elhor soluo#
Csses no5os ti'os, deno&ina&os ti'os (onstru6dos, a 'artir da (o&'osio de ti'os 'ri&iti5os# Csses no5os ti'os tB&
u& for&ato deno&inado CST$>T>$I EC EIE-S, %ue define (o&o os ti'os 'ri&iti5os esto organi9ados# Ee for&a
anloga, anterior&ente, as ga5etas 'odia& (o&'ortar a'enas u&a infor&ao e, segundo esse no5o (on(eito, u&a
ga5eta 'oderia (o&'ortar u& (on2unto de infor&a3es 'ri&iti5as, desde %ue de5ida&ente organi9adas, di5ididas#
I'enas 'elo fato de (onstitu6re& no5os ti'os, estes so estranhos ao Ilgorit&o e, 'ortanto, de5e& ser de(larados e&
(ada detalhe de sua estrutura#
Vari"!eis Compostas 1nidimensionais
?ari5eis unidi&ensionais 'or%ue 'ossue& u&a Fni(a di&enso#
>& ee&'lo (lssi(o de 5ari5el unidi&ensional 1 a &atri9 1J), ou se2a, &atri9 de u&a Fni(a linha e n (olunas# N
(ha&ada (o&u&ente de 5etores#
Ce&'lo: ?etor ou ?ari5el Co&'osta >nidi&ensional A?CT-$ )-TI EC 1/ C"CMC)T-S EC T*P- P$*M*T*?-
$CI"+#
)-TI
1/ 5 H,H < 1/ H 8 : 2,5 H,H
/ 1 2 7 : 5 8 = H <
- no&e do 5etor 1 deter&inado 'or &eio do identifi(ador %ue foi utili9ado na definio de 5ari5eis, e a 'osio, 'or
&eio da (onstante, e'resso arit&1ti(a ou 5ari5el %ue esti5er dentro dos (ol(hetes, ta&b1& deno&inada de 6ndi(e#
)a grande &aioria das linguagens este 6ndi(e ini(ia-se e& /# Portanto, u& 5etor de 1/ 'osi3es ter 6ndi(e de / a <#
I'.s isolar u& Fni(o ele&ento do 5etor, 'odere&os &ani'ul-lo atra51s de %ual%uer o'erao de entrada, sa6da ou
atribuio#
Ce&'los:
NOTA[1] 10;
NOTA[4] 9;
NOTA[10] 8,8;
NOTA[6] 7;
leia (NOTA[7]);
escreva (NOTA[5]);
Declara/o de 6ari+"eis *ompostas Unidimensionais 3 a#6orit/o 4
<tipo> NomeVariavel[Quantidade];
-nde: Yti'oX: o ti'o de infor&ao %ue o 5etor ir ar&a9enar;
)o&e?aria5el: 1 o no&e 'ro'ria&ente dito do 5etor#
auantidade: auantidade &i&a de infor&a3es ar&a9enadas no 5etor#
Declara/o de 6ari+"eis *ompostas Unidimensionais 3 %ro6ra/a C7C88 4
Para o ee&'lo do ?etor )-TI anterior 'oder6a&os de(lar-lo da seguinte &aneira:
float )-TI k1/l;
Exemplos de algoritmos com 6ari+"eis *ompostas Unidimensionais 7 6etores
1# Clabore u& Ilgorit&o %ue leia a nota e o no&e de u& gru'o de 7/ alunos e %ue:
a+ (al(ule e es(re5a %uantos alunos ti5era& notas su'erior D 8/ 'ontos;
b+ (al(ule e es(re5a a &1dia das notas do gru'o;
(+ (al(ule e es(re5a %uantos alunos 'ossue& nota su'erior D &1dia#
Algoritmo {Exemplo 1}
real: MEDIAG, //Mdia geral das notas
ACMNOTA; //ACUMULAR notas
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 77 de 51
NOTA[30];
inteiro: QTALUNO, //Contador de alunos, usado tambm como ndice do vetor VNOTA
QTALUNOSUPM, //QUANTIDADE de alunos com nota superior mdia
QTALUNOS60; //QUANTIDADE de alunos com nota superior a 60 pontos
cadeia: NOME;
//inicializao das variveis
QTALUNOSUPM 0;
QTALUNOS60 0;
ACMNOTA 0;
para (QTALUNO de 0 at 29 passo 1) faa
escreva (Digite o nome do aluno: );
leia (NOME);
escreva (Digite a nota do aluno: );
leia (NOTA[QTALUNO]);
se (NOTA[QTALUNO] > 60) ento
//contar a quantidade de alunos com nota > 60
QTALUNOS60 QTALUNOS60 + 1;
fim-se;
//Acumular notas
ACMNOTA ACMNOTA + NOTA[QTALUNO];
//contar a quantidade total de alunos
fim-para;
//Clculo da mdia das notas
MEDIAG ACMNOTA / 30;
escreva (A mdia geral das notas do grupo igual a , MEDIAG);
escreva (A quantidade de alunos com nota superior a 60 , QTALUNOS60);
para (QTALUNOS de 0 at 29) faa
se (NOTA[QTALUNO] > MEDIAG) ento
//contar quantidade alunos nota superior a mdia
QTALUNOSUPM QTALUNOSUPM + 1;
fim-se;
fim-para;
escreva(A quantidade de alunos com nota superior a mdia , QTALUNOSUPM);
fim-Algoritmo
2# Clabore u& Ilgorit&o %ue leia a altura e o no&e de 1/ 'essoas e %ue:
a+ (al(ule e es(re5a a &1dia de altura do gru'o;
b+ (al(ule e es(re5a %uantas 'essoas 'ossue& altura &enor ou igual D &1dia;
(+ %ual a &aior altura do gru'o e %ue& a 'ossui#
Algoritmo {Exemplo 2};
//Declarao das variveis
real: MAIORALTURA, //maior altura do grupo
ACMALTURA, //ACUMULADOR de alturas
MEDIAALTURA; //MDIA geral das alturas
ALTURA[10];
caracter: NOME, //nome da pessoa
NOMEMAIOR; //nome da pessoa de maior altura
inteiro: x;
MAIORALTURA 0;
para (x de 0 at 9) faa
escreva (Digite o nome da pessoa: );
leia(NOME);
escreva(Digite a altura da pessoa: );
leia (ALTURA[x]);
se (ALTURA[x] > MAIORALTURA) ento
MAIORALTURA ALTURA[x];
NOMEMAIOR NOME;
fim-se;
ACMALTURA ACMALTURA + ALTURA[x];
fim-para;
MEDIAALTURA ACMALTURA / 10;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 7: de 51
escreva (A maior altura do grupo , MAIORALTURA);
escreva (A pessoa que possui a maior altura , NOMEMAIOR);
para (x de 0 at 9) faa
se (ALTURA[x] <= MEDIAALTURA) ento
QTPESSOASMEDIA QTPESSOASMEDIA + 1;
fim-se;
fim-para;
escreva(A quantidade de pessoas com altura inferior mdia : , MEDIALTURA);
fim-algoritmo
7# Clabore u& Ilgorit&o %ue leia o no&e e a nota de :/ alunos e %ue:
a+ Cs(re5a o no&e de todos os alunos %ue obti5era& nota igual ou su'erior a =5 'ontos;
b+ Cal(ule e es(re5a %uantos alunos obti5era& nota su'erior ou igual D &1dia do gru'o#
Algoritmo {Exemplo 3};
real NOTA[40];
inteiro: QTA 0, QTAM 0;
real: MEDIA, SOMA 0;
caractere: NOME;
enquanto (QTA < 40) faa
escreva(Digite a nota: );
leia(NOTA[QTA]);
escreva(Digite o nome: );
leia(NOME);
SOMA SOMA + NOTA[QTA];
se (NOTA[QTA] >= 75) ento
escreva (O nome do(a) aluno(a) com nota superior ou igual a 75 : , NOME);
fim-se;
QTA QTA+1;
fim-enquanto;
MEDIA SOMA / (QTA-1);
QTA 0;
enquanto (QTA < 40) faa
se (NOTA[QTA] >= MEDIA) ento
QTAM QTAM + 1;
fim-se;
QTA QTA + 1;
fim-enquanto;
escreva(O nmero de alunos que possui nota maior ou igual a media : , QTAM);
fim-algoritmo.
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 75 de 51
Var"!eis Composta 4idimensionais &*atri5es'
>&a 5ari5el (o&'osta bidi&ensional ne(essita de dois 6ndi(es 'ara se referen(iar a u&a dada infor&ao# *&agine
%ue ne(essita&os de guardar 7 notas bi&estrais de 1/ alunos de u&a tur&a (onfor&e a tabela abaio:
Colunas
"
i
n
h
a
s
1 2 7
1 5 2/ 7/
2 1H 1H 25
7 1< 1< 7/
: 2/ 2 2/
5 1H 2/ 25
8 2/ 25 1/
= 25 2/ 25
H 2/ 25 2/
< 2/ 25 2/
1/ 2/ 25 77
Ei9e&os %ue a tabela a(i&a 'ossui 7 (olunas A7 notas 'or aluno+ e 1/ linhas A1/ alunos+# I &atri9 de5er ser de(larada
(o&o: inteiro: )-TISk1/lk7l;
Para referen(iar a u&a deter&inada nota de5e&os infor&ar o nF&ero da "*)SI e da C-">)I, 'or ee&'lo:
)-TIS k 7 , 8 l 1/;
)-TIS k 1 , 1 l 5;
)-TIS k 1/ , 7l 77;
)-TIS k : , 2 l 2;
Declara/o de 6ari+"eis *ompostas Multidimensionais
Yti'oX )o&e?aria5el kat"in, %tColl;
-nde: Yti'oX: ti'o da infor&ao %ue ser ar&a9enado na &atri9
at"in: auantidade de linhas da &atri9# "e&bre-se %ue seu 6ndi(e ini(ia e& /#
atCol: auantidade de (olunas da &atri9# Seu 6ndi(e ta&b1& se ini(ia e& /#
Para o ee&'lo de u&a &atri9 7/ J : 'ara guardar as : notas de (ada u& dos 7/ alunos da Tur&a 1:/, ter6a&os a
seguinte de(larao:
real NOTA[30, 4];
Exemplos de problemas resol"idos com 6ari+"eis *ompostas 8idimensionais 7 Matri9es
1# Clabore u& Ilgorit&o %ue leia os ele&entos de u&a &atri9 IA7:+ e %ue:
a+ Cal(ule e es(re5a a so&a de (ada u&a das linhas;
b+ Cal(ule e es(re5a %uantos ele&entos da &atri9 so su'eriores D &1dia#
Algoritmo {Exemplo 1}
inteiro MAT[3, 4], L, C, SOMA, SOMAL;
real: MEDIA;
SOMA 0;
SOMAL 0;
para L de 0 at 2 passo 1 faa
para C de 0 at 3 passo 1 faa
escreva (Digite o elemento MAT[, L, ,, C, ]: );
leia (MAT[L, C]);
SOMAL SOMAL + MAT[L,C];
SOMA SOMA + MAT[L, C];
fim-para;
escreva (`A soma da linha ', L , ` : ', SOMAL);
SOMAL 0;
fim-para;
MEDIA SOMA / 12;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 78 de 51
escreva(Os elementos maiores que a mdia so: );
para L de 0 at 2 faa
para C de 0 at 3 faa
se (MAT[L, C] > MEDIA) ento
escreva(MAT[L, C]);
fim-se;
fim-para
fim-para
fim-algoritmo
2# Clabore u& Ilgorit&o %ue leia os ele&entos de u&a &atri9 %uadrada 55 a 'artir do dis'ositi5o de entrada e %ue:
a+ Eeter&ine e es(re5a o &aior ele&ento da &atri9 I;
b+ auais os ele&entos da diagonal 'rin(i'al %ue so &aiores %ue 2/;
(+ Cal(ule e es(re5a os ele&entos de u&a &atri9 P %ue 1 tri'lo da &atri9 I#
algoritmo{Exemplo 2}
real MAT[5, 5];
inteiro: L, C, EDP20, X;
real: MAIORELE;
EDP20 0;
MAIORELE 0;
X 5;
para L de 0 at 4 faa
para C de 0 at 4 faa
escreva(Digite o elemento: );
leia(A[L, C]);
B[L, C] 3 * A[L, C];
escreva(O elemento [, L, ,, C, ] da matriz B : , B[L, C]);
se (A[L, X] > MAIORELE) ento
MAIORELE A[L, X];
fim-se
se ((L = C) e (A[L, C] > 20)) ento
EDP20 EDP20 + 1;
fim-se
fim-para
X X - 1;
fim-para
escreva(O maior elemento da diagonal secundria : , MAIORELE);
escreva(O nmero de elemento maiores que 20 na diagonal principal : , EDP20);
fim-algoritmo
Exerc2cios 7 Algoritmos: 6etores e Matri9es
1# Clabore u& Ilgorit&o %ue leia 1/ nF&eros inteiros e ar&a9ene-os e& u&a 5ari5el (o&'osta unidi&ensional#
Eeter&ine %ual o &enor e o &aior nF&ero inteiro e es(re5a-os#
2# Clabore u& Ilgorit&o %ue leia as notas de 5/ alunos, (al(ule a &1dia e i&'ri&a a &1dia e o nF&ero de alunos (o&
nota su'erior D &1dia#
7# !aa u& Ilgorit&o %ue (al(ule e es(re5a a so&at.ria dos 5alores ar&a9enados nu&a 5ari5el (o&'osta
unidi&ensional I, de 1// ele&entos nu&1ri(os a sere& lidos do dis'ositi5o de entrada#
:# Cs(re5a u& Ilgorit&o %ue leia as notas de 5/ alunos e i&'ri&a a &1dia e a fre%uBn(ia de (ada nota de 1 a 1/#
5# Clabore u& Ilgorit&o %ue leia u& (on2unto de dados (ontendo o no&e e a nota de 5/ alunos e de'ois (al(ule e
es(re5a:
a+ a &aior nota do gru'o e o no&e do aluno;
b+ %ual a &1dia das notas do gru'o e %ual o no&e e a nota dos alunos#
8# Clabore u& Ilgorit&o %ue leia o no&e e o salrio bruto de 5/ fun(ionrios# - Ilgorit&o de5er (al(ular a &1dia
dos salrios e 'osterior&ente es(re5er o no&e e o salrio dos fun(ionrios %ue ganha& abaio da &1dia do gru'o#
=# Clabore u& Ilgorit&o %ue leia o no&e, salrio bruto e o nF&ero do de'arta&ento de 1/// fun(ionrios de u&a
e&'resa# Sendo os nF&eros dos de'arta&entos de 1 a 1/, o Ilgorit&o de5er:
(al(ular e es(re5er o total de gastos de (ada u& dos de'arta&entos;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 7= de 51
deter&inar e es(re5er o no&e e o salrio bruto de todos os fun(ionrios %ue ganha& a(i&a da &1dia do
gru'o;
deter&inar e es(re5er o no&e de todos os fun(ionrios do de'arta&ento 1/ %ue ganha& a(i&a da &1dia;
deter&inar e es(re5er o nF&ero e o salrio do de'arta&ento de &aior gasto (o& 'essoal#
H# Clabore u& Ilgorit&o %ue leia a nota e no&e de :/ alunos de u&a tur&a e %ue:
deter&ine e es(re5a a &1dia das notas da tur&a;
deter&ine e es(re5a %uantos alunos 'ossue& nota igual D &1dia;
deter&ine e es(re5a o no&e de todos os alunos %ue 'ossue& nota igual ou inferior D &1dia#
<# Clabore u& Ilgorit&o %ue so&e os ele&entos de u&a &atri9 : =#
1/# Clabore u& Ilgorit&o %ue guarde e& u&a &atri9 I : notas bi&estrais e a &1dia de (ada aluno de u&a tur&a de
8/ alunos#
-PS#: "eia as : notas bi&estrais 'ara (al(ular a &1dia#
11# Clabore u& Ilgorit&o %ue so&e os ele&entos da diagonal 'rin(i'al de u&a &atri9 8 8#
12# Clabore u& Ilgorit&o %ue leia de u& dis'ositi5o de entrada u&a &atri9 8= e %ue (al(ule e es(re5a:
a+ a &1dia do nF&ero da &atri9;
b+ %uantos ele&entos so su'eriores D &1dia do 5alor dos ele&entos;
(+ todos os ele&entos &aiores %ue a &1dia;
d+ a so&a dos ele&entos de (ada u&a das linhas;
e+ %uantos ele&entos so &aiores %ue 5/#
17# Clabore %ue leia a nota e o no&e de 8/ alunos de u&a tur&a e %ue:
a+ deter&ine e es(re5a a &1dia das notas da tur&a;
b+ deter&ine e es(re5a %uantos alunos 'ossue& nota igual ou su'erior D &1dia;
(+ deter&ine e es(re5a o no&e de todos os alunos %ue 'ossue& nota inferior D &1dia;
d+ deter&ine e es(re5a a nota de &aior fre%uBn(ia;
e+ deter&ine e es(re5a a &enor nota do gru'o#
1:# Clabore u& Ilgorit&o %ue leia o no&e, salrio bruto e o nF&ero do de'arta&ento de =// fun(ionrios de u&a
e&'resa# Sendo o nF&ero de de'arta&entos de /1 a 15, o algorit&o de5er:
a+ Cal(ular e es(re5er o gasto (o& salrio bruto de (ada u& dos de'arta&entos;
b+ Eeter&inar e es(re5er o no&e de (ada u& dos fun(ionrio %ue ganha& a(i&a da &1dia dos salrios dos
fun(ionrios;
(+ Eeter&inar e es(re5er o no&e de todos os fun(ionrios do de'arta&ento 1/ %ue ganha& abaio da &1dia;
d+ Eeter&inar e es(re5er o nF&ero do de'arta&ento %ue 'ossui o &aior gasto (o& salrio#
15# Eado u& (on2unto de n registros (ada registro (ontendo u& 5alor real, faa u& algorit&o %ue (al(ule a &1dia dos
5alores &aiores %ue :#
18# Eado u&a relao de 1// (arros i&'ri&a %uantos so da (or a9ul# Sendo 'ara (ada (arro te&-se u&a fi(ha
(ontento o no&e e a (or#
1=# Eados :/ 5alores distintos, fa9er u& algorit&o %ue, a'.s a leitura destes dados (olo%ue-os e& orde& (res(ente#
1H# Eado u&a s1rie de 2/ 5alores reais, faa u&a algorit&o %ue (al(ule e es(re5a a &1dia arit&1ti(a destes 5alores,
entretanto se a &1dia obtida for &aior %ue H de5er ser atribu6da 1/ 'ara a &1dia#
1<# !aa u& algorit&o 'ara so&ar os nF&eros 'ares Y 1/// e ao final i&'ri&ir o resultado#
2/# Eado u& (on2unto de 2/ 5alores reais, faa u& algorit&o %ue:
a+ *&'ri&a os 5alores %ue no so negati5os#
b+ Cal(ule e i&'ri&a a &1dia dos 5alores Y /#
21# Su'onha %ue 'ara (ada aluno de sua sala eista u&a fi(ha (ontendo o no&e e a idade do aluno# Su'ondo %ue eista
5/ alunos, faa u&a algorit&o %ue deter&ine %uantos alunos te& idade &aior %ue 7/#
22# Eado &odelo, ano de fabri(ao, (or e 'la(a de 1/// (arros, faa u& algorit&o %ue:
a+ *&'ri&a %uantos so, da (or 5erde e o 'er(entual e& relao ao total#
b+ *&'ri&a %uantos fora& fabri(ados antes de 1<</ e o 'er(entual e& relao ao total#
(+ *&'ri&a %uantos so !*IT >)- e o 'er(entual e& relao ao total#
d+ *&'ri&a %uantos (arros te& na 'la(a o digito 5 e o 'er(entual e& relao ao total# Considere 'la(as (o&
seguinte for&ato ,II))))4#
27# Eado )o&e e notas A total de 8 + de n alunos, faa u& algorit&o %ue:
a+ *&'ri&a )o&e e &1dia dos alunos a'ro5ados# M1dia X Q =#/#
b+ *&'ri&a )o&e e &1dia dos alunos e& re(u'erao# 5#/ XQ M1dia Y=#/#
a+ *&'ri&a )o&e e &1dia dos alunos re'ro5ados# M1dia Y5#/#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 7H de 51
2:# Eado )o&e e salrio de u& nF&ero indeter&inado de fun(ionrios, i&'ri&a o )o&e e o salrio de fun(ionrio
%ue te& o &aior salrio, be& (o&o o )o&e e o salrio %ue 'ossui o &enor salrio# Considerar o salrio -1 (o&o flag
de interru'o#
25# Eado trBs 5alores J, ^, m, 5erifi(ar se eles 'ode& ser os (o&'ri&entos dos lados de u& tri]ngulo, e se fore&,
5erifi(ar se 1 u& tri]ngulo e%uiltero, is.s(eles ou es(aleno# Se eles no for&are& u& tri]ngulo, es(re5er u&a
&ensage&# Intes da elaborao do algorit&o, torna-se ne(essria a re5iso de algu&as 'ro'riedades e defini3es#
Pro'riedade - - (o&'ri&ento de (ada lado de u& tri]ngulo 1 &enor do %ue a so&a dos (o&'ri&entos dos outros
dois lados#
Eefinio 1 - Cha&a-se tri]ngulo e%uiltero os %ue te& os (o&'ri&entos dos trBs lados iguais,
Eefinio 2 - Cha&a-se tri]ngulo is.s(eles ao tri]ngulo %ue te& os (o&'ri&entos de dois lados iguais#
Eefinio 7 - Cha&a-se tri]ngulo es(aleno ao tri]ngulo %ue te& os (o&'ri&entos dos trBs lados diferentes#
28# >& hotel (obra $; 7//,// 'or diria e &ais u&a taa adi(ional de ser5ios# Se a diria for &enor %ue 15 a taa e
de $; 2/,//# Se o nF&ero de dirias for igual a 15 a taa 1 de $; 1:,// e se o nF&ero for &aior %ue 15 a taa 1 de
$; 12,//# Considerando-se %ue se tenha 2// 'essoas e 'ara (ada 'essoa tenha-se u& registro (ontendo seu no&e e o
nF&ero de dirias#
!aa u& algorit&o %ue i&'ri&a o no&e e o total a 'agar de (ada 'essoa e i&'ri&ir ta&b1& o total ganho 'elo hotel
e o nF&ero total de dirias#
2=# Eado %ue (ada 'essoa tenha o seu no&e e a sua idade e o seu 'eso e& u&a fi(ha, faa u&a algorit&o %ue:
a+ *&'ri&ir o no&e da 'essoa (u2o a idade esta na faia de 2/ a 7/ anos in(lusi5e os etre&os;
b+ Cal(ule a idade &1dia das 'essoas (o& 'eso &aior %ue H/ ng, (onsidere %ue eista ) 'essoas#
2H# !aa u& algorit&o %ue (al(ule o salrio e o i&'osto de renda de u& gru'o de 'essoas, (onsiderando:
a+ Para (ada 'essoa te&-se: )o&e, )F&ero de Ee'endentes, $enda Pruta Inual;
b+ - i&'osto 1 (al(ulado segundo a tabela abaio:
$enda "i%uida 0
at1 $; 1/#///,// isento
X $; 1/#///,// at1 $; 7/#///,// 50
X $; 7/#///,// at1 $; 8/#///,// 1/0
X $; 8/#///,// 150
(+ S u& des(onto de $; 8//,// 'ara (ada de'endente#
d+ Sendo %ue a renda l6%uida 1 igual a renda bruta &enos o abati&ento de (ada de'endente#
2<# !aa u& algorit&o %ue leia u& nF&ero %ue re'resente u& deter&inado &Bs do ano# I'.s a leitura es(re5a 'or
etenso %ual o &Bs lido# Caso o nF&ero digitado no este2a na faia de 1##12 es(re5a u&a &ensage& infor&ando o
usurio do erro da digitao#
7/# !aa u& algorit&o %ue leia u& nF&ero %ual%uer# Caso o nF&ero se2a 'ar &enor %ue 1/, es(re5a c)F&ero 'ar
&enor %ue Ee9@, (aso o nF&ero digitado se2a 6&'ar &enor %ue 1/ es(re5a c)F&ero j&'ar &enor %ue Ee9@, (aso
(ontrrio Cs(re5a c)F&ero fora do *nter5alo@#
71# >&a e&'resa ir dar u& au&ento de salrio aos seus fun(ionrios de a(ordo (o& a (ategoria de (ada e&'regado#
- au&ento seguir a seguinte regra:
a+ !un(ionrios das (ategorias I, C, !, e S ganharo 1/0 de au&ento sobre o salrio
b+ !un(ionrios das (ategorias P, E, C, *, d e T ganharo 150 de au&ento sobre o salrio
(+ !un(ionrios das (ategorias n e $ ganharo 250 de au&ento sobre o salrio
d+ !un(ionrios das (ategorias ", M, ), -, P, a, $ e S ganharo 750 de au&ento sobre o salrio
e+ !un(ionrios das (ategorias >, ?, J, ^, o e m ganharo 5/0 de au&ento sobre o salrio
72# !aa u& algorit&o %ue leia )o&e e notas A total de 12 + de :/ alunos de u& (ol1gio# I'.s a leitura faa:
a+ *&'ri&a o )o&e e a &1dia dos alunos a'ro5ados A M1dia XQ =#/ +#
b+ *&'ri&a o )o&e e a &1dia dos alunos e& $e(u'erao A 5#/ XQ M1dia Y =#/ +#
(+ *&'ri&a o )o&e e a &1dia dos alunos re'ro5ados A M1dia Y 5#/ +#
d+ *&'ri&a o 'er(entual de alunos a'ro5ados#
e+ *&'ri&a o 'er(entual de alunos re'ro5ados#
77# Eado )o&e e salrio de 1/ fun(ionrios faa:
a+ *&'ri&a o )o&e e o salrio dos fun(ionrios %ue ganha& &ais de $; 5//,//
b+ Para os fun(ionrios %ue ganha& &enos de $; 2//,// (on(eda u& au&ento de 2/0# *&'ri&a )o&e e o
no5o salrio destes fun(ionrios au&entados
7:# !aa u& algorit&o 'ara ler 5/ 5alores inteiros# I'.s i&'ri&a tais 5alores ordenados (res(ente#
75# Continuando o eer(6(io anterior, e&ita u& relat.rio (o& os 5alores ordenados de(res(ente#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 7< de 51
78# !aa u& algorit&o 'ara ler e i&'ri&ir u&a &atri9 2: de nF&eros inteiros#
7=# Eado u&a &atri9 de orde& 77 faa u& algorit&o %ue:
a+ Cal(ule a so&a dos ele&entos da 'ri&eira (oluna;
b+ Cal(ule o 'roduto dos ele&entos da 'ri&eira linha;
(+ Cal(ule a so&a de todos os ele&entos da &atri9;
d+ Cal(ule a so&a do diagonal 'rin(i'al;
7H# Eado u&a &atri9 de orde& )) faa u& algorit&o %ue 5erifi%ue se a &atri9 1 si&1tri(a Aai2 Q a2i+#
7<# Eado u&a &atri9 )M de 5alores reais faa u& algorit&o %ue faa a leitura destes 5alores e ao final da leitura de
todos, i&'ri&ir o seguintes relat.rio:
a+ aual a So&a dos 5alores de (ada (oluna da &atri9;
b+ "istar os 5alores %ue so &enores %ue a &1dia dos 5alores;
(+ aual a so&a dos ele&entos da diagonal se(undria;
:/# Eado u&a &atri9 )M de 5alores inteiros fa(a u& algorit&o %ue faa a leitura destes 5alores e ao final (olo%ue os
ele&entos ordenados 'ri&eiro 'ela linha e de'ois 'ela (oluna#
:1# Eado duas &atri9es I e P de orde& )) fa(a u& algorit&o %ue so&e as duas e gere a &atri9 C# -s ele&entos da
&atri9 C so a so&a dos res'e(ti5os ele&entos de I e P#
:2# Eado u&a &atri9 )M de 5alores inteiros deter&ine a sua &atri9 trans'osta e i&'ri&a#
:7# !a9er u& algorit&o %ue efetue u& 'roduto &atri(ial# Se2a IA& n+ e P An &+ as &atri9es fatores, sendo &YQ:/
e nYQ=/# Ee5ero ser i&'ressas as &atri9es I, P e a &atri9-'roduto obtida#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :/ de 51
Vari"!eis Compostas 6eterogenias &0egistros'
Re6istros so (on2untos de dados logi(a&ente rela(ionados, &as %ue ar&a9ena& u& (on2unto de infor&a3es de ti'os
diferentes A(ara(ter, nu&1ri(o, real, l.gi(o+# Cada registro 1 a(ess65el inde'endente&ente, sendo seus ele&entos
ta&b1& inde'endentes de a(ordo (o& o seu no&e signifi(ati5o# Por ee&'lo a 'assage& de pnibus, %ue 1 for&ada 'or
u& (on2untos de infor&a3es logi(a&ente rela(ionadas: nF&ero da 'assage& Ainteiro+, 'oltrona Ainteiro+, orige& e
destino A(ara(ter+, data A(ara(tere+, horrio A(ara(tere+, dist]n(ia Areal+, et(# Cada u&a destas infor&a3es so
subdi5is3es do registro, ta&b1& (ha&ados de (a&'os#
C:
)M: ///1
Ee: Para:
Eata: Sorrio:
Poltrona: Eist]n(ia:
Registro Passagem
incio
inteiro: NUMERO, POLTRONA;
cadeia: ORIGEM, DESTINO, HORARIO;
real: DISTANCIA;
fim;
Manipula/o de Registros
Io se &ani'ular ou a(essar u& registro generi(a&ente, esta&os referen(iando obrigatoria&ente todos os (a&'os 'or
ele en5ol5idos#
Ce&'lo: leia (PASSAGEM);
escreva (PASSAGEM);
Para utili9ar u& (a&'o es'e(6fi(o do registro, de5e&os diferen(iar esse (a&'o# Para tal utili9a&os o (ara(tere ,#4
A'onto+ 'ara estabele(er a se'arao do no&e do registro do no&e do (a&'o#
Ce&'lo: leia (PASSAGEM.POLTRONA);
escreva (PASSAGEM.FUMANTE);
Exemplo utili9ando Registro
- algorit&o abaio guarda e& u& registro os dados de u& alunoAC-E*b-,)-TI E-S P*MCST$CS 1,2 C 7 e a
T>$MI+# - algorit&o eibir os dados guardados no registro e ta&b1& (al(ula a &1dia e eibe o resultado da &es&a#
algoritmo {Registro Aluno}
incio
registro REGALUNO
incio
inteiro: CODIGO; //Cdigo do aluno
inteiro: NOTA[3]; //Nota dos semestres
inteiro: TURMA; //Turma do aluno
fim;
REGALUNO: aluno; //cria a varivel aluno do tipo REGALUNO
real: MEDIA;
//Inicializar o registro aluno
aluno.CODIGO 11111;
aluno.NOTA[1] 10.0;
aluno.NOTA[2] 8.0;
aluno.NOTA[3] 6.0;
aluno.TURMA 140;
MEDIA (aluno.NOTA[1] + aluno.NOTA[2] + aluno.NOTA[3]) / 3;
escreva (O cdigo do aluno: , aluno.CODIGO);
escreva (A nota Bimestre 1: , aluno.NOTA[1]);
escreva (A nota Bimestre 2: , aluno.NOTA[2]);
escreva (A nota Bimestre 3: , aluno.NOTA[3]);
escreva (A mdia das notas: , MEDIA);
escreva (A turma do aluno: , aluno.TURMA);
fim-algoritmo.
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :1 de 51
Obser"e a codi!ica/o do program em *::-
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
struct REGALUNO // Define a Estrutura REGALUNO
{ int CODIGO; // Cdigo do aluno
float NOTA[3]; // Nota de cada um dos semestres
int TURMA; // Turma do aluno
};
int main()
{ REGALUNO aluno; // cria a varivel aluno do tipo REGALUNO
float MEDIA;
// Inicializa o registro aluno
aluno.CODIGO = 11111;
aluno.NOTA[0] = 10.0;
aluno.NOTA[1] = 8.0;
aluno.NOTA[2] = 6.0;
aluno.TURMA = 140;
//Calcula a mdia das notas
MEDIA = (aluno.NOTA[0] + aluno.NOTA[1] + aluno.NOTA[2]) / 3;
cout << "\n O cdigo do aluno: " << aluno.CODIGO;
cout << "\n A nota Bimestre 1: " << aluno.NOTA[0];
cout << "\n A nota Bimestre 2: " << aluno.NOTA[1];
cout << "\n A nota Bimestre 3: " << aluno.NOTA[2];
cout << "\n A mdia das notas: " << MEDIA;
cout << "\n A turma do aluno: " << aluno.TURMA;
getchar();
}
Conjunto de 0egistros
)as estruturas (o&'ostas ho&ogBneas A5etores e &atri9es+ utili9a&os ti'os de dados 'ri&iti5os (o&o sendo ele&entos
dessas estruturas# Igora utili9are&os (o&o (o&'onente dessa estrutura no a'enas u& ti'o 'ri&iti5o, &as si& os ti'os
(onstru6dos, neste (aso os registros# Su'ondo %ue %uis1sse&os &anter u& registro de infor&a3es relati5as aos dados
de todos os alunos, utili9ar6a&os u& registro referente a (ada aluno, e 'ara agru'ar todos eles utili9ar6a&os u&
(on2unto desses registros# ?a&os (onsiderar %ue a es(ola 'ossui 2// alunos e 'ara guardar os dados de todos os alunos
5a&os (riar u& 5etor 'ara guardar os dados de (ada aluno#
C-E*b- T>$MI
)-TI1 )-TI2 )-TI7
C-E*b- T>$MI
)-TI1 )-TI2 )-TI7
C-E*b- T>$MI
)-TI1 )-TI2 )-TI7
C-E*b- T>$MI
)-TI1 )-TI2 )-TI7
/ 1 ### 1<<
Exe/,#o 9: 5 A#6orit/o co/ Re6istros
Algoritmo {Registro Aluno}
incio
registro REGALUNO
incio
inteiro: codigo;
inteiro: nota[3];
inteiro: turma;
fim;
REGESCOLA: aluno[3]; //Cria um vetor do tipo REGALUNO
Real: media;
inteiro: ind;
para ind de 0 at 2 passo 1 faa
leia(aluno[ind].codigo);
leia(aluno[ind].NOTA[0])
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :2 de 51
leia(aluno[ind].NOTA[1]);
leia(aluno[ind].NOTA[2]);
leia(aluno[ind].TURMA);
fim-para
escreva (As informaes dos alunos so:);
para ind de 0 at 2 passo 1 faa
MEDIA (aluno[ind].NOTA[0] + aluno[ind].NOTA[1] + aluno[ind].NOTA[2]) / 3;
escreva (Aluno , IND);
escreva (O cdigo do aluno: , aluno[ind].CODIGO);
escreva (A nota Bimestre 1: , aluno[ind].NOTA[0]);
escreva (A nota Bimestre 2: , aluno[ind].NOTA[1]);
escreva (A nota Bimestre 3: , aluno[ind].NOTA[2]);
escreva (A mdia das notas: , MEDIA);
escreva (A turma do aluno.: , aluno[ind].TURMA);
fim-para
fim-algoritmo#
Exerc2cios Resol"idos
1# >tili9ando registros elabore u& algorit&o %ue leia o no&e e a nota de :/ alunos e %ue:
a# deter&ine e es(re5a %uantos alunos 'ossue& nota igual D &1dia;
b# deter&ine e es(re5a o no&e de todos os alunos %ue 'ossue& nota inferior D &1dia#
algoritmo {exerc01}
incio
registro REGALUNO
incio
cadeia: NMALUNO;
real: NOTA;
fim;
REGALUNO: ALUNO[40];
inteiro: I, //contador de alunos
QTASP; //contador de alunos com nota superior a mdia
real: SomaNota, MEDIA;
QTASP 0;
para I de 0 at 39 passo 1 faa
escreva (`Digite o nome do aluno: ');
leia (ALUNO[I].NMALUNO);
escreva (Digite a nota do aluno: );
leia (ALUNO[I].NOTA);
SomaNota SomaNota + ALUNO[I].NOTA;
fim-para
MEDIA SomaNota / 40;
para I de 0 at 39 passo 1 faa
se (ALUNO[I].NOTA = MEDIA) ento
QTASP QTASP + 1;
seno
se (ALUNO[I].NOTA < MEDIA) ento
escreva(O aluno , ALUNO[I].NMALUNO, tem nota inferior mdia);
fim-se
fim-se
fim-para
escreva(A quantidade de alunos com nota igual mdia , QTASP);
fim-algoritmo.
2# Soli(itar (.digo, no&e, salrio e de'arta&ento de 1/ fun(ionrios# Per&itir 'es%uisa 'elo (.digo# !lag /#
algoritmo {exemplo 2}
incio
Constante inteiro max = 10;
registro TREGFUNC
incio
inteiro: cod;
cadeia: nome, depto;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :7 de 51
real: SALARIO;
fim;
TVETFUNC: func[max];
inteiro: I, codPesq;
lgico: achou;
para I de 1 at max faa
escreva (Informe o cdigo: );
leia (func[i].cod);
escreva (Informe o nome: );
leia (func[i].nome);
escreva (Informe Salrio: );
leia (func[i].salrio);
escreva (Informe o Depto: );
leia (func[i].depto);
fim-para
escreva (Informe o cdigo zero(0) para encerrar pesquisa);
escreva (Informe o cdigo de pesquisa: );
leia (codPesq);
enquanto (codPesq <> 0) faa
achou falso;
para (I de 1 at max) faa
se (codPesq = func[I].cod) ento
achou VERDADE;
INTERROMPA; //Faz o programa sair da estrutura de repetio PARA
fim-se
fim-para
se (achou = VERDADE) ento
escreva (func[i].nome);
escreva (func[i].salrio);
escreva (func[i].depto);
seno
escreva (Cdigo no encontrado);
fim-se
leia (codPesq);
fim-enquanto
fim-algoritmo.
7# Ilgorit&o anterior na 5erso na linguage& C#
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
const int max = 10;
struct tregfunc {
int cod;
char nome[30], depto[30];
float salario;
};
int main() {
tregfunc func[max];
int i, codpesq, achou;
cout << "\n Digite os dados do " << i <<" funcionrio: \n";
for (i = 0; i < max; i++) {
cout <<"\n Digite o cdigo do funcionrio.: ";
cin >>func[i].cod;
cout <<"\n Digite o nome do funcionrio...: ";
cin >>func[i].nome;
cout <<"\n Digite o salrio do funcionrio: ";
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :: de 51
cin >>func[i].salario;
cout <<"\n Digite o depto do funcionrio.: ";
cin >>func[i].depto;
}
cout <<"\n *** Digite zero (0) para encerrar o programa ***";
cout <<"\n Pesquisa a partir do cdigo \n \n \t Digite o cdigo: ";
cin >>codpesq;
while (codpesq != 0) {
achou = 0;
for (i = 0; i < max; i++) {
if (func[i].cod == codpesq) {
achou = 1;
break;
}
}
if (achou) {
cout <<"\n" <<func[i].nome
<<"\n" <<func[i].salario
<<"\n" <<func[i].depto;
}
else
cout << "\n Cdigo no encontrado ";
cout <<"\n \n Digite Cdigo: ";
cin >>codpesq;
}
getchar();
}
Exerc2cios 7 Algoritmos Registros
1# Clabore u& algorit&o %ue leia os dadosAC.digo do aluno, data nas(i&ento, seo, altura+ de 5/ alunos e %ue os
guarde e& u& (on2unto de registros e %ue deter&ine e es(re5a:
a# %uantos alunos 'ossue& altura su'erior a &1dia do gru'o;
b# %ual a idade &1dia dos ho&ens;
(# %ual a altura &1dia das &ulheres#
2# Clabore u& algorit&o %ue leia o no&e, seo e a : notas bi&estrais de u& aluno# Cal(ule e guarde a &1dia das notas
do aluno# - algorit&o de5er (al(ular e es(re5er:
a# %uantos alunos obti5era& nota su'erior ou igual a &1dia;
b# %uais so os alunos do seo fe&inino %ue obti5era& nota inferior a &1dia geral#
7# Clabore u& algorit&o %ue leia o (.digo do 'roduto, o 5alor de 5enda, a taa de des(onto e a %uantidade do 'roduto#
- algorit&o de5er es(re5er o (.digo do 'roduto, a %uantidade e& esto%ue, o 5alor do esto%ue de (ada 'roduto e o
5alor l6%uido de (ada 'roduto e& esto%ue#
:# Clabore u& algorit&o %ue leia o no&e do aluno, o no&e do ti&e e o te&'o %ue o aluno tor(e 'ara o ti&e e& &eses#
- algorit&o de5er guardar os dados e& u& (on2unto de registros e de5er (al(ular e es(re5er:
- %ual o te&'o &1dio %ue os alunos tor(e& 'elos ti&es;
- %ual o ti&e de &aior %uantidade de tor(edores;
5# Clabore u& algorit&o %ue leia o no&e do fun(ionrio, salrio, no&e do de'arta&ento e seo de 1/ fun(ionrios e
%ue (al(ule e es(re5a:
- %uantos fun(ionrios ganha& a(i&a da &1dia;
- %uantos fun(ionrios trabalha& no de'arta&ento de 'essoal;
- %ual o no&e dos fun(ionrios %ue ganha& abaio da &1dia geral do gru'o#
8# >sando estrutura de re'etio (o& flag de interru'o SCJ- Q ,E4, elabore u& algorit&o %ue:
"eia o no&e, seo e idade de u& gru'o indeter&inado de fun(ionrios e %ue (al(ule e es(re5a %uantas 'essoas
'ossue& idade su'erior a &1dia geral#
=# >sando 5etores elabore u& algorit&o %ue leia o no&e, salrio e o de'arta&ento de 2// fun(ionrios de u&a
e&'resa e %ue (al(ule e es(re5a %ual 1 o salrio &1dio de (ada u& dos de'arta&entos, %ual o no&e dos
fun(ionrios %ue ganha& igual ou a(i&a da &1dia geral da e&'resa# Considerar o nF&ero de de'arta&entos igual
a =#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :5 de 51
(ODULARI;A&O DE AL$ORIT(OS (ODULARI;A&O DE AL$ORIT(OS
Io &odulari9ar u& algorit&o, bus(a&os au&entar a fun(ionalidade das 'artes do (on2unto, fa(ilitando o seu
entendi&ento e 'ossibilitando a reutili9ao destas 'artes#
>& algorit&o (o&'leto 1 di5idido e& &.dulo 'rin(i'al e di5ersos &.dulos ou subalgorit&os tantos %uantos fore&
ne(essrios# - &.dulo 'rin(i'al 1 a%uele 'or onde a ee(uo se&'re se in(ia, 'odendo in5o(ar Aati5ar ou (ha&ar+
outros &.dulos %ue 'or sua 5e9 'odero in5o(ar outros ou at1 a si& &es&os#
I (ha&ada ao &.dulo, re'resenta a ee(uo das a3es (ontidas nele# C& seguida a ee(uo retorna ao 'onto da sua
(ha&ada A%ue 'oder ser o &.dulo 'rin(i'al ou outros &.dulos+# )o eiste orde& 'ara definio dos &.dulos, (aso
eista& (abealhos Adefini3es+ 'ara (ada u& deles# Caso no eista tais (abealhos, os &.dulos (ha&ados de5e& 5ir
antes dos (ha&adores, sendo %ue, neste (aso o &.dulo 'rin(i'al de5er ser se&'re o Flti&o#
Declara/o geral:
algoritmos
incio
{declaraes globais}
{Declarao dos mdulos}
mdulo principal
incio
<declaraes locais>
<corpo do algoritmo>
fim
{definies de outros mdulos}
incio
<corpo do mdulo>
fim
fim.
onde:
Dec#ara*<es 6#o"ais: so 5ari5eis eTou (onstantes de(laradas no in6(io do algorit&o %ue 'ode& ser utili9adas
'or %ual%uer &.dulo in(lusi5e 'elo &.dulo 'rin(i'al;
Dec#ara*!o dos /=du#os: (o&'reende u& (abealho (ha&ado -u)*!o ou ,rocedi/e)to seguido de u&
identifi(ador Ano&e+ e dois 'arBnteses# Cntre os 'arBnteses 'ode& ha5er 'ar]&etros %ue sero 5istos &ais
adiante#
(=du#o ,ri)ci,a#: 1 'or onde ini(ia a ee(uo do algorit&o;
Dec#ara*<es #ocais: so 5ari5eis eTou (onstantes %ue s. 'ode& ser utili9adas dentro do &.dulo no %ual fora&
de(laradas# Pode&os ter de(lara3es lo(ais e& %ual%uer &.dulo#
Cor,o do a#6orit/o: (on2unto de a3es ou (o&andos;
De-i)i*!o de outros /=du#os: (o&'reende u& (abealho (ha&ado -u)*!o ou ,rocedi/e)to seguido de u&
identifi(ador Ano&e+, de(lara3es lo(ais e o (or'o do &.dulo#
Declara/o de um cabe/al1o de um m,dulo:
procedimento soma();
Declara/o de um m,dulo:
procedimento soma()
incio
comandos;
fim
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :8 de 51
Ce&'lo: Clabore u& algorit&o %ue soli(ite ao usurio a &edida de u& lado do %uadrado e %ue (al(ule e es(re5a a sua
rea#
algoritmo
incio
real: AREA, LADO;
escreva (Informe a medida do lado do quadrado: );
leia (LADO);
AREA LADO * LADO;
escreva (A rea do quadrado : , AREA);
fim-algoritmo.
Modulari9ando os 'ro(edi&entos de entrada, 'ro(essa&ento e sa6da, te&os a soluo abaio:
A#6orit/o Li)6ua6e/ C
algoritmo
real: Area, Lado;
procedimento Entrada();
procedimento Processamento();
procedimento Saida();
procedimento principal()
incio
Entrada();
Processamento();
Saida();
fim
procedimento processamento()
incio
Area Lado * Lado;
fim
procedimento Entrada()
incio
Escreva(*nfor&e a &edida dos lados: );
leia(Lado);
fim
procedimento Saida()
incio
Escreva(A rea : , Area);
fim
fim.
#include <stdio.h>
#include <iostream>
using namespace std;
float Area, Lado;
void Entrada();
void Processamento();
void Saida();
int main() {
Entrada();
Processamento();
Saida();
getchar();
}
void Saida() {
cout <<"A rea do quadrado: " <<Area;
}
void Entrada() {
cout <<"*nfor&e a &edida dos lados:";
cin >>Lado;
}
void Processamento() {
Area = Lado * Lado;
}
-bser5e %ue tanto no algorit&o %uanto na linguage& C, te&os %ue no &.dulo P$*)C*PI" AMI*)+ est a orde& e&
%ue sero executados os &.dulos inde'endente&ente da orde& e& %ue fora& de(larados ou definidos#
Exerc2cios resol"idos
1# Clabore u& algorit&o utili9ando &.dulos %ue leia u& (on2unto de 7/ nF&eros inteiros e %ue deter&ine e es(re5a:
a# o &aior nF&ero;
b# o &enor nF&ero;
(# %uantos nF&eros so &aiores %ue 7/;
d# a &1dia dos nF&eros#
Algoritmo
incio
inteiro: NUM, MAIORNUM, MENORNUM, QTMAIOR30, SOMA, QTNUM, IND;
real: MEDIA;
{Declarao dos mdulos}
procedimento OBTERDADOS();
procedimento A!OR"#();
procedimento E"OR"#();
procedimento A!OR$%();
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: := de 51
{inicializar o maior valor com um valor muito pequeno, forar o primeiro valor a
ser o maior inicialmente}
MAIORNUM 0;
{inicializar o menor valor com um valor muito grande, forar o primeiro valor a
ser o menor valor inicialmente}
MENORNUM 32.867;
{Garantir que quantidade de nmeros maiores que 30 seja zero inicialmente}
QTMAIOR30 0;
SOMA 0;
{De&ini'es dos mdulos do al(oritmo}
procedimento OBTERDADOS()
incio
escreva(Digite o nmero: );
leia(NUM);
SOMA SOMA + NUM;
QTNUM QTNUM + 1;
fim
procedimento MAIORNUM()
incio
se (NUM > MAIORNUM) ento
MAIORNUM NUM;
fim-se
fim
procedimento MENORNUM()
incio
se (NUM < MENORNUM) ento
MENORNUM NUM;
fim-se
fim
procedimento MAIOR30()
incio
se (NUM > 30) ento
QTMAIOR30 QTMAIOR30 + 1;
fim-se
fim
procedimento principal()
incio
para IND de 0 at 29 passo 1 faa
OBTERDADOS;
MENORNUM;
MAIORNUM;
fim-para
MEDIA SOMA / QTNUM;
escreva (O maior nmero : , MAIORNUM);
escreva (O menor nmero : , MENORNUM);
escreva (A quantidade de nmeros maiores que 30 so: , QTMAIOR30);
escreva (A mdia dos nmeros : , MEDIA);
fim
fim-algoritmo.
2# Clabore u& algorit&o %ue leia o Seo, )o&e, Iltura e 'eso de u& gru'o de 2/ 'essoas e %ue deter&ine e es(re5a:
a# %ual a &aior altura entre os ho&ens;
b# %uantas so as &ulheres de altura su'erior a 1,H5;
(# %ual a &1dia de alturas entre as &ulheres (o& &ais de 7/ anos;
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :H de 51
d# %ual o no&e da 'essoa &ais alta de todo o gru'o#
Algoritmo
incio
real: ALTURA, {altura informada da pessoa}
PESO, {peso informada da pessoa}
MAIORALT, {maior altura de todo o grupo}
MAIORALTH, {para guardar maior altura entre os homens}
MEDIAALTMP60, {para guardar mdia alturas mulheres com menos de 60 quilos}
SOMAALTMP60; {soma das alturas da mulheres com menos de 60 quilos}
caractere: SEXO; {sexo informado da pessoa}
cadeia: NOME, {nome informado da pessoa}
NOMEMAIORALT; {nome da pessoa de maior altura de todo o grupo}
inteiro:QTALTMP60, {guardar a quantidade de mulheres com menos de 60 quilos}
IND, {varivel auxiliar que controla o LOOP de repetio}
QTMUL185; {quantidade de mulheres com mais de 1,85 metros de altura}
MAIORALTH 0;
QTALTMP60 0;
SOMAPM60 0;
QTMUL185 0;
procedimento OBTERDADOS()
incio
escreva (`Digite o Nome: `);
leia (NOME);
escreva (`Digite o Sexo: `);
leia (SEXO);
escreva (`Digite o Peso: `);
leia (PESO);
escreva (`Digite a altura: `);
leia (ALTURA);
fim
procedimento MULHERES()
incio
se (ALTURA > 1.85) ento
QTMUL185 QTMUL185 + 1;
fim-se
se (PESO < 60) ento
QTALTPM60 QTALTPM60 + 1;
SOMAALTPM60 SOMAALTPM60 + ALTURA;
fim-se
fim
procedimento MULHERES185()
incio
se (ALTURA > 1.85) ento
QTMUL185 QTMUL185 + 1;
fim-se
fim
procedimento HOMENS()
incio
se (ALTURA > MAIORALTH) ento
MAIORALTH ALTURA;
fim-se;
fim
procedimento MAIORALTURA()
inicio
se (ALTURA > MAIORALT) ento
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: :< de 51
MAIORALT ALTURA;
NOMEMAIORALT NOME;
fim-se;
fim

procedimento principal()
incio
para IND de 0 at 19 passo 1 faa
OBTERDADOS;
MAIORALTURA;
se (SEXO = `M' ou `m') ento
HOMENS;
seno
MULHERES;
fim-se
fim-para
se (QTALTPM60 <> 0 ) ento
MEDIAALTPM60 SOMAALTPM60 / QTALTPM60;
escreva(Mdia altura mulheres com menos de 60 quilos , MEDIAALTPM60);
seno
escreva (No existem mulheres com menos de 60 quilos2);
fim-se
escreva (A maior altura entre os homens : , MAIORALTH);
escreva (A maior altura de todo o grupo : , MAIORALT);
escreva (A quantidade de mulheres com mais de 1,85m so: , QTMUL185);
escreva (A mdia dos nmeros : , MEDIA);
fim
fim-algoritmo.
Exerccios > (odu#ari?a*!o
1# Soli(itar ao usurio 5alores de trBs &er(adorias# Cal(ular o total da (o&'ra# Con(eder u& des(onto de 1/0 (aso o
5alor da &er(adoria se2a su'erior a $;1//,//# Cs(re5er o 5alor a ser 'ago, es'e(ifi(ando o 5alor do des(onto#
2# Soli(itar ao usurio o (onsu&o e& no# Cal(ular e es(re5er o 5alor a ser 'ago, sabendo %ue o 5alor 'or no 1 de
$; /,1/#
7# Soli(itar ao usurio o &Bs e& for&a nu&1ri(a k1 a 12l# Cs(re5er no 56deo o &Bs 'or etenso#
:# Soli(itar ao usurio a idade e o seo k&Tfl do (liente# Sabendo %ue o 5alor do ingresso 'ara o shoq 1 de $; 5/,//,
(on(eder des(onto de 8/0 'ara as 'essoas &enores de 18 anos e de :/0 'ara as &ulheres (o& idade a 'artir de 18
anos# Cal(ular e es(re5er o 5alor a ser 'ago#
5# Clabore u& algorit&o %ue soli(ite os (oefi(ientes de u&a e%uao do 2 grau e %ue (al(ule e es(re5a a ra69es reais#
8# Clabore u& algorit&o %ue soli(ite o salrio bruto de u& fun(ionrio e %ue (al(ule e es(re5a o salrio l6%uido,
le5ando-se e& (onta %ue o des(onto de *)SS 1 H0, !bTS 1 de =0 e a Contribuio do Sindi(ato 1 de 10#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 5/ de 51
RE@ERANCIAS BIBLIO$R@ICAS RE@ERANCIAS BIBLIO$R@ICAS
!I$$C$, Sanrrg# Algoritmos Estruturados. buanabara# $io de daneiro, 1<H8
"IbCS, bui&ares# Algoritmos Estruturados#
o*$TS, )irlaus# Programao istem!tica# Cditora Ca&'us# $io de daneiro, 1<=H#
SI"*PI, oalter "ui9 Cara&# "#c$icas de Programao % &ma abordagem Estruturada#
Cditora Marron Poors# So Paulo, 1<<2#
!-$PC""-)C, Indr1 "ui9 ?illar# '(gica de Programao % A co$struo de Algoritmos
e Estruturas de Dados# Cditora Marron Poors# So Paulo, 1<<7#
M*m$IS*, ?i(torine ?i5iane# "rei$ame$to em li$guagem C)) - M.dulo1# Cditora
Marron Poors# So Paulo, 1<<:#
M*m$IS*, ?i(torine ?i5iane# "rei$ame$to em 'i$guagem C)) - M.dulo 2# Cditora
Marron Poors# So Paulo, 1<<:#
Profs: Cludio Portes dos Santos e Mauro Morais Miranda - Pg: 51 de 51