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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 Estudos de Linguagens de Programação - Revisão (marinho.mlm@gmail.com) O que é uma Linguagem de Programação? Linguagem usada por uma pessoa para expressar um processo através do qual um computador pode resolver um problema. 1

2 Por que estudar Conceitos de Linguagens de Programação? Aumento da capacidade de expressar idéias. Melhor uso de uma LP. Melhor escolha de uma LP. Maior facilidade em aprender novas LPs. Maior habilidade em projetar novas LPs. Possibilitar o avanço global da computação. Entender a importância da implementação. Domínios de Programação Aplicações Científicas Assembly, FORTRAN, Algol 60 Aplicações Comerciais Inteligência Artificial LISP (McCarthy, 1959), Linguagem funcional. Prolog (Clocksin e Mellish, 1970), Linguagem Lógica. Programação de Sistemas Construção de Scripts (Scripting Languages) 2

3 Classificação das LPs As LPs podem ser classificadas de diversas formas, algumas são quanto ao: Nível de Utilização; Propósito; Paradigma; Classificação das LPs Quanto ao nível de utilização classificam-se em: Linguagens de Máquina; Linguagens de Baixo Nível; Linguagens de Alto Nível; FORTRAN, Algol, COBOL, Pascal, Python, C++. 3

4 Classificação das LPs Quanto ao propósito (domínio de aplicação): Aplicações Comerciais Cobol, Clipper, Mumps, Natural; Desenvolvimento de Software Básico C, C++, Pascal; Desenvolvimento de Sistemas Especialistas Lisp, Prolog; Educacionais: Logo, Basic; Aplicações Científicas: Fortran, Algol; Propósito Específico Simula, HTML, VRML, Java, LEX, YACC. Métodos de Implementação Compilação Interpretação Pura Sistemas de Implementação Híbridos 4

5 Compilação Interpretação Pura 5

6 Sistemas Híbridos Comparativo Compilação Eficiência - Execução rápida dos programas, pois são executados diretamente em linguagem de máquina. Problemas com Portabilidade. Interpretação Pura Flexibilidade e Portabilidade do código-fonte. Problemas de eficiência, normalmente 10 a 100 vezes menor comparada ao compilado e Maior Consumo de Memória. Raramente Usada. Híbrido Une Vantagens dos Outros Métodos. 6

7 Critérios de Avaliação das Linguagens de Programação Princípais Critérios de Avaliação das Linguagens de Programação Legibilidade Capacidade de Escrita Confiabilidade 7

8 Legibilidade Facilidade de leitura e entendimento de programas escritos em uma determinada linguagem. Quanto maior a legibilidade de programas, mais fácil é a manipulação dos mesmos para correção, extensão e melhoramento (manutenção) Legibilidade Características que contribuem para legibilidade: Simplicidade Ortogonalidade Instruções de Controle Tipos e Estruturas de Dados 8

9 Legibilidade - Simplicidade Linguagem com grande número de componentes básicos é mais difícil de ser aprendida do que uma com poucos desses componentes. Programadores acabam ignorando componentes de linguagens complexas. Legibilidade é afetada quando programadores se defrontam com programas que usam componentes que foram ignorados. Legibilidade - Simplicidade Multiplicidade de formas com um mesmo significado Em C: count = count + 1; count += 1; count++; ++count; Sobrecarga de operadores: único símbolo tem mais de um significado Em C: + Para somar números inteiros como para ponto-flutuante. * para multiplicação de números quanto para operações de manipulação de ponteiros 9

10 Legibilidade - Ortogonalidade Um conjunto relativamente pequeno de construções primitivas pode ser combinado em um número relativamente pequeno de maneiras para construir as estruturas de controle e de dados da linguagem. Qualquer possível combinação de primitivas é legal e tem significado. Exemplo: Suponha uma linguagem com quatro tipos de dados (int, float, double, char) e dois operadores de tipos (ponteiros e arrays). Ponteiros devem ser capazes de apontar para qualquer tipo de variável ou estrutura de dados. Legibilidade - Instruções de Controle Uso de comandos goto Um programa que pode ser lido de cima para baixo é mais fácil de entender do que um programa que obriga o leitor a dar saltos para seguir o fluxo da execução. 10

11 Legibilidade - Instruções de Controle Em algumas linguagens, goto é necessário: Legibilidade - Tipos de Dados Tipos de dados facilitam a identificação do uso de variáveis e dos domínios de valores que podem representar. Por exemplo, em C não existem tipos booleanos, ao contrário do Pascal: Em C: Em Pascal: ocorreu_erro_de_leitura = 1; ocorreu_erro_de_leitura := true; 11

