aula02 alg

Download Aula02 Alg

Post on 01-Mar-2018

219 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 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#