Baixe o app para aproveitar ainda mais
Prévia do material em texto
Paradigmas de linguagens de programação Aula 5: De�nições, declarações e tipos de dados simples das linguagens de programação Apresentação Armazenar dados temporariamente em memória é crucial para as linguagens de programação (LPs) executarem com presteza sua tarefa: permitir aos programadores escrever programas que recebam dados e os transformem em informação. Geralmente, as LPs provêm de um conjunto �xo de tipos de dados elementares e de mecanismos sobre a estruturação de dados mais complexos baseados em outros elementares. Conhecer os tipos de dados (elementares e estruturados) que uma linguagem de programação (LP) oferece é fundamental e tão importante quanto identi�car as estruturas de comandos e as formas de particionar o programa em unidades (subprogramas). Nesta aula, marcaremos os conceitos e as formas utilizadas que permitem de�nir e declarar as constantes e variáveis e os diferentes tipos de dados elementares que uma LP pode implementar, exempli�cando com linguagens bem conhecidas. Objetivos Expressar o conceito e as propriedades das variáveis e constantes; Localizar os possíveis tipos de dados simples ou primitivos de uma LP. De�nições e declarações Ao estudar uma LP, deve-se saber que tipos de dados podem ser manipulados. A capacidade de uma linguagem lidar com uma variedade de dados baliza suas possibilidades de armazenar diferentes tipos de dados, as operações disponíveis sobre eles e a forma como podem ser estruturados e usados. Os dados precisam estar armazenados na memória principal, segundo o modelo de Von Neumman, para que possam ser processados. Variáveis e constantes são as principais entidades capazes de armazenar valores em memória. Cada variável ou constante será associada a uma posição de memória, antes ou durante a execução do programa no qual são referenciadas, conforme o tempo de amarração. Veja a seguir os dois tipos de dados que podem ser manipulados Variáveis A compreensão do conceito de variável é necessária a todo programador, pois, segundo Edsger Dijkstra, famoso cientista da computação, “uma vez que o programador tenha entendido o uso de variáveis, ele entendeu a essência da programação”. (DIJKSTRA apud SOUZA, 2019) Atenção Devemos considerar que toda variável será associada a um determinado endereço de memória. Constante Enquanto as variáveis podem ter diferentes valores ao longo da execução de um programa, existem dados que não mudam nem devem ser modi�cados. Leitura Leia o texto Pontos essenciais sobre variáveis e constantes Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online Tipos de dados Os programas (conjunto de instruções) e os dados são a essência de um sistema computacional. Lembremos a a�rmação de Niklaus Wirth (2019): javascript:void(0); PROGRAMA ALGORITMO DADOS Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online Um programa de computador, portanto, contém a lógica para resolver um problema sob a forma de um algoritmo somado aos dados que sejam necessários. Lidar com dados sempre foi essencial para as LPs. As linguagens usam conceitos inerentes a tipos de dados para permitir o armazenamento de valores em memória, garantindo, assim, os dados necessários à execução do programa. Cada LP adota um conjunto de valores e tipos para representar dados que os programas consigam manipular. Um dos critérios de avaliação de uma LP refere-se à variedade de tipos de dados que ela disponibiliza ao programador. Uma linguagem com conceitos fortes de amarração e associação a tipos concede segurança à LP e maior possibilidade de armazenamento, além de lhe garantir, consequentemente, maior poder de processamento e abstração. 1 A veri�cação de tipos (se os valores atribuídos e as operações forem compatíveis) em tempo de compilação confere con�abilidade e segurança à LP, pois evitam-se erros de execução inesperados à medida que as variáveis são previamente declaradas e os tipos veri�cados a cada atribuição de valor ou resultado de expressões a variável. Um tipo de dado pode ser de�nido tanto como um conjunto (em geral, �nito) de valores (que o dado pode assumir) quanto um conjunto de operadores e operações válidas sobre esses valores. Exemplo O tipo inteiro pode assumir valores de “.... -3,-2-1,0 1,2, 3 ..........” que permitem o uso de operações aritméticas (+, -, /, *) e relacionais (=, <>, >, <,>=, <=). Já o tipo lógico pode assumir dois valores apenas: 0 (falso) e 1 (verdadeiro). São válidas nele as operações lógicas (and, or, not) e relacionais (=, <>, >, <,>=, <=). Neste contexto vamos ver a seguir a questões importantes relacionadas a tipagem de dados. Leitura Leia o texto Considerações sobre tipos de dados http://estacio.webaula.com.br/cursos/go0138/aula5.html javascript:void(0); Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online Classi�cação dos tipos de dados Independentemente da LP, os tipos são divididos em um primeiro nível da seguinte maneira: Simples (básico, primitivo ou elementar) Em geral, são aceitos pela maioria das linguagens. Os tipos simples, em sua maioria, incluem: Byte; Inteiro; Real; Caractere; Lógico. Estruturado (composto) Seus tipos são formados por tipos de dados simples ou estruturados: Vetor; Registro; Matriz; Arquivo. Tipos simples formam a base para o sistema de tipos da LP, pois é a partir deles que os demais tipos serão construídos. Outro fator de importância dos tipos simples é que a sua escolha ajuda a revelar a área de aplicação da LP. Figura 1: Divisão dos tipos de dados de uma LP. Os tipos de dados simples, de uma forma geral, podem ser classi�cados e agrupados da seguinte forma: a) Tipos simples não enumeráveis Aqueles que não podemos contar (enumerar). Exemplo Quantos números reais existem entre 0,1 e 0,2? b) Tipos simples enumeráveis Aqueles que podemos contar (enumerar). São divididos em: • De�nidos pela LP: São os tipos simples básicos: numéricos (byte e real), real, logo e caractere; • De�nidos pelo usuário: No caso, o programador, que melhora a legibilidade do código: discreto (escalar) e contínuo (intervalo). Figura 2: Divisão dos tipos de dados simples de uma LP. Obviamente, há variações em cada linguagem, mas a maior parte delas contém tipos simples para armazenar dados: Numéricos (byte, inteiro ou real); Caractere; Lógico (booleano) Esses são os chamados tipos simples básicos. É importante destacarmos que cada tipo de dado vai precisar de uma determinada quantidade de memória para armazenar seus possíveis dados. Em geral, tais espaços de memória são medidos em bytes (8 bits). Figura 3: Tipos de dados simples das LPs. Leitura Vamos continuar entendo tipos de dados e outras abordagens importantes a esse contexto. Leia o texto Considerações sobre: dados (simples, primitivos e inteiros), ponto �utuante de precisão e tipos enumeráveis de�nidos pelos usuários. Atividade 1. Sobre o conceito de variáveis e constantes e como as LPs os implementam, avalie: I. As propriedades de variáveis são: nome, endereço, valor, tipo de dado, tempo de vida e visibilidade. II. O tempo de vida de uma variável determina o trecho de programa em que ela pode ser referenciada. III. O programador é quem determina o endereço da variável ao declará-la. IV. As constantes têm as mesmas propriedades das variáveis, exceto o fato de não mudarem de valor. Com base em sua análise, marque a opção que apresente apenas as assertivas corretas. a) I e IV b) I, III e IV c) I d) II e IV e) I, II, III e IV 2. Associe as duas colunas. À esquerda, temos alguns tipos de dados simples; à direita, propriedades ou exemplo de tipos de dados simples. Associe o tipo de dado simples à sua respectiva propriedade ou ao seu exemplo. Cada tipo de dado pode ou não estar associado a uma propriedade ou exemplo. Também pode haver propriedade ou exemplo sem relação com o tipo de dado. Associe o número (1 a 5) da coluna “tipo de dado simples” com a letra (A a E) correspondente de “propriedade ou exemplo”. Tipo de dados simples Propriedade ouexemplo 1. Tipo enumerado discreto a) Cores = (verde, vermelho, amarelo). 2. Tipo booleano b) Representa números inteiros. 3. Tipo real c) Armazena letras do alfabeto. 4. Tipo enumerado contínuo d) Um exemplo seria o valor de PI = 3,1416. 5. Tipo caractere e) Somente pode ter dois valores associados. javascript:void(0); 3. No trecho de código abaixo, escrito em Pascal, estamos usando quais tipos de dados simples? Program Exemplo; Tpdias = (seg, ter,qua,qui,sex,sab,dom); TpSemana = seg..sex; TpFimSem = sab..dom; Var Num: integer; Dias: Tpdias; Semana: TpSemana; FimSemana: TpFimSem; a) Inteiro, enumerado discreto e enumerado escalar. b) Enumerado discreto e enumerado escalar. c) Inteiro e enumerado discreto. d) Inteiro e enumerado escalar. e) Inteiro. Notas Segurança à LP 1 Observe como o conjunto de tipos oferecidos por uma LP pode in�uenciar aspectos como segurança, simplicidade e legibilidade. A facilidade adequada para de�nir novos tipos e estruturas de dados em LPs é um auxílio signi�cativo à legibilidade. Exemplo: Usar um tipo de dado numérico quando não houver um tipo de dado lógico (boolean) na LP irá gerar uma falta de clareza na solução. Registros (record) são mais adequados (mais claros e mais legíveis) para representar dados de um funcionário que um conjunto de variáveis simples não encapsuladas: ao declarar as variáveis simples, e não o registro, estaremos comprometendo o entendimento do código.Referências DIJKSTRA, E. apud SOUZA, V. E. S. Linguagens de programação: 4 – variáveis e constantes. Universidade Federal do Espírito Santo. Disponível em: https://www.inf.ufes.br/~vitorsouza/wp-content/uploads/academia-br-lp-slides04-variaveis.pdf. Acesso em: 8 mai. 2019. GHEZZI, C.; JAZEYERI, M. Conceitos de linguagens de programação. 2. ed. Rio de Janeiro: Campus, 1987. SEBESTA, R. W. Conceitos de linguagem de programação. 11. ed. Porto Alegre: Bookman, 2018. TUCKER, A. B. Programação: princípios e paradigmas. 2. ed. Porto Alegre: AMGH, 2010. VAREJÃO, F. M. Linguagem de programação: conceitos e técnicas. Rio de Janeiro: Elsevier, 2004. WATT, A. D. Programming language: concepts and paradigms. New Jersey: Prentice Hall, 1990. WIRTH, N. apud CASTRO, C. E. P. S. de. Algoritmos. Disponível em: http://www.deinf.ufma.br/~portela/Algoritmos.pdf. Acesso em: 8 mai. 2019. javascript:void(0); javascript:void(0); Próxima aula Tipos de dados compostos ou estruturados; Tipos abstratos de dados (TAD). Explore mais Tipos de dados para uso em algoritmos; Linguagem C: Os tipos de dados; O que são tipos de dados primitivos; Variáveis e constantes; PHP: Declaração e atribuição de variáveis. javascript:void(0); javascript:void(0); javascript:void(0); javascript:void(0); javascript:void(0);
Compartilhar