Aula02 Alg
-
Upload
lexsales1238 -
Category
Documents
-
view
235 -
download
0
Transcript of Aula02 Alg
-
7/26/2019 Aula02 Alg
1/42
Universidade Federal do Amap
Curso de Engenharia Eltrica
Algoritmos e Programao
Unidade 2 Portugus Estruturado
-
7/26/2019 Aula02 Alg
2/42
Algoritmo e Programao Portugus Estruturado
Definio
Conforme ser verificou na resoluo dosalgoritmos propostos como exerccio, a escritados comandos lina ! lina " uma forma de se
representar um algoritmo# Essa lista de instru$es estruturada consiste no%ue camamos de Portugus Estruturado, eser& a ferramenta adotada para a construo doalgoritmo#
' portugus estruturado tam("m " denominadode )portugol*, pseudolinguagem ou ainda depseudoc+digo
-
7/26/2019 Aula02 Alg
3/42
Algoritmo e Programao Portugus Estruturado
Caractersticas do Portugus
Estruturado
Utili-a um con.unto muito mais limitado de comandosdo %ue a lngua portuguesa normal, por"m ao secom(inar esse con.unto de comandos pode/se construirdesde algoritmos simples at" outros (em complexos#
Essa t"cnica possi(ilita %ue cada comando tena umainterpretao 0nica para a m&%uina a partir de um rigoradotado para a construo de algoritmos, impedindoassim, a existncia de am(iguidades, econse%uentemente erros de programao#
A partir do rigor de construo adotado no portugusestruturado, o algoritmo torna/se uma lista ordenada decomandos com(inados, cu.o se%uenciamento deexecuo consiste na soluo do pro(lema
-
7/26/2019 Aula02 Alg
4/42
Algoritmo e Programao Portugus Estruturado
Sintaxe e Semntica do Portugus
Estruturado
A Sintaxeconsiste no con.unto de regras aserem seguidas para a escrita dos algoritmos,semelante as regras %ue seguimos em nossalngua para escrevermos, por exemplo uma fraseonde, em geral, deve conter su.eito 1 ver(o1predicado#
A semnticarefere/se ao %ue " efetuado pelocomputador %uando ele encontra um comando#
Portanto, a sintaxe est relacionada a ormade um comando, en!uanto !ue a semnticaest relacionada ao seu conte"do
-
7/26/2019 Aula02 Alg
5/42
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
's computadores arma-enam dados na mem+ria so(forma de n0meros 3 e 45, por forma a facilitar atransformao desses dados em sinais el"tricos#
Contudo, no " o o(.etivo desse curso sa(ermos comoesses dados so arma-enados na mem+ria docomputador, mas sim %ue tipo de dado deve serarma-enado#
Um dado, so(retudo, consiste em alguma informao noestado primitivo, %ue ao ser processado pode gerar outrotipo de informao 0til Por exemplo, o n0mero 6,7 podeser um dado a ser utili-ado dentro de um algoritmo pararepresentar a nota de um aluno, (em como ser utili-adopara calcular a m"dia final desse mesmo aluno 8o-ino odado 6,7 no tem significado algum
-
7/26/2019 Aula02 Alg
6/42
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
Por causa da nature-a do %ue pode serarma-enado na mem+ria do computador,existem diferentes tipos de dados 's
cinco tipos (&sicos de dados %ueadotaremos para a construo dealgoritmos consistem em9 :nteiro# ;eal#
-
7/26/2019 Aula02 Alg
7/42
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
=ado do tipo :nteiro ;epresenta %ual%uer valor contido no con.unto dos
n0meros inteiros como 4, 2, >?, /7, , etc @utili-ado para representar informao onde no
existe parte fracion&ria# =ado do tipo ;eal
;epresenta todo valor contido no con.unto dosn0meros reais %ue cont"m parte fracion&ria5, como422># >?7# 66666# /3>?7>62, etc Conormese veriica a parte racionria separada daparte inteira pelo ponto decimal# $sto umamaneira de nos acostumarmos %s linguagensde programa&'o !ue utili(am o ponto decimalao invs de v)rgula
-
7/26/2019 Aula02 Alg
8/42
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
=ado do tipo
-
7/26/2019 Aula02 Alg
9/42
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
=ado do tipo Cadeia de Caractere Este dado representa um con.unto de
caracteres a ser arma-enado namem+ria do computador =a mesmaforma %ue o simples caractere, acadeia de caracteres deve serenvolvida por aspas simples *+
para ser reconhecida no algoritmo#Ex- +Universidade Federal doAmap/4 +123567/#
-
7/26/2019 Aula02 Alg
10/42
Algoritmo e Programao Portugus Estruturado
Operadores Aritmticos
's operadores aritm"ticos sosm(olos conectivos utili-ados paraefetuar um determinado c&lculonum"rico Eles consistem em9
-
7/26/2019 Aula02 Alg
11/42
Algoritmo e Programao Portugus Estruturado
Operadores Aritmticos ! Exemplos
>1 " igual a 43 H> " igual a 24 >2H " igual a 22? >I " igual 3?2J7 %uociente real5 >/ " igual a /? F> " igual a 2 o %uociente da uma diviso
inteira5
?F> no " possvel, pois o operador F s+ tra(ala com n0meros inteiros
K> " igual a 4 resto da diviso inteira5 I3 no " p+ssivel >H sintaticamente errado K> sintaticamente errado
l d
-
7/26/2019 Aula02 Alg
12/42
Algoritmo e Programao Portugus Estruturado
Operadores "elacionais
8o operadores %ue possi(ilitam relacionardois elementos, cu.o resultado dacomparao ser& verdadeiro ou falso Esses
operadores so9
Al it P P t E t t d
-
7/26/2019 Aula02 Alg
13/42
Algoritmo e Programao Portugus Estruturado
Operadores "elacionais ! Exemplos
> L ? " igual a falso43 LM6 " igual a verdadeiro
/4 L /2 " igual a verdadeiro>GMJ6 " igual a verdadeiroN42 sintaticamente errado
Al it P P t E t t d
-
7/26/2019 Aula02 Alg
14/42
Algoritmo e Programao Portugus Estruturado
Operadores #$gicos
Estes operadores possi(ilitam estender ouso dos operadores relacionais compondositua$es l+gicas mais sofisticadas Eles
consistem em9
Operador RelaoE (&&) Conjuno de Operao
Ou (||) Disjuno de OperaoNo (~, !) Negao de Operador
Algo itmo e P og amao Po t g s Est t ado
-
7/26/2019 Aula02 Alg
15/42
Algoritmo e Programao Portugus Estruturado
Operadores #$gicos ! Ta%elas
Para o melor entendimento de como funciona cadaoperador l+gico, vamos acompanar as ta(elas aseguir relativas a cada tipo de operador
Oa(ela/verdade do operador E
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
16/42
Algoritmo e Programao Portugus Estruturado
Operadores #$gicos ! Ta%elas
Oa(ela/verdade do operador Bo
Oa(ela/verdade do operador 'u
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
17/42
Algoritmo e Programao Portugus Estruturado
Operadores #$gicos ! Exemplos
Conforme as ta(elas anteriores, podemosento, nos exemplos a seguir, afirmar%ue9 J L > e 43 L ? " igual a verdadeiro J L > e 43 N ? " igual a falso Bo ? M ? " igual a falso
Em geral, os operadores l+gicos so(astante utili-ados pelos comandos dedeciso se NcondioL/ ento faa5 e derepetioen%uanto NcondioL / faa5conforme ser& visto mas adiante
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
18/42
Algoritmo e Programao Portugus Estruturado
&un'es
As fun$es consistem num pe%uenoprograma %ue tendo valores de entradageram uma resposta no local do c&lculo
onde foram solicitadas Em outras palavras,elas retornam um resultado# A sintaxe de uma funo consiste em9
Nnome da funoL Nparmetro4L,Nparmetro2L,5
Em programa&'o costumamos explicar a constru&'o deuma determinada sintaxe utili(ando os sinais 8 e 9#Contudo, esses sinais n'o devem ser escrito noalgoritmo, pois s'o apenas sim:;licos para indicar aoprogramador como deve ser constru)da umadeterminada sintaxe de programa&'o#
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
19/42
Algoritmo e Programao Portugus Estruturado
&un'es
Exemplo de uma fun$es %ue podem serutili-adas na construo dos algoritmos9
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
20/42
Algoritmo e Programao Portugus Estruturado
&un'es
@ importante comentar %ue em grande parte daslinguagem de programao existem fun$esinternas .& definidas pela pr+pria ferramentacomputacional#
Bo entanto, " pr&tica comum se criar fun$es esu(fun$es dentro de um algoritmo para reali-arum c&lculo ou tarefa especficos Porm, deve1>Q >6
(5 >1?5H6
's parnteses agora ganam a prioridade5H6Q>
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
24/42
g g g
Prioridade na (ontagem de
Express'es
Exemplos9c5J/%uad?517
4Q
A funo tem prioridade so(re outros operadores5J/4Q17/JR& um empate entre dois operadores aditivos e 1 Beste caso
calcula/se o mais a es%uerda5/J 1 7
/>
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
25/42
g g g
Prioridade na (ontagem de
Express'es
Oente fa-er9 a5 43L6 e 71?L4?
(5 143F2/JH>H?
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
26/42
g g g
)ari*+eis
As vari&veis representam um dos elementos maisimportante na construo de algoritmos S'o elasas responsveis pelo arma(enamento dosdados na mem;ria do computador4
Para ensinar o computador como manipular umdado, o programador precisa nomear um lugar namem+ria onde esse dado ser& guardado#
Uma vari&vel portanto consiste num local com umnome especfico dentro da mem+ria docomputador, criado em um algoritmo, paraarma-enar um determinado dado
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
27/42
)ari*+eis
;epresentao a(strata das vari&veis na mem+ria deum computador
:dadeScliente OaxaSimposto
;esultado BomeScolega
46 3?7>
Q7 Torge
EV;:A
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
28/42
)ari*+eis
A notao de vari&vel tem aver com ofato de %ue o dado pode se modificar isto", variar5 durante a execuo do
algoritmo pela m&%uina#
As vari&veis esto presentes na mem+riado computador durante a execuo do
algoritmo Ap+s o t"rmino da execuo, "como se os dados fossem apagados e osendereos vari&veis5 destrudas
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
29/42
,omes das )ari*+eis
Ooda a vari&vel precisa ter um nome definido peloprogramador, e %ue deve ser 0nico dentro do algoritmopara no resultar em am(iguidades %uando o algoritmofor executado#
Como regra geral, todo o nome de varivel devecome&ar por uma letra, e depois deve incluir apenasletras, dgitos ou ainda o sinal de su(linado )S*5 'odeve conter acentos, espa&o, :em como serdeinida igualmente como o nome de algumaun&'o impl)cita de uma dada linguagem deprograma&'o4
Em programao estes nomes vari&veis5 criados peloprogramador so camados de identificadores
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
30/42
Exemplos de nomes de +ari*+eis
Exemplos inv&lidos9
W4nota comea comnumero5
Wm"diaSarit possui acento5
W%uant inicial possui
espao5WXalorSemS;Y possui ocaracter Y %ue uma dadalinguagem de programaopode utili-ar internamente5
Exemplos v&lidos9
WvalorSpago
WcalSmedia
Wi
Wcont
Widade
Wsoma
WmesSdoSano
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
31/42
Tipos de dado das +ari*+eis
Boda a varivel deve ter um tipo de dado relacionado aela# Ao se criar uma varivel, preciso se deinir !ualtipo de dado ela vai arma(enar4
Por exemplo9
Zueremos conta(ili-ar a %uantidade de latas de refrigerante deum arma-"m em um algoritmo Para isso definimos a vari&vel%uantSlata %ue deve guardar dados do tipo inteiro#
' mesmo poderamos proceder para arma-enar os preos de(lusas de uma lo.a, criando uma vari&vel precoS(lusas %ue devearma-enar dados do tipo real
Conorme podemos veriicar as variveis precisam serdeclaradas no algoritmo para !ue a m!uina entendaos tipos de dados !ue elas devem arma(enar#
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
32/42
Declarao de )ari*+eis
Ooda vari&vel usada em um algoritmoprecisa ser declarada :sto deve ser feito noincio da construo do algoritmo A sintaxe
para declarao de vari&veis "Nvari&vel4L, Nvari&vel2L,9NtipoL#
Exemplos9
%uantSlata, %uantS(lusas9inteiro#precoS(lusa, mediaSarit9real#nomeSfuncionario9cadeia4
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
33/42
O%ser+ao importante
Uma varivel s; pode arma(enar umdado de cada ve(
@ual!uer valor arma(enado em umavarivel sempre vai apagar algumoutro guardado anteriormente dentro
dela, no mesmo algoritmo
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
34/42
Sintaxe geral de um algoritmo A forma de um algoritmo em portugus estruturado
sempre segue a estrutura (&sica descrita a seguir9BiposII=eclarao de tipos personali-ados Ntiponovo4LMNtipo4L# Ntiponovo2LMNtipo2L#DariveisII =eclarao de vari&veis do algoritmo Nvari&vel4LMNtipo4L# Nvari&vel2LMNtipo2L#IICorpo do algoritmo$n)cio Ncomando4L#
Ncomando2L#Fim#II+dulosodulo Nnomem+dulo4L# [[ \ ]]#
\
=eclarao de tipos
=eclarao de vari&veis
coment&rio
Parte principal do algoritmo
:ndentao
+dulos dos algoritmo
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
35/42
Comando de Atri%uio
A atri(uio consiste no comando solicitado !m&%uina %ue permite arma-enar o resultado de umaexpresso dentro de uma vari&vel A sintaxe noportugus estruturado "9
Nnomevari&velL M NexpressoL#
importante veriicar !ue no portugusestruturado *conorme se veriicou naestrutura geral apresentada anteriormentesempre colocamos o sinal de ponto
-
7/26/2019 Aula02 Alg
36/42
Comando de Atri%uio
Exemplo9 cota M 7# cont M 4#
precoSgasolina M 2,QQQ valor M precoSunitarioH%uat#
:s- suposto !ue as variveis doexemplo acima > oram previamentedeclaradas, pois uma varivel do tipointeiro n'o pode rece:er um dado dotipo real#
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
37/42
Comando de Entrada de Dados
Zuando ensinamos o computador a executar algo,na maioria das ve-es, a m&%uina precisa de dadosde entrada a serem processados#
Bo portugus estruturado o comando %ue indica ao
computador %uando ele deve solicitar dados dousu&rio, consiste no comando ler; Essa solicitao " camada de entrada ou leitura de
dados atrav"s de um dispositivo de entrada oteclado, por exemplo5#
A sintaxe do comando de entrada de dados consiste
em9
lerNvar4L, Nvar2L,#
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
38/42
Comando de Entrada de Dados
Exemplo9 ler valor4# ler numS(anco, codSagencia# ler nomeSfuncionario# ler a,(,c#
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
39/42
Comando de Sada de Dados
Assim como o computador precisa de dados deentrada para executar um determinadoprocessamento, no faria sentido ele no exi(iresses resultados#
Portanto o computador necessita de um comandoem %ue ele entenda %ue deve escrever ou imprimir5resultados e mensagens para um dispositivos desada supondo, o monitor de vdeo5#
A sintaxe do comando de sada de dados consisteem9
escreverNvar4L, Nvar2L,#
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
40/42
Comando de Sada de Dados
Exemplo9escreversoma# II imprime o conte0do da vari&vel soma
escrever^_im de C&lculo` II Exi(e uma mensagem
escrever^' saldo atual "`, saldo# II Exi(e mensagem e um II conte0do
escrevera1(# II Exi(e resposta da expresso
:s- ote !ue no comando escrever umamensagem pode ser escrita com os acentos eoutros s)m:olos#
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
41/42
Estudo de um exemplo
Bo exemplo a seguir " apresentado um algoritmo a(ordando osdemais comandos apresentados anteriormente, em %ue reali-a asoma de dois n0meros9
// Algoritmo para a soma de dois nmeros
// Autor: Rogrio Almeida - Macap: 05/03/2010
Variveis
num1, num2, soma:real
Incio
lernum1
lernum2 soma ! num1"num2
escrever #A soma dos dois nmeros :$, soma
Fim
Algoritmo e Programao Portugus Estruturado
-
7/26/2019 Aula02 Alg
42/42
Estudo de um exemplo
:serva&=es importantes As duas primeiras linas iniciadas por duas (arras
II5 consistem em coment&rios#
_oram criadas trs vari&veis para este pro(lema,num4, num2 e soma, respectivamente Am(as sodeclaradas como vari&veis %ue rece(ero dados dotipo real#
Bo corpo do algoritmo utili-amos o ponto/e/vrgulaao final de cada comando#
Alguns comandos foram indentados em relao amargem es%uerda para indicar %ue fa-em parte deum comando mais geral