Paradigmas de Linguagem de. Programação Profª. Roberta B Tôrres de programação referem-se a:

Documentos relacionados
Introdução à Ciência da Computação. Prof. Dr. Rogério Vargas

Paradigmas de Linguagens

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

Capítulo 6. Tipos de Dados

Paradigmas de Linguagem de Programação. Paradigma Imperativo

Espaço de Tipos. Amarração Tipo. Amarração Valor. Amarração Localização. Amarração Nome. Objeto de Dado

FACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis

Conceitos de Linguagem de Programação - 2

Introdução. Paradigmas de Linguagens. Introdução. Tipos de Dados Primitivos. Prof. Ms. Luiz Alberto Contato:

Sistemas de Tipos. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

LINGUAGENS DE PROGRAMAÇÃO: NOÇÕES PRELIMINARES

Linguagens de Programação Conceitos e Técnicas. Valores e Tipos de Dados Prof. Tiago Alves de Oliveira

Valores e Tipos de Dados Prof. Hudson Costa

Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação

Linguagens de Programação. Tipos. Carlos Bazilio

Capítulo 6: Linguagens de Programação

Tipos de Dados. George Darmiton da Cunha Cavalcanti

Compiladores. Conceitos Básicos

Linguagens de Programação Aula 8

Linguagens de Programação

Arrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Algoritmos Fundamento e Prática

Linguagem de Programação e Compiladores

Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Paradigmas de Linguagens de Programação. Tipos de Dados

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Fundamentos de Algoritmos (5175/31)

Análise semântica. Função, interação com o compilador Tabela de símbolos Análise semântica. Prof. Thiago A. S. Pardo

Dados Gerais. Conteúdo. Tipos de Dados. Profa. Renata de Matos Galante

Linguagens de Programação Aula 3

Conceito de Linguagens de Programação - 1

INE5384 Estruturas de Dados. Sumário

ao paradigma imperativo

Trabalho Linguagem e Programação de Compiladores

ALOCAÇÃO DINÂMICA DE MEMÓRIA

Capítulo 7. Expressões e Sentenças de Atribuição

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina:

Linguagem de Maquina II. Visão Geral

Conceitos de Linguagens de Programação

Disciplina: Introdução à Engenharia da Computação

Paradigmas de Programação

FACULDADE LEÃO SAMPAIO

Linguagens de Programação. Nomes, Escopos e Vinculações (Bindings) Carlos Bazilio

Análise Semântica e Representação Intermédia

Nomes, Amarração, Verificação de Tipos, e Escopo

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Verificação de Tipo. Unions. Verificação de tipo estática. Verificação de tipo dinâmica

Linguagens de Programação Aula 11

Prof. Adriano Maranhão COMPILADORES

Organização de Computadores

Estruturas de Dados Apresentação

O que é uma variável?

Autômatos e Linguagens

Primeira Prova de Linguagens de Programação - DCC024 -

Métodos Numéricos - Notas de Aula

Linguagem de Programação I. Aula 10 Funções

Paradigmas de Programação

FACULDADE ZACARIAS DE GÓES SISTEMAS DE INFORMAÇÃO ADRIEL ALMEIDA CAFÉ PROCESSO DE COMPILAÇÃO

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

INF Prof. Daltro José Nunes Profa. Renata de Matos Galante. Estruturas de Dados. tica

Nomes, vinculações e escopos

Linguagens de Programação Tipos de Dados

Expressões e sentença de atribuição

Linguagens de Programação. Marco A L Barbosa

Programação de Computadores I

Capítulo 1. Aspectos Preliminares

Conceitos Básicos de Programação

Os elementos da programação

Introdução. Compiladores Análise Semântica. Introdução. Introdução. Introdução. Introdução 11/3/2008

Variáveis. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Estudos de Linguagens de Programação - Revisão

Informática I. Aula Aula 22-12/11/2007 1

Especificações Gerais do Compilador e Definição de FRANKIE

Abaixo iremos pormenorizar cada um de seus atributos:

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Compiladores. Análise Semântica

Capítulo 5. Nomes, Vinculações e Escopos

Algoritmos e Programação

Paradigmas de Programação

Projeto de Compiladores

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

