You are on page 1of 40

Introduo Programao 2 aula

Prof. Jos Honorato F. Nunes

honoratonunes@gmail.com

Resumo da aula
Representao de algoritmos Atividades de reviso de algoritmos Variveis Tipos de dados Constantes Atividades

Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Formas de Representao de Algoritmos


As prin#ipais formas de representao de algoritmos so$ %es#rio Narrativa %iagrama de Nassi&'!neiderman (%iagrama de C!apin) Fl *ograma (%iagrama de Fl *o) Port g +s ,str t rado (Pse do#-digo. Port gol o Pse doling agem)

Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Portugus Estruturado (Pseudocdigo, Portugol ou Pseudolinguagem)


/ Port g +s ,str t rado. ma forma espe#ial de ling agem 0em mais restrita 1 e a 23ng a Port g esa e #om signifi#ados 0em definidos para todos os termos tili4ados nas instr 5es (#omandos). ,ssa ling agem tam0m #on!e#ida #omo Port gol (6 no de Port g +s #om Algol. Pse do#-digo o Pse doling agem.

Portugus Estruturado (Pseudocdigo, Portugol ou Pseudolinguagem)


/ Port g +s ,str t rado na verdade ma simplifi#ao e*trema da l3ng a port g esa. limitada a po 1 3ssimas palavras e estr t ras 1 e t+m signifi#ado pr&definido. pois deve&se seg ir m padro. ,mprega ma ling agem intermediria entre a ling agem nat ral e ma ling agem de programao. para des#rever os algoritmos.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Portugus Estruturado (Pseudocdigo, Portugol ou Pseudolinguagem)


A sinta*e do Port g +s ,str t rado no pre#isa ser seg ida to rigorosamente 1 anto a sinta*e de ma ling agem de programao. 6 1 e o algoritmo no ser e*e# tado #omo m programa. ,m0ora o Port g +s ,str t rado se6a ma ling agem 0astante simplifi#ada. ela poss i todos os elementos 0si#os e ma estr t ra semel!ante 7 de ma ling agem de programao de #omp tadores.

Portugus Estruturado (Pseudocdigo, Portugol ou Pseudolinguagem)


Resolver pro0lemas #om port g +s estr t rado pode ser ma tarefa to #omple*a 1 anto a de es#rever m programa em ma ling agem de programao 1 al1 er s- no to r3gida 1 anto a s a sinta*e. o se6a. o algoritmo no dei*a de f n#ionar por1 e es1 e#emos de #olo#ar m 898 (ponto&e& v3rg la) por e*emplo. 6 m programa no f n#ionaria.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Pseudocdigo - algoritmo para trocar

lmpada
Algoritmo Tro#a2ampada :n3#io
Pegar a es#ada Posi#ionar a es#ada so0 a l;mpada Pegar a l;mpada nova ' 0ir na es#ada Remover a l;mpada antiga Colo#ar a l;mpada nova %es#er da es#ada Colo#ar a l;mpada antiga no li*o < ardar a es#ada

Fim
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Padres para Representao de Algoritmos por meio de Pseudocdigo


Na primeira lin!a. ap-s a palavra Algoritmo. o nome do algoritmo 1 e est sendo des#rito. / #omeo dos passos de e*e# o do algoritmo demar#ado pela palavra :n3#io. / trmino dos passos de e*e# o do algoritmo demar#ado pela palavra Fim. Todos os #omandos ente :n3#io e Fim esto levemente deslo#ados para direita.

Regras para Algoritmos

omenclatura de

Nomes de algoritmos devem #onter apenas letras. n=meros e o #ara#tere underscore (>). ,m0ora se6a poss3vel de#larar todo o nome em letra mai=s# la. re#omendado. por #onveno. tili4ar letras mai=s# las apenas no in3#io de #ada palavra 1 e #omp5e o nome do algoritmo. ,stas palavras podem ser es#ritas todas 6 ntas. o separadas pelo #ara#tere underscore.

Ati!idade
Crie m algoritmo. tili4ando pse do#-digo. 1 e des#reva os passos ne#essrios para tro#ar ma l;mpada. Crie m algoritmo. tili4ando pse do#-digo. 1 e des#reva os passos ne#essrios para tro#ar o pne de m #arro. Crie m algoritmo. tili4ando pse do#-digo. 1 e des#reva os passos ne#essrios para preparar #af. tili4ando ma #afeteira.

Ati!idade de re!iso
Crie m algoritmo 1 e des#reva os passos ne#essrios para es#ovar os dentes. tili4ando as ? prin#ipais formas de representao de algoritmos. tra0al!adas nessa dis#iplina.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

"ari#!eis $ipos de %ados %eclarao de "ari#!eis Atri&uio e 'niciali(ao de "ari#!eis )onstantes Ati!idades
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

"ari#!eis
O bom entendimento do conceito de varivel fundamental para elaborao de algoritmos e, consequentemente de programas. Uma varivel, um espao da memria do computador que "reservamos" para guardar informaes dados!.

Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

