aula conceitos linguagens de programação

Upload: sofialarissac

Post on 02-Mar-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    1/28

    Nomes, Vinculaes, Verifca

    Tipos, Escopos e SubprogramPro. Sofa Costa Paia!".!#.$!%#

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    2/28

    Tpicos da Aula

    %.Nomes$.Vinculaes&.Verifcao de Tipos'.Escopo

    (.Subprogramas

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    3/28

    Introduo

    Vari)eis*bstrao para uma ou mais c+lulas de memria -armaenam o estado de uma entidade

    /Uma vez que o programador tenha entendido o variveis, ele entendeu a essncia da programao0 ECon2unto de propriedadesTipo de dadosNome

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    4/28

    1.Nomes

    Toda 4inguagem de Programao 54P6 possui nom

    signifcados pr+7defnidos*tributo undamental das ari)eisTamb+m con8ecido como identifcadorCadeia de caracteres usado para identifcar alguma

    programa9:;T;*N< at+ # caracteresC at+ &% caracteres=aa e *da no tem limites de taman8oCaracteres de cone>o so aceit)eis< sublin8ado 5/

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    5/28

    1.Nomes

    1istino entre mai@sculas e min@sculas

    C/C++:Adentifcadores 7 letras min@sculas com sublin8adoNomes 7 um ou dois sublin8ados e letra mai@scula

    Ada:Vari)eis 7 letras mai@sculas e min@sculas separadas pJava/Javacript:Classes e interaces 7 BpperCamelCase+todos 7 loDerCamelCaseVari)eis 7 loDerCamelCase, no deem comear com subConstantes 7 letras mai@sculas com palaras separadas po

    !"t#one $u%": Classes 7 BpperCamelCaseConstantes 7 letras mai@sculas separadas por sublin8ados:utros nomes 7 min@sculas separada por sublin8ados

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    6/28

    1.Nomes

    !alavras especiais:torna o programa mais legFelusadas para nomear aes a serem e>ecutadas ou p

    entidades sint)ticas dos programas.Palaras reservadas< no pode ser usada como noPalavras-chave< especial em certos conte>tos. Em

    9:;T;*N

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    7/28

    1.1 &ari'veis

    *bstrao de uma c+lula de memriaCaracteriada como um sH>tuplo de atributosNomeEndereoValor

    Tipo de dadosTempo de idaEscopo

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    8/28

    (. &inculao )*indin+,

    Vincula um identifcador a uma entidade computaci: momento da inculao + c8amado de tempo de v-eclarao: mecanismo -ue cria uma inculao 5a

    entre um identifcador e uma entidadeAm%iente de $eerenciamento: con2unto de inculaTodas as ari)eis isFeis na sentenaPode 8aer no m)>imo uma inculao por identif

    um ambienteInicialiao: inculao de uma ari)el a um alo

    momento em -ue esta + inculada ao armaenamen

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    9/28

    (.1 &inculao de Tipos

    *ntes de ser reerenciada, uma ari)el precisa serum tipo de dado.Como e -uando dee ocorrer a inculaoI-eclarao e0plcita: instruo -ue lista nomes de

    especifca -ue elas so de um tipo particular-eclarao implcita: um meio de associar ari)e

    conenes padro em e de por instrues de decl

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    10/28

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    11/28

    (.( &inculao de Armaenamento e Tempo

    Tempo de vida: tempo durante o -ual uma ari)ela uma localiao de memria especFfca1iididas em -uatro categoriasecuo do programa&ari'veis din2micas da pil#a: inculadas -uando o cdigo + e>&ari'veis din2micas do monte e0plcitas: c+lulas abstratas alo

    liberadas por instrues e>plFcitas em tempo de e>ecuo. E>.< &ari'veis din2micas do monte implcitas: inculadas no monte

    so atribuFdos alores a elas.

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    12/28

    (.( &inculao de Armaenamento e Tempo

    Tempo de vida: tempo durante o -ual uma ari)ela uma localiao de memria especFfca1iididas em -uatro categoriasecuo do programa&ari'veis din2micas da pil#a: inculadas -uando o cdigo + e>&ari'veis din2micas do monte e0plcitas: c+lulas abstratas alo

    liberadas por instrues e>plFcitas em tempo de e>ecuo. E>.< &ari'veis din2micas do monte implcitas: inculadas no monte

    so atribuFdos alores a elas.

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    13/28

    (.( &inculao de Armaenamento e Tempo

    Tempo de vida: tempo durante o -ual uma ari)ela uma localiao de memria especFfca1iididas em -uatro categoriasecuo do programa&ari'veis din2micas da pil#a: inculadas -uando o cdigo + e>&ari'veis din2micas do monte e0plcitas: c+lulas abstratas alo

    liberadas por instrues e>plFcitas em tempo de e>ecuo. E>.< &ari'veis din2micas do monte implcitas: inculadas no monte

    so atribuFdos alores a elas.

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    14/28

    3. &erifcao de Tipos

    *ssegura -ue os operandos de um operador se2am compatFeisTipo compatvel:)lido para o operador ou com p

    para ser conertido pelo compilador 5coero6

    4rro de tipo:aplicao de operador a operando imp

    Vinculaes est)ticas->erifcao de tipos est)ticaVinculaes dinKmicas->erifcao de tipos dinKm

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    15/28

    3. &erifcao de Tipos

    Tipifcao 5orte: cada nome de programa tem umassociado a ari)el.Permite a deteco de todos os usos e-uiocados d

    -ue resultem em erros de tipo

    *da + -uase ortemente tipifcada, =aa + similar nen8uma maneira implFcita pela -ual os erros de tpossam ser detectados.CLC++no + ortemente tipifcada< 8) unes cu2

    parKmetros no so erifcados -uanto ao tipo

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    16/28

    3. &erifcao de Tipos

    Compati%ilidade de Tipos: dois m+todos dierentesCompatibilidade de nome< duas ari)eis com o m

    de tipo.Compatibilidade de estrutura< duas ari)eis tHm

    compatFeis se tierem estruturas idHnticas. M mapor+m mais diFcil de implementar

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    17/28

    6. 4scopo

    ;egio do programa onde umainculao est) defnida*loco:delimita o escopo das

    inculaes

    &ari'vel local:declarada em umbloco

    &ari'vel no7local:isFel dentro daunidade mas no declaradas nele.

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    18/28

    6. 4scopo

    4scopo est'tico< defnido antes da e>ecuo, o comdetermina o tipo de cada ari)el.4scopo din2mico: baseia7se na se-uHncia de c8ama

    subprogramas e no nas relaes espaciais um com

    4scopo lo%al: a defnio de algumas ari)eis poaparecer ora das unes 7 C, C++e POP.

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    19/28

    6.1 4scopo e Tempo de &ida

    Conceitos parecem estar relacionadosEscopo< relacionado com o espao de tempo 5espaTempo de ida< perFodo de tempo 5temporal6Asso no ocorre com ari)eis est)ticas 5static6 po

    estende por todo o programaConstantes nomeadas:ari)el inculada a um al

    uma e.

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    20/28

    8. u%proramas

    Computador criado por abbage em %Q'!< re@so dcartes de instrues, economiando espao de memtempo de codifcaoSubprogramas tem as caracterFsticas< @nico ponto d

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    21/28

    8. u%proramas

    *bstrao de processo< instrues para realiar uma tar1escree a interace e as aes da abstrao deste.C#amada a su%proramas:re-uisio e>plFcita para -ue

    e>ecutadoAtivo: aps ser c8amado, comeou sua e>ecuo e aind

    terminouCabeal8o< Rtipo?unidade Rnome 5R4ista?de?parPerfl de parKmetros< n@mero, ordem e tipos dos parKmeProtocolo< perfl de parKmetros, tipo de retorno e tipo de

    subprograma

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    22/28

    8. u%proramas

    !ar2metros: duas ormas deacessar os dados porsubprogramasemploprogram subalgoritmosar a,b,U < integer6ar au>< integerbeginau> >

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    24/28

    8. u%proramas

    *da e 9ortran ornecem tanto unes -uanto procediment4inguagens baseadas em C< apenas unes.Podem no retornar alor< oid+todos de passagem de parKmetros, int U6 Y return >U I > < UZ

    double ma0imo5double >, double U6 Y

    return >U I > < UZ

    int ma0imo5int >, int U, int D, int 6 Yreturn ma>imo5ma>imo5>,U6,ma>imo5U,66

    Z

  • 7/26/2019 Aula Conceitos Linguagens de Programao

    28/28

    Nomes, Vinculaes, Verifca

    Tipos, Escopos e SubprogramPro. Sofa Costa Paiasofalarissa[gmail.com