Introdução à Programação uma Abordagem Funcional

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

Estrutura de Dados Conceitos Iniciais

Compiladores. Análise Semântica

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

Principais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO

09/05/2017. Técnicas Avançadas de Programação APRESENTAÇÃO

15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Análise semântica. Função, interação com o compilador Tabela de símbolos Análise semântica. Prof. Thiago A. S. Pardo

Compiladores. Introdução

Métodos Computacionais

CAP. VI ANÁLISE SEMÂNTICA

Transcrição:

Paradigmas de Linguagem de Programação Conceitos Elementares Profª. Roberta B Tôrres rbtorresiff@gmail.com Conceitos Elementares de uma Linguagem de Programação Os conceitos mais elementares, suportados por quase todas as linguagens de programação referem-se a: Valores e Tipos Variáveis e seu armazenamento Vinculações e escopo Abstração procedimental (procedimentos e parâmetros) Os dados são a matéria-prima da computação, e são tão importantes (e valiosos) para os programas que os manipulam. Em ciência da computação, o estudo de dados é considerado um tema importante por si só.

Valores e Tipos Um valor é qualquer entidade que pode ser manipulada por um programa. Valores podem ser avaliados, armazenados, passados como argumentos, retornados como resultados de função e assim por diante. Diferentes linguagens de programação suportam diferentes tipos de valores: Na linguagem C: Suporta números inteiros, números reais, estruturas, matrizes, registros, ponteiros para variáveis e ponteiros para funções. Inteiros e números reais são valores primitivos. Estruturas, arrays e registros são valores compostos. C++, que é uma extensão de C, suporta todos os tipos acima e mais o tipo Objeto (que representam valores compostos). JAVA suporta booleanos, números inteiros e reais, arrays e objetos. Booleanos, números inteiros e números reais são valores primitivos; matrizes e objetos são valores compostos. Valores e Tipos A maioria das linguagens de programação agrupa valores em tipos. Por exemplo, quase todas as linguagens fazem uma distinção clara entre números inteiros e números reais. A também uma distinção clara entre booleanos e inteiros: inteiros podem ser adicionados e multiplicados; booleanos podem ser submetidos a operações como NOT, AND e OR.

Valores e Tipos O que exatamente é um TIPO? A resposta mais óbvia, Tipo é um conjunto de valores. Quando dizemos que V é um valor de tipo T, queremos dizer simplesmente que V T. Quando uma expressão E é de tipo T, estamos afirmando que o resultado da avaliação de E será um valor do tipo T. Um TIPO é caracterizado não só por seu conjunto de valores, mas também pelas operações sobre esse conjunto de valores. Tipo de Dados Definição de Tipo de Dados Um tipo de dados é um conjunto de valores, equipado com uma ou mais operações que podem ser aplicadas uniformemente a todos esses valores. Para que servem?

Tipos de Dados Vantagens: Tipos de Dados Dependendo da linguagem de programação, o tipo de um dado é verificado diferentemente, de acordo com a análise léxica, sintática e semântica do compilador ou interpretador da linguagem. Os tipos tem geralmente associações com valores na memória ou com objetos (para linguagem orientada a objeto) ou variáveis.

Tipos de Dados Tipos de Dados As linguagens de programação suportam: Tipos Primitivos e; Tipos Compostos.

Hierarquia de Tipos Tipos Primitivos Um valor primitivo é aquele que não pode ser decomposto em valores mais simples. Tipos de dados que não são definidos em termos de outros tipos são chamados de tipos de dados primitivos. Cada linguagem de programação fornece um conjunto de tipos de dados primitivos incorporado. Algumas linguagens também permitem que os programas definam novos tipos primitivos.

Tipos Primitivos Muitos tipos primitivos aparecem em uma variedade de linguagens, algumas vezes sob diferentes nomes. Por exemplo: int ou integer; float ou real. Tipos primitivos mais usuais: Tipos Primitivos Tipos Numéricos

Tipos Primitivos Tipos Numéricos O nome Ponto Flutuante é utilizado para distinguir a representação computacional (limitada pelo hardware) da representação matemática (infinita). Tipos Primitivos Tipo Booleano