"ari#!eis
"omo o prprio nome sugere, as variveis, podem conter valores diferentes a cada instante de tempo, ou se#a, seu conte$do pode variar de acordo com as instrues do algoritmo. %s variveis so referenciadas atravs de um nome identificador! criado por voc& durante o desenvolvimento do algoritmo.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

"ari#!eis
'(emplos de nomes de variveis) produto, idade, a, (, nota*, peso, preo, etc. O conte$do de uma varivel pode ser alterado, consultado ou apagado quantas ve+es forem necessrias durante o algoritmo. ,as, ao alterar o conte$do da varivel, a informao anterior perdida, ou se#a, sempre "vale" a $ltima informao arma+enada na varivel. Uma varivel arma+ena -apenas- um conte$do de cada ve+.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

"ari#!eis
Uma varivel pode ser vista como uma cai(a com um rtulo nome! colado nela, que em um dado momento guarda um determinado ob#eto. O conte$do desta cai(a no algo fi(o, permanente. .a verdade, essa cai(a pode ter seu conte$do alterado diversas ve+es. .o e(emplo abai(o, a cai(a varivel! rotulada como /%0O1, contm o valor 2. 'm outro momento essa cai(a poder conter qualquer outro valor numrico. 'ntretanto, a cada instante, ela conter um, e somente um, valor.

"ari#!eis
EXEMPLOS DE NOMES VLIDOS EXEMPLOS DE NOMES INVLIDOS

nome3candidato endereco 14 mes3ferias data.asc fone*

nome candidato endereo 1.4. m&s3frias data5.asc *fone

Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

$ipos de dados
6uando declaramos uma varivel, precisamos identificar o tipo de informao que dese#amos arma+enar nela. '(istem diversos tipos de dados e muitos deles so comuns na grande maioria das linguagens de programao. .o nosso estudo de lgica de programao, porm, utili+aremos apenas alguns dos principais.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

$ipos de dados
Os tipos de dados bsicos com os quais iremos trabal7ar so) Inteiro) permite arma+enar n$meros inteiros, positivos ou negativos. '(.) 829 :9 ;9 5;9 5*2::< Real) permite arma+enar n$meros inteiros ou fracionrios, positivos ou negativos. '(.) 829 :9 ;,29 5;,=2>9 5*2::<
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

$ipos de dados
Caractere) permite arma+enar caracteres alfanumricos ou se#a) letras, n$meros, espaos, sinais de pontuao e outros s?mbolos!. 'sse tipo tambm c7amado de Literal ou String. @alores do tipo caractere so sempre representados entre AB!. A%v. Crasil, *2::B A2B ADB AO tipo caractere aceita tudoE FGHDIJKB
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

$ipos de dados
Lgico) permite ou arma+enar /also, os valores quais lgicos, do tipo @erdadeiro '(.) V F representaremos

respectivamente por V e F.

Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

%eclarao de "ari#!eis
Para 1 e ma varivel passe a e*istir e possa ser tili4ada no #onte*to de m algoritmo. ne#essrio 1 e ela se6a de#larada. A de#larao nada mais do 1 e a definio de ma varivel. aonde informamos se nome e tipo de informao 1 e ela dever ser #apa4 de arma4enar. Para de#larar variveis em pse do#-digo. adotamos o seg inte padro$ <nome da varivel> : <tipo de dado>
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

%eclarao de "ari#!eis
A de#larao dever ser feita no #omeo do algoritmo. em m 0lo#o nomeado Variveis. antes do demar#ador Incio. Algoritmo ,*emploVariaveis Variaveis nome $ Cara#tere endere#o $ Cara#tere alt ra $ Real peso $ Real telefone $ Cara#tere :ni#io ... Fim

%eclarao de "ari#!eis
@ poss3vel agr par variveis do mesmo tipo em ma mesma lin!a. de#larando&as todas 6 ntas. Algoritmo ,*emploVariaveisAgr padas Variaveis nome. endere#o. telefone $ Cara#tere alt ra. peso $ Real :ni#io ... Fim

Atri&uio e 'niciali(ao de "ari#!eis


Atri0 io o ato de definir o valor de ma varivel. Te#ni#amente. isso signifi#a es#rever ma nova informao no espao de mem-ria identifi#ado pelo nome 1 e demos 7 varivel no momento de s a de#larao. Para atri0 ir m novo valor a ma varivel adotamos o seg inte padro$ <nome da varivel> := <valor>
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Atri&uio e 'niciali(ao de "ari#!eis


Algoritmo ,*emploAtri0 i#ao Variaveis ano $ :nteiro nomeAl no $ Cara#tere alt ra $ Real :ni#io ano $A BCDC nomeAl no $A EPedro da 'ilvaF alt ra $A D.GB Fim

Atri&uio e 'niciali(ao de "ari#!eis