12 Legibilidade - Estruturas Estruturas fornecem métodos para representar valores relacionados de uma forma mais legível, do que por exemplo usando coleções de arrays separados. Capacidade de Escrita Medida da facilidade para criar programas destinado a um domínio de problema escolhido. A maioria das características que afetam legibilidade também afetam a capacidade de escrita Escrever um programa exige uma releitura freqüente do que já foi escrito. Domínio dos problemas influência no julgamento da capacidade de escrita de uma linguagem COBOL para produção de relatórios comerciais. 12

13 Confiabilidade Considera-se um programa confiável quando executa o que foi atribuído de modo esperado, sobre quaisquer condições. Características que contribuem para a confiabilidade: Verificação de Tipos Tratamento de Exceções Aliasing Legibilidade e Capacidade de Escrita Nomes, Vinculações, Verificação de Tipos e Escopos 13

14 Introdução Uma variável de programa é uma abstração de uma célula de memória ou de um conjunto de células de memória do computador. Introdução Atributos de uma variável: Nome; Endereço; Tipo; Valor; Tempo de Vida; Escopo; 14

15 Nomes Seqüência de caracteres usada para identificar alguma entidade de um programa Variáveis, rótulos, subprogramas, parâmetros formais,... Nome Identificador A mudança das linguagens de máquina para Assembly foi uma substituição dos endereços de memória numéricos por nome Aumenta a legibilidade, capacidade de escrita e modificabilidade Nomes - Palavras Especiais São utilizadas em LPs para tornar os programas mais legíveis ao dar nome para ações a serem executadas e separar entidades sintáticas; Palavra especial pode ser: Palavra-chave Palavra Reservada Palavra Pré-definida 15

16 Nomes - Palavras Especiais Palavra-chave pode ser usada como nome Em FORTRAN: REAL APPLE REAL é palavra-chave que indica instrução declarativa REAL = 3.4 REAL indica nome de variável Compiladores FORTRAN e leitores de seus programas devem reconhecer a diferença entre nomes e palavras-chave pelo contexto INTEGER REAL REAL INTEGER Problemas de Legibilidade Nomes - Palavras Especiais Palavra Reservada é especial e não pode ser usada como nome Em C e Java: do, while, for, if,... Palavra Pré-definida está entre palavra reservada e nome definido pelo usuário Tem significado pré-definido, mas pode ser redefinido pelo usuário Em C: printf, scanf definidas em stdio.h 16

17 Endereço de uma Variável É o endereço da posição de memória associada com a variável É chamado de seu valor-l, que é o exigido quando a variável aparece no lado esquerdo (left side) de uma instrução de atribuição Exemplo: float num = 3.14; Endereço de uma Variável - Aliases Quando mais de um nome de variável pode ser utilizado para acessar uma única localização de memória, os nomes são chamados de aliases C/C++: Uniões, Ponteiros. Ada e Pascal: Registros Variantes e Ponteiros. Comprometem a legibilidade Variável pode ter seu valor modificado por uma atribuição a uma variável diferente 17

18 Endereço de uma Variável - Aliases Exemplo C/C++: Tipo de uma Variável Determina a faixa de valores que uma determinada variável pode assumir e o conjunto de operações definidas para os valores daquele tipo; Exemplo: INTEGER de FORTRAN Valores entre a Operações de adição, subtração, multiplicação, divisão e exponenciação. 18

19 Valor de uma Variável O valor de uma variável é chamado de valor-r, que é o exigido quando a variável é usada no lado direito (right side) de uma instrução de atribuição Exemplo: maior = num; Valor-l deve ser determinado primeiro Vinculação Uma vinculação é uma associação, como por exemplo, entre um atributo e uma entidade ou entre uma operação e um símbolo O momento em que uma vinculação desenvolve-se é chamado tempo de vinculação 19

20 Vinculação Vinculação Estática Ocorre antes do tempo de execução, e; Permanece inalterada ao longo da execução do programa. Vinculação Dinâmica Ocorre durante a execução do programa, ou; Pode ser modificada no decorrer da execução. Vinculação Vinculação de Atributos a Variáveis Vinculação de Tipo Vinculação de Armazenamento Vinculação de Valor 20

21 Vinculações de Tipos a Variáveis Antes que uma variável possa ser referenciada em um programa, ela deve ser vinculada a um tipo de dados É importante saber quando e como esta vinculação ocorre Vinculação Estática de Tipos Vinculação Dinâmica de Tipos Vinculação Estática de Tipos Quando? Em tempo de compilação Como? Declaração de Variáveis Associação estática de uma variável a um tipo de dados Pode ser: Declaração explícita; Declaração implícita. 21

22 Vinculação Estática de Tipos Declaração Explícita É uma instrução em um programa que lista nomes de variáveis e especifica que elas são de um determinado tipo Pascal, C, C++, Java Exemplo: Pascal e C (sempre no início de um bloco) Vinculação Estática de Tipos Declaração Implícita É um meio de associar variáveis a tipos de dados através de convenções padrão sem utilizar instruções de declaração. A primeira ocorrência de um nome de variável em um programa constitui sua declaração implícita. ML, Perl, FORTRAN, Basic, PL/I 22