Tipos Primitivos Tipo Caracter São armazenados como códigos numéricos. O conjunto de caracteres escolhido é normalmente ASCII (128 caracteres), ISOLATION (256 caracteres) ou UNICODE (65 536 caracteres). Tipo Cadeia de Caracteres Consistem em uma sequência de caracteres. Tipos Primitivos Tipo Cadeia de Caracteres Consistem em uma sequência de caracteres.

Tipos Primitivos Tipo Cadeia de Caracteres Tipos Primitivos Tipo Cadeia de Caracteres

Tipos Primitivos Tipo Enumerado Tipos Primitivos Tipo Subfaixa ou Intervalo

Tipos Primitivos Tipos Compostos Um tipo composto pode ser construído a partir de tipos primitivos e de outros tipos compostos, em um processo chamado composição. As linguagens de programação suportam uma enorme variedade de valores compostos: registros, vetores, objetos, uniões, listas, árvores, arquivos e outros. Na verdade quase todos esses valores compostos podem ser entendidos em termos de alguns conceitos estruturantes, que são: Produtos cartesianos (tuplas, registros) Mapeamentos (arrays, funções) Uniões disjuntas (tipos algébricos, registros discriminados, objetos) Tipos recursivos (listas, árvores).

Tipos Compostos Tipo Produto Cartesiano É composto pelo emparelhamento de valores de dois tipos (possivelmente diferentes). Tipos Compostos Tipo Produto Cartesiano

Tipos Compostos Tipo União Disjunta Tipos Compostos União Disjunta e Produto Cartesiano

Tipos Compostos Tipo Registro Tipos Compostos Tipo Ponteiro

Tipos Compostos Tipo Ponteiro Exemplo de ponteiro em C Tipos Compostos Tipos Recursivos

Tipos Compostos Mapeamento Tipo Array Tipos Compostos Mapeamento Tipo Função Funções são exemplos de mapeamento. Um função tem argumentos (S) e resultados (T). A função é um mapeamento do tipo S -> T.

Sistema/Estrutura de Tipos Linguagem fortemente tipada Linguagens fortemente tipadas (como Java) exigem que o tipo de dado de um valor seja do mesmo tipo da variável ao qual o valor será atribuído. NOTA: Python é classificada como fortemente e dinamicamente tipada. Exemplo: ocorrerá um erro ao compilar a linha 7. O valor 13 precisa ser convertido para o tipo de dado inteiro.

Linguagem fracamente tipada Linguagens fracamente tipadas, tais como PHP e VBScript, a conversão não se faz necessária, sendo realizada implicitamente pelo compilador ou interpretador. Sistemas de Tipos EXEMPLOS

Referências Consultadas http://pt.slideshare.net/adrianots/presentations/2 (otimo material) http://pt.slideshare.net/adrianots/paradigmas-de-linguagens-de-programao-expresses-e-instruesde-atribuio http://slideplayer.com.br/slide/2262869/ - Tipo de Dado http://pt.slideshare.net/adrianots/paradigmas-de-linguagens-de-programao-tipos-primitivos-ecompostos (referencia) http://maradentro.com.br/wp-content/uploads/2014/09/paradigmas_apostila.pdf http://www.edilms.eti.br/uploads/file/pp/pp-aula-05-tiposdedados.pdf http://slideplayer.com.br/slide/3232289/ http://slideplayer.com.br/slide/3232289/ - Estático x Dinâmico http://pt.slideshare.net/adrianots/paradigmas-de-linguagens-de-programao-expresses-e-instruesde-atribuio - expressões e efeitos colaterais http://pt.slideshare.net/adrianots/paradigmas-de-linguagens-de-programao-classificaes - Sistema de Tipos http://www.inf.ufes.br/~vitorsouza/wp-content/uploads/teaching-lp-20132-slides03.pdf - Tipos compostos muito bom https://pt.slideshare.net/skosta/tipos-e-valores - Tipo de Dados/Sistemas https://inf.ufes.br/~vitorsouza/wp-content/uploads/teaching-lp-20132-slides03.pdf - muito bom https://pt.stackoverflow.com/questions/21508/qual-a-diferen%c3%a7a-entre-uma-linguagem-deprograma%c3%a7%c3%a3o-est%c3%a1tica-e-din%c3%a2mica