A operao de atri0 io apaga 1 al1 er informao e*istente na varivel. so0repondo&a #om o novo valor. Algoritmo ,*emploAtri0 i#aoB Variaveis * $ :nteiro :ni#io * $A D * $A H Fim

Atri&uio e 'niciali(ao de "ari#!eis


:ni#iali4ar ma varivel signifi#a atri0 ir& l!e m valor ini#ial. o 1 e deve ser feito no #omeo do algoritmo. logo ap-s o demar#ador :n3#io. / ideal sempre ini#iali4armos todas as variveis.

Atri&uio e 'niciali(ao de "ari#!eis


Algoritmo I antidade<asolina Variaveis
pre#o<asolina. valor%ese6ado. 1 ant2itros $ Real

:ni#io pre#o<asolina $A B.JJ valor%ese6ado $A C 1 ant2itros $A C


,s#reva(E:nforme o valor dese6ado pelo #liente$F)

2eia (valor%ese6ado) 1 ant2itros $Avalor%ese6ado K pre#o<asolina


,s#reva (EA 1 antidade de litros para esse valor $F)

,s#reva (1 ant2itros) Fim

Atri&uio e 'niciali(ao de "ari#!eis


Atri0 io o ato de definir o valor de ma varivel. Te#ni#amente. isso signifi#a es#rever ma nova informao no espao de mem-ria identifi#ado pelo nome 1 e demos 7 varivel no momento de s a de#larao. Para atri0 ir m novo valor a ma varivel adotamos o seg inte padro$ <nome da varivel> := <valor>
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Atri&uio e 'niciali(ao de "ari#!eis


/ e*emplo anterior apresenta d as novidades. os #omandos de leit ra e es#rita 1 e sim lam a interao #om o s rio. Para sim lar entradas do te#lado. tili4amos o #omando Leia. Para sim lar sa3das na tela. tili4amos o #omando Escreva.

Atri&uio e 'niciali(ao de "ari#!eis Flu*ograma

LeiaL'.01%M% 1epresenta a entrada de dados via teclado

EscrevaLN%OM% 1epresenta a sa?da de dados via teclado

Inicio
preco asolina :! "#$$ valorDesejado :! % &uantLitros :! %

Flu*ograma

Informe o valor desejado pelo cliente:

valorDesejado

&uantLitros :!valorDesejado ' preco asolina

( &uantidade de litros para esse valor ): *# &uantLitros

Fim

Ati!idades

Crie m algoritmo para arma4enar o nome. so0renome. idade e se*o de m al no. / programa deve soli#itar 1 e o s rio informe os dados arma4enados.

Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

)onstantes
'o #!amadas de #onstantes. as informa5es (dados) 1 e no variam #om o tempo. o se6a. permane#em sempre #om o mesmo #onte=do. m valor fi*o (invarivel). Como e*emplos de #onstantes pode&se #itar$ n=meros. letras. palavras et#. Lsamos letras mai=s# las para de#larar #onstante #omo forma de diferen#ia&las das demais variveis.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

)onstantes
Algoritmo ,*emploConstantes Constantes P: $A M.D? NAO><RAL' $A JC :N'T:TL:CA/ $A E:F PaianoF R,2AT/R:/>AT:VA%/$A F Variaveis ... :ni#io ... Fim

Ati!idades

Crie m algoritmo para #al# lar a mdia de #ons mo de #om0 st3vel de m ve3# lo 1 al1 er. / s rio dever informar$ 1 ilometragem ini#ial. 1 ilometragem final e a 1 antidade de litros #ons mida d rante a viagem. Represente se algoritmo tili4ando pse do#-digo e fl *ograma.
Prof. Jos Honorato F. N nes !onoraton nes"gmail.#om

Resposta da Ati!idade+ Portugol


Algoritmo NediaCons mo Variaveis Qm:ni#ial. QmFinal. 1tdCons mida. mediaCons mo $ Real :ni#io Qm:ni#ial $A C QmFinal $A C 1tdCons mida $A C mediaCons mo $A C ,s#reva(E:nforme a 1 ilometragem ini#ial $F) 2eia (Qm:ni#ial) ,s#reva(E:nforme a 1 ilometragem final $F) 2eia (QmFinal) ,s#reva(E:nforme o #ons mo de #om0 st3vel $F) 2eia (1tdCons mida) mediaCons mo $A (QmFinal & Qm:ni#ial) K 1tdCons mida ,s#reva (EA mdia de #ons mo $F) ,s#reva (mediaCons mo) Fim

RespostaAti!idade+ Flu*ograma
Inicio Rm:ni#ial $A C RmFinal $A C 1tdCons mida $A C mediaCons mo $A C E:nforme a Rm ini#ial $F
Qm:ni#ial

E:nforme o #ons mo de #om0 st3vel $F

1tdCons mida

mediaCons mo $A (QmFinal & Qm:ni#ial) K 1tdCons mida9 EA mdia de #ons mo $F. mediaCons mo

E:nforme a Rm final $F Fim


QmFinal QmFinal