23 Vinculação Estática de Tipos Declaração Implícita (cont) FORTRAN Demais letras REAL I,J,K,L,M ou N INTEGER Perl (qualquer posição do bloco) Nome iniciado com $ Tipo escalar $num = 7 Nome iniciado Tipo = ( maria, joão, ana, pedro ) Vinculação Estática de Tipos Declaração Implícita (cont) Vantagem Conveniência para o programador Desvantagem Problemas de legibilidade Dificulta as checagens do compilador 23

24 Vinculação Dinâmica de Tipos Com vinculação dinâmica de tipos, o tipo de uma variável não é especificado por nenhuma instrução de declaração. A variável é vinculada a um tipo de dados quando lhe é atribuído um valor em uma instrução de atribuição Tipo pode ser o tipo do valor, da variável ou da expressão no lado direito da atribuição PHP, APL, SNOBOL4, LISP, SMALLTALK Vinculação Dinâmica de Tipos Exemplos 24

25 Vinculação Dinâmica de Tipos Vantagem Flexibilidade criação de programas genéricos Desvantagens Diminua a capacidade do compilador na detecção de erros Alto custo de implementação Checagem de tipos em tempo de execução Descritor de tipo Memória de tamanho variável Vinculações de Armazenamento Alocação Processo de vinculação de uma variável de programa a uma célula de memória de um pool de memória disponível. Desalocação Processo de devolução de uma célula de memória desvinculada de uma variável ao pool de memória disponível. 25

26 Tempo de Vida Tempo de vida (lifetime) de uma variável é o tempo durante o qual ela está vinculada a uma localização de memória específica; Tempo de vida de um variável é o intervalo de tempo decorrente entre a sua criação (alocação) e a sua deleção (desalocação). Tempo de Vida Classificação das Variáveis Variáveis Estáticas Variáveis Stack-Dinâmicas Variáveis Heap-Dinâmicas Explícitas Variáveis Heap-Dinâmicas Implícitas 26

27 Variáveis Estáticas São aquelas vinculadas a células de memória antes que a execução inicie-se e assim permanece até que a execução encerre-se. O tempo de vida de uma variável estática é o tempo de execução do programa todo, mesmo que tenham sido declaradas dentro de um bloco interno. Variáveis Estáticas Exemplos: Variáveis globais C e FORTRAN I, II e IV; C, C++, Java e PHP: variáveis locais declaradas como static Retêm o seu conteúdo entre sucessivas ativações do bloco no qual ela foi declarada. 27

28 Variáveis Estáticas Exemplo em C/C++ Variáveis Estáticas Exemplo - PHP 28

29 Variáveis Stack-Dinâmicas São vinculadas ao armazenamento no instante da elaboração de suas instruções de declaração. A elaboração de uma instrução de declaração ocorre quando a execução do programa atinge o código da declaração. Possuem vinculação estática de tipos Exemplo: Variáveis Locais Variáveis Stack-Dinâmicas O tempo de vida de uma variável local corresponde exatamente ao tempo de ativação do bloco no qual ela foi declarada. Tempo de ativação de um bloco é o intervalo de tempo durante o qual o bloco está sendo executado. Uma variável local terá vários tempos de vida se o bloco no qual ela tiver sido declarada for ativado várias vezes. 29

30 Gráfico de Tempo de Vida Exemplo em C/C++ Gráfico de Tempo de Vida Exemplo em C/C++ 30

31 Variáveis Heap-Dinâmicas Explícitas São células de memória sem nome alocadas e desalocadas por instruções explícitas em tempo de execução, especificadas pelo programador. Uma variável anônima e, por isso, só pode ser acessada através de um ponteiro ou de uma variável de referência. São usadas freqüentemente para estruturas dinâmicas que precisam crescer e encolher durante a execução. Variáveis Heap-Dinâmicas Explícitas A criação (alocação) de uma variável heapdinâmica explícita é feita por uma função chamada alocadora ou por um operador que retornam o endereço da variável heap alocada. Heap é um conjunto de células de armazenamento disponíveis Desvantagens: Dificuldade de usar corretamente variáveis de ponteiro ou referência. Custo para alocação e desalocação. 31

32 Variáveis Heap-Dinâmicas Explícitas Exemplo: Operador new de C++ Variáveis Heap-Dinâmicas Explícitas A destruição (desalocação) de uma variável heap-dinâmica explícita pode ocorrer de duas maneiras: Função ou operador de desalocação; Garbage collection (coleta de lixo) 32

33 Variáveis Heap-Dinâmicas Explícitas Operador Desalocador Desalocação realizada explicitamente pelo programador Exemplo: Operador delete do C++ Variáveis Heap-Dinâmicas Explícitas Observação: A função ou operador de desalocação força a deleção de uma variável heap. Perigo! Se ainda houver algum ponteiro para a região de memória desalocada, este ponteiro torna-se uma referência perdida (dangling reference). 33

34 Variáveis Heap-Dinâmicas Explícitas Exemplo C++: Variáveis Heap-Dinâmicas Explícitas Observações: Uma variável heap-dinâmica explícita permanece acessível enquanto houver uma variável do tipo ponteiro que aponte para ela. Uma variável heap-dinâmica explícita perdida é uma variável heap-dinâmica explícita alocada mas não mais acessível ao programa usuário (lixo de memória) Vazamento de memória (memory leakage) 34

35 Variáveis Heap-Dinâmicas Explícitas O Tempo de vida de uma variável heapdinâmica explícita vai desde o momento de sua criação até o momento em que ela é desalocada ou se torna inacessível. Variáveis Heap-Dinâmicas Explícitas Exemplo C++: 35

36 Variáveis Heap-Dinâmicas Implícitas São vinculadas ao armazenamento do heap somente quando lhe são atribuídos valores. Todos os seus atributos vinculam-se todas as vezes que são atribuídos. Exemplo JavaScript: Variáveis Heap-Dinâmicas Implícitas O tempo de vida de uma variável heapdinâmica implícita vai desde o momento de sua criação até o momento em que ela se torna inacessível. Variáveis heap-dinâmicas implícitas são desalocadas pelo processo de garbage collection 36

37 Bloco Um bloco é uma seção de código que contém suas próprias declarações. Variáveis Locais Uma variável é local em um bloco de programa se for declarada dentro dele. Variáveis Não-Locais As variáveis não-locais de um bloco são visíveis dentro dele, mas foram declaradas fora dele. Escopo O escopo de uma variável é a faixa de instruções na qual a variável é visível, ou seja, pode ser referenciada. O bloco delimita o escopo de suas declarações. 37

38 Exemplo de Bloco C++ Exemplo de Bloco - Pascal 38

39 Escopo e Visibilidade Em um programa que contém mais de um bloco, é possível que o mesmo identificador I seja declarado em diferentes blocos. Em geral, o identificador I denotará uma entidade diferente em cada bloco. O programador, ao declarar e usar um identificador dentro de um bloco, não precisa se preocupar se ele foi declarado e está sendo utilizado em um outro bloco. Escopo e Visibilidade Exemplo - Pascal: 39

40 Escopo e Visibilidade Exemplo Pascal: Escopo e Visibilidade Casos Interessantes: Existem linguagens onde o escopo de uma variável local começa no ponto onde ela foi declarada e termina no final do bloco onde a declaração foi feita. Exemplo: C++, Java 40

41 Escopo Estático Quando um identificador de variável é encontrado, a associação entre o identificador e a entidade que ele representa é feita localizandose a instrução de declaração do identificador. Ocorre em tempo de compilação (static scoping) Escopo Estático 41

42 Escopo Estático Pergunta: Dado o programa abaixo, qual o resultado de teste(h) nos pontos A e B? Escopo Estático Resposta - Com escopo estático, teste(h): Nos pontos A e B, sempre vai retornar o dobro do valor de h. Pascal, Fortran, Ada, C, C++, Java. 42

43 Escopo Dinâmico Quando um identificador de variável é encontrado, a associação entre o identificador e a entidade que ele representa é feita localizando-se a instrução de declaração do identificador Ocorre em tempo de execução(dynamic scoping) Escopo Dinâmico Pergunta: Dado o programa abaixo, qual o resultado de teste(h) nos pontos A e B? 43

44 Escopo Dinâmico Resposta - Com escopo dinâmico, teste(h): No ponto A, vai retornar o dobro do valor de h; No ponto B, vai retornar o triplo do valor de h. Lisp, Smalltalk, APL, SNOBOL4. Tipos de Dados 44

45 Introdução Tipos de Dados Primitivos Compostos Ponteiros Strings Tipos Primitivos Tipos de dados não definidos em termos de outros tipos. Costumam ser definidos na implementação da LP Sofrem influência direta do hardware. São utilizados por quase todas as linguagens de programação 45

46 Tipos Primitivos Subdividem-se em: Tipos Embutidos ou Pré-Definidos Tipos Numéricos Inteiro, Ponto-Flutuante e Decimal Tipo Booleano Tipo Caractere Tipos Ordinais Definidos pelos Usuários Tipo Enumeração Tipo Intervalo (Subfaixa) Tipos Compostos São tipos cujos valores são compostos ou estruturados por valores mais simples Registros, vetores, listas, arquivos,... Construtores: Produto Cartesiano União Disjunta Conjunto de Potências Mapeamento Recursão 46

47 Produto Cartesiano Tipo Registro O tipo de dados registro utiliza o conceito de produto cartesiano Uma variável do tipo registro é um par ordenado de valores de tipos possivelmente diferentes Cada elemento individual é identificado por seu nome Produto Cartesiano São produtos cartesiano os registros de PASCAL, MODULA 2, ADA e COBOL e as estruturas de C Exemplos: Record (Pascal) Struct (C) Class (Java) 47

48 Produto Cartesiano Exemplo -Struct do C: data = int x {jan,,dez} x int Produto Cartesiano Exemplo - Record do Pascal: data = {1,,31} x {jan,,dez} x 1901,,2100} 48

49 Produto Cartesiano Exemplo - Class do Java: Pessoa = String x int x float União Disjunta O tipo de dados união utiliza o conceito de união disjunta Uma variável do tipo união pode armazenar valores de tipos diferentes em diferentes momentos de um programa Exemplos: Variant Record (Pascal, Object Pascal, Modula 2 e ADA) REDEFINES (COBOL) EQUIVALENCE (FORTRAN) Union (Algol 68, C, C++) 49

50 União Disjunta Exemplo Union de C: Numero = Integer + Real Conjuntos de Potências Exemplo - tipo set do Pascal: 50

51 Tipos Recursivos Tipos recursivos podem ser definidos a partir de ponteiros ou diretamente Ponteiros Ponteiro é um conceito de baixo nível relacionado com a arquitetura dos computadores 51

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

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

Capítulo 5. Nomes, Vinculações e Escopos Capítulo 5 Nomes, Vinculações e Escopos Tópicos do Capítulo 5 Introdução Nomes Variáveis O conceito de vinculação Escopo Escopo e tempo de vida Ambientes de referenciamento Constantes nomeadas Introdução

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Aula 6 Nomes, Vinculações, Verificação de Tipos e Escopos Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Introdução As linguagens de

Leia mais

Nomes, Vinculações, Verificação de Tipos e Escopos. George Darmiton da Cunha Cavalcanti

Nomes, Vinculações, Verificação de Tipos e Escopos. George Darmiton da Cunha Cavalcanti Nomes, Vinculações, Verificação de Tipos e Escopos George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução Nomes Variáveis O conceito de vinculação (binding) Verificação de tipos Tipificação

Leia mais

Paradigmas de Linguagens de Programação. Nomes, Vinculações, Verificação de Tipos e Escopos

Paradigmas de Linguagens de Programação. Nomes, Vinculações, Verificação de Tipos e Escopos Nomes, Vinculações, Verificação de Tipos e Escopos Cristiano Lehrer Nomes (1/6) Um nome é uma string de caracteres usada para identificar alguma entidade de um programa. O termo identificador é utilizado

Leia mais

Aspectos preliminares

Aspectos preliminares Aspectos preliminares Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Linguagens de Programação. Introdução. Carlos Bazilio

Linguagens de Programação. Introdução. Carlos Bazilio Linguagens de Programação Introdução Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp ??? Pascal aux := 0 for i:=1 to 10 do aux := aux + i 10: i = 1 20: if i > 10 goto 60

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Conceitos de Linguagens de Programação - Características. Paavo Soeiro Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o

Leia mais

Linguagens de Programação Nomes, Amarrações e Escopo

Linguagens de Programação Nomes, Amarrações e Escopo Linguagens de Programação Nomes, Amarrações e Escopo Andrei Rimsa Álvares Sumário Nomes Amarrações Escopo NOMES Linguagens de Programação Nomes Conceito mais amplo que variáveis Podem representar Variáveis

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 03 (rogerio@fct.unesp.br) Aula 3 Variáveis: Nomes

Leia mais

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

Paradigmas de Linguagens de Programação. Tipos de Dados Tipos de Dados Cristiano Lehrer Introdução (1/2) 1956: FORTRAN I 1983: ADA INTEGER, REAL, arrays. Usuário pode criar um único tipo para cada categoria de variáveis no espaço de problemas e deixar o sistema

Leia mais

Aula 1 Java Prof. Dr. Sylvio Barbon Junior

Aula 1 Java Prof. Dr. Sylvio Barbon Junior 5COP101 Linguagens de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Razões para Estudar Conceitos de LP; 2) Domínios das Linguagens de Programação 3)

Leia mais

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

Variáveis. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Variáveis alberto@ufs.br de Programação Departamento de Computação Universidade Federal de Sergipe Variáveis Uma vez que o programador tenha entendido o uso de variáveis, ele entendeu a essência da programação.

Leia mais

02. [Sebesta, 2000] Qual é o perigo potencial dos nomes que fazem distinção entre maiúsculas e minúsculas?

02. [Sebesta, 2000] Qual é o perigo potencial dos nomes que fazem distinção entre maiúsculas e minúsculas? 01. [Sebesta, 2000] Quais são as questões de projeto referentes a nomes? Nomes, Vinculações, Verificação de Tipos e Escopos 02. [Sebesta, 2000] Qual é o perigo potencial dos nomes que fazem distinção entre

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof a Jerusa Marchi Departamento de Informática e Estatística Universidade Federal de Santa Catarina e-mail: jerusa@inf.ufsc.br Linguagens de Programação p. 1/5 Linguagens de

Leia mais

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,

Leia mais

Tipos de Dados. George Darmiton da Cunha Cavalcanti

Tipos de Dados. George Darmiton da Cunha Cavalcanti Tipos de Dados George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução Tipos de Dados Primitivos Tipos Cadeia de Caracteres Tipos Definidos pelo Usuário Tipos Matriz Matrizes Associativas

Leia mais

Capítulo 1. Aspectos Preliminares

Capítulo 1. Aspectos Preliminares Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de

Leia mais

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Objetivos Geral: Estudar as características

Leia mais

Aula 6.

Aula 6. Aula 6 Celso Olivete Júnior olivete@fct.unesp.br Nomes, vinculações e escopos Cap. 5 -Sebesta 2 Introdução LP s imperativas são abstrações da arquitetura de Von Neumann Memória: armazena instruções e dados

Leia mais

02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais?

02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais? 01. [Sebesta, 2000] O que é um descritor? 02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais? 03. [Sebesta, 2000] Quais são as questões de projeto relativas aos tipos

Leia mais

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

Linguagens de Programação Conceitos e Técnicas. Valores e Tipos de Dados Prof. Tiago Alves de Oliveira Linguagens de Programação Conceitos e Técnicas Valores e Tipos de Dados Prof. Tiago Alves de Oliveira Conceituação Valor 3 2.5 'a' Paulo 0x1F 026 Tipo {true, 25, 'b', azul } não corresponde a um tipo {

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações Prof. Tiago Alves de Oliveira

Linguagens de Programação Conceitos e Técnicas. Amarrações Prof. Tiago Alves de Oliveira Linguagens de Programação Conceitos e Técnicas Amarrações Prof. Tiago Alves de Oliveira Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável

Leia mais

Linguagens Computacionais (Conceitos Básicos)

Linguagens Computacionais (Conceitos Básicos) Linguagens Computacionais (Conceitos Básicos) George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Razões para estudar os conceitos de linguagens de programação Domínios de programação Critérios

Leia mais

Valores e Tipos de Dados Prof. Hudson Costa

Valores e Tipos de Dados Prof. Hudson Costa Valores e Tipos de Dados Prof. Hudson Costa Valor 3 2.5 'a' Paulo 0x1F 026 Tipo {true, 25, 'b', azul não corresponde a um tipo { true, false corresponde a um tipo Linguagens de Programação Valores e Tipos

Leia mais

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

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Linguagem de programação Linguagem de Programação Linguagem de máquina http://www.assemblyprogressivo.net/p/curso.html Linguagem de

Leia mais

Linguagens de Programação. Tipos. Carlos Bazilio

Linguagens de Programação. Tipos. Carlos Bazilio Linguagens de Programação Tipos Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Definições Tipos de dados primitivos: tipos de dados que não são definidos em termos de outros tipos

Leia mais

Projeto de Linguagem. Linguagens de Programação

Projeto de Linguagem. Linguagens de Programação Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem

Leia mais

Tipos. O Conceito de Tipo

Tipos. O Conceito de Tipo Tipos mleal@inf.puc-rio.br 1 O Conceito de Tipo LPs geralmente permitem a organização de dados em diferentes categorias através do conceito de tipo. Um tipo é definido a partir de um conjunto de valores

Leia mais

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

Capítulo 7. Expressões e Sentenças de Atribuição Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário

Leia mais

Linguagens de Programação. Marco A L Barbosa

Linguagens de Programação. Marco A L Barbosa Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

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

Expressões e sentença de atribuição Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Prof. Franklin Ramalho

Prof. Franklin Ramalho PLP - Armazenamento (Parte I) Prof. Franklin Ramalho Universidade Federal de Campina Grande - UFCG Agenda - Variáveis Primitivas - Variáveis Compostas - Modelo de Armazenamento - Ciclo de vida de variáveis

Leia mais

Nomes, vinculações e escopos

Nomes, vinculações e escopos Nomes, vinculações e escopos Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Aspectos preliminares

Aspectos preliminares Aspectos preliminares Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Aspectos preliminares

Aspectos preliminares Aspectos preliminares Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

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

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga

Leia mais

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

Introdução. Paradigmas de Linguagens. Introdução. Tipos de Dados Primitivos. Prof. Ms. Luiz Alberto Contato: Paradigmas de Linguagens Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Baseada no material do prof. Celso Olivete Júnior Introdução Um tipo de dado define uma coleção de dados e um conjunto de operações

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos

Leia mais

Linguagem de Programação e Compiladores

Linguagem de Programação e Compiladores Linguagem de Programação e Compiladores Fernando Antônio Asevedo Nóbrega Instituto de Ciências Matemáticas e de Computação USP SCC-206 Introdução à Compilação 24 de abril de 2012 1 / 20 Sumário 1 Introdução

Leia mais

Revisão: linguagens de programação

Revisão: linguagens de programação Revisão: linguagens de programação Definição, histórico, paradigmas e semântica Prof. Thiago A. S. Pardo taspardo@icmc.usp.br Definição Uma linguagem de programação é uma linguagem destinada a ser usada

Leia mais

Paradigmas de Linguagens de Programação. Subprogramas

Paradigmas de Linguagens de Programação. Subprogramas Cristiano Lehrer Características Gerais dos Cada subprograma tem um único ponto de entrada Toda unidade de programa chamadora é suspensa durante a execução do programa chamado, o que implica na existência

Leia mais

Ambiente de tempo de Execução Cap. 7

Ambiente de tempo de Execução Cap. 7 Ambiente de tempo de Execução Cap. 7 Introdução Subdivisão da memória usada pelo programa em tempo de execução Segmento de Código Segmento Estático (segmento de dados) Pilha Área de memória livre Heap

Leia mais

Python - Variáveis e expressões

Python - Variáveis e expressões Python - e expressões Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 04 (rogerio@fct.unesp.br) Aula 4 2 Evolução dos

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Subprogramas

Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Subprogramas Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Subprogramas Prof. Gláucya Carreiro Boechat glaucyacboechat@gmail.com Paradigmas de Linguagem de Programação Características

Leia mais

Paradigmas de Linguagem de Programação. Paradigma Imperativo

Paradigmas de Linguagem de Programação. Paradigma Imperativo Paradigmas de Linguagem de Programação Paradigma Imperativo Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; São também chamadas de procedurais;

Leia mais

Capítulo 6. Tipos de Dados

Capítulo 6. Tipos de Dados Capítulo 6 Tipos de Dados 1. Introdução Tipo de Dados: define uma coleção de valores de dados e um conjunto de operações pré-definidas sobre eles Um descritor é a coleção de atributos de uma variável Um

Leia mais

Linguagens de Programação 2 Amarrações

Linguagens de Programação 2 Amarrações Linguagens de Programação 2 Amarrações Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo

Leia mais

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

Espaço de Tipos. Amarração Tipo. Amarração Valor. Amarração Localização. Amarração Nome. Objeto de Dado 1.5.3.1. Objetos de Dados Como já comentado, cada variável possui uma área de armazenamento amarrada a si durante a execução do programa, e o seu o tempo de vida é o período de tempo no qual a amarração

Leia mais

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

Nomes, Amarração, Verificação de Tipos, e Escopo 5 Nomes, Amarração, Verificação de Tipos, e Escopo Concepts of Programming Languages, 5/e Robert W. Sebesta Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave

Leia mais

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

Verificação de Tipo. Unions. Verificação de tipo estática. Verificação de tipo dinâmica Verificação de Tipo Atividade que certifica que os operandos de um operador são de tipos compatíveis. São considerados operadores e operandos: operadores usuais (aritméticos, relacionais, etc) subprogramas

Leia mais

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO O que é programação Linguagens de Programação Paradigmas de Programação História

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 06 (rogerio@fct.unesp.br) Aula 6 Subprogramas

Leia mais

Paradigmas de Linguagem de Programação

Paradigmas de Linguagem de Programação Paradigmas de Linguagem de Programação Aula 1 - Introdução Prof. Filipo Mór 2016/II - www.filipomor.com Apresentação do Professor B.Sc. SI FDBPOA 2012 M.Sc. em CC PUCRS/DALHOUSIE 2015 Atuação na área de

Leia mais

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

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação

Leia mais

O que é uma variável?

O que é uma variável? Escopo, Ligação e Ambiente de Execução mleal@inf.puc-rio.br 1 O que é uma variável? Uma variável pode ser definida como uma tupla r nome é um string usado para

Leia mais

As fases de um compilador

As fases de um compilador As fases de um compilador Compilando um programa simples estrutura de um compilador formas de organização de um compilador processo de execução de uma linguagem de alto-nível Compilando um programa simples

Leia mais

Trabalho Linguagem e Programação de Compiladores

Trabalho Linguagem e Programação de Compiladores Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:

Leia mais

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

FACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis Variável, na Matemática, é um termo utilizado em substituição de outro, normalmente, desconhecido. É utilizado para representar um número ou um conjunto. No contexto da programação de computadores, uma

Leia mais

Tipo. Tipo de uma variável: especificação de

Tipo. Tipo de uma variável: especificação de Checagem de Tipos O que é tipo? Erros de Tipos em FRANKIE não capturados pela gramática Tarefas de um Type Checker e Conversões de Tipos Sistema de Tipos Checagem Estática X Dinâmica Linguagens Fortemente

Leia mais

1 Introdução à Programação O que é? Para que serve?... 1

1 Introdução à Programação O que é? Para que serve?... 1 Nesta aula... Conteúdo 1 Introdução à Programação 1 1.1 O que é?................................. 1 1.2 Para que serve?............................. 1 2 Linguagens de programação 2 2.1 Programação estruturada........................

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

Erros de Tipo em Pascal Simplifificado

Erros de Tipo em Pascal Simplifificado Checagem de Tipos Erros de Tipos em Pascal Simplificado não capturados pela gramática Tarefas de um Type Checker e Conversões de Tipos Sistema de Tipos Checagem Estática X Dinâmica Linguagens Fortemente

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software

Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software Estrutura de Dados Aula 01 -Tipos Abstratos de de Dados Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Motivação Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto

Leia mais

PLANO DE UNIDADE DIDÁTICA- PUD

PLANO DE UNIDADE DIDÁTICA- PUD Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de

Leia mais

Classificação das linguagens de programação

Classificação das linguagens de programação Introdução Linguagem É um meio de comunicação entre pessoas. Faculdade de expressão audível e articulada do homem. Conjunto de sinais falados, escritos ou gesticulados de que se serve o homem para demonstrar

Leia mais

Capítulo 8. Estruturas de Controle no Nível de Sentença

Capítulo 8. Estruturas de Controle no Nível de Sentença Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação

Leia mais

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

Paradigmas de Linguagens de Programação. Tipos de Dados Abstratos Tipos de Dados Abstratos Cristiano Lehrer Conceito de Abstração O conceito de abstração é fundamental em programação. Quase todas as linguagens suportam abstração de processos, através de subprogramas:

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos

Leia mais

As fases de um compilador

As fases de um compilador As fases de um compilador Paradigmas de LP Métodos de Implementação de LP Compilando um programa simples estrutura de um compilador formas de organização de um compilador processo de execução de uma linguagem

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

ao paradigma imperativo

ao paradigma imperativo PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

Conceitos Básicos de Programação

Conceitos Básicos de Programação BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de

Leia mais

Compiladores. Gerência de Memória

Compiladores. Gerência de Memória Compiladores Gerência de Memória Cristiano Lehrer, M.Sc. Atividades do Compilador Arquivo de origem Arquivo de destino Análise Otimização Geração de Código Intermediário Geração de Código Final Síntese

Leia mais

1.1 o que é um algoritmo... 6

1.1 o que é um algoritmo... 6 sumário introdução 1 1 fundamentos 5 1.1 o que é um algoritmo... 6 1.1.1 algoritmos executados por um computador...7 1.1.2 comandos básicos executados por um computador...11 1.1.3 da necessidade do desenvolvimento

Leia mais

Linguagens de Programação Conceitos e Técnicas. Expressões e Comandos Prof. Tiago Alves de Oliveira

Linguagens de Programação Conceitos e Técnicas. Expressões e Comandos Prof. Tiago Alves de Oliveira Linguagens de Programação Conceitos e Técnicas Expressões e Comandos Prof. Tiago Alves de Oliveira Expressões Uma expressão é uma frase do programa que necessita ser avaliada e produz como resultado um

Leia mais

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO QUESTÃO 1 : Enviada por: Francisco Carlos Moraes Junior Duvidas: Thaise Domínios de programação são áreas onde os computadores são usados.

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

Linguagens de Programação Aula 12

Linguagens de Programação Aula 12 Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução

Leia mais

Linguagens de Programação Conceitos e Técnicas. Expressões e Comandos

Linguagens de Programação Conceitos e Técnicas. Expressões e Comandos Linguagens de Programação Conceitos e Técnicas Expressões e Comandos Expressões Uma expressão é uma frase do programa que necessita ser avaliada e produz como resultado um valor Elementos Operadores Operandos

Leia mais

Implementando subprogramas

Implementando subprogramas Implementando subprogramas Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Capítulo 9. Subprogramas

Capítulo 9. Subprogramas Capítulo 9 Subprogramas Introdução Dois recursos fundamentais de abstração Abstração de processos Desde o início da história das linguagens de programação Abstração de dados Desde o início dos anos 1980

Leia mais

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO ROTEIRO 1. INTRODUÇÃO 2. LINGUAGENS IMPERATIVAS 1. CONCEITO 2. PARADIGMA IMPERATIVO 3. ORIGENS 4. MODELO COMPUTACIONAL 1. ARQUITETURA DE VON NEUMANN 2. CARACTERISTICAS

Leia mais

Fundamentos de Programação em Python

Fundamentos de Programação em Python Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa do

Leia mais

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. João Henrique Kleinschmidt Material elaborado pelo Prof. Jesús P. Mena-Chalco 3Q-2018 Linguagens de programação

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Working 03 : Conceitos Básicos I

Working 03 : Conceitos Básicos I Working 03 : Conceitos Básicos I Objetivos: Dominar os conceitos básicos da linguagem de programação C; Aprender a utilizar o compilador, identificando os erros de sintaxe do código fonte; Prazo de Envio:

Leia mais