Linguagens de Programação

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

Download "Linguagens de Programação"

Transcrição

1 Linguagens de Programação Expressões e Variáveis Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 34

2 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade: A implementação reflete o algoritmo? A redação é sucinta? onfiabilidade: É fácil detectar enganos do programador? Eficiência: Roda rápido? Facilidade de Aprendizado: É enxuta? Ortogonalidade: onceitos podem ser combinados livremente? Reusabilidade: É possível aproveitar partes em outros programas? Modificabilidade: É fácil alterar programas? Portabilidade: Roda da forma esperada em diferentes plataformas? Bruno Lopes Linguagens de Programação 2 / 34

3 Expressões Definição Uma frase do programa que, ao ser avaliada, produz como resultado um valor. Elementos: Operadores Operandos Resultado Bruno Lopes Linguagens de Programação 3 / 34

4 Expressões Definição Uma frase do programa que, ao ser avaliada, produz como resultado um valor. Elementos: Operadores Operandos Resultado Bruno Lopes Linguagens de Programação 3 / 34

5 Expressões Definição Uma frase do programa que, ao ser avaliada, produz como resultado um valor. Elementos: Operadores Operandos Resultado Bruno Lopes Linguagens de Programação 3 / 34

6 Expressões lassificação Simples omposta Notação: Prefixada Infixada Posfixada x>y?x:y Bruno Lopes Linguagens de Programação 4 / 34

7 Expressões lassificação Simples omposta Notação: Prefixada Infixada Posfixada x>y?x:y Bruno Lopes Linguagens de Programação 4 / 34

8 Expressões lassificação Simples omposta Notação: Prefixada Infixada Posfixada x>y?x:y Bruno Lopes Linguagens de Programação 4 / 34

9 Aridade dos operadores (+ 1) (+ 1 2) ( ) ( )... Bruno Lopes Linguagens de Programação 5 / 34

10 Aridade dos operadores #define JUST3(a, b, c,...) (a), (b), (c) #define FUN(...) func(just3( VA_ARGS, 0, 0)) FUN(x) --> func((x), (0), (0)) FUN(x,y) --> func((x), (y), (0)) Bruno Lopes Linguagens de Programação 6 / 34

11 Aridade dos operadores #define JUST3(a, b, c,...) (a), (b), (c) #define FUN(...) func(just3( VA_ARGS, 0, 0)) FUN(x) --> func((x), (0), (0)) FUN(x,y) --> func((x), (y), (0)) Bruno Lopes Linguagens de Programação 6 / 34

12 Origem dos operadores Pré-existentes Definidos pelo programados omposição de operadores val par = fn (n: int) => (n mod 2 = 0) val negaç~ao = fn (t:bool) => if t then false else true val impar = negaç~ao o par Bruno Lopes Linguagens de Programação 7 / 34

13 Origem dos operadores Pré-existentes Definidos pelo programados omposição de operadores val par = fn (n: int) => (n mod 2 = 0) val negaç~ao = fn (t:bool) => if t then false else true val impar = negaç~ao o par Bruno Lopes Linguagens de Programação 7 / 34

14 Tipos de operações Literais onstantes Variáveis Estáticas Dinâmicas Aritméticas Reais Booleanas Binárias ondicionais Referenciamento Derreferenciamento ategóricas Interativas Bruno Lopes Linguagens de Programação 8 / 34

15 Literais Resultam no valor expĺıcito do texto do programa. Bruno Lopes Linguagens de Programação 9 / 34

16 Agregação void f(int i) { int a[] = {3 + 5, 2, 16/4}; int b[] = {3*i, 4*i, 5*i}; int c[] = {i + 2, 3 + 4, 2*i}; } Bruno Lopes Linguagens de Programação 10 / 34

17 onstrutores Data d = new Data() Bruno Lopes Linguagens de Programação 11 / 34

18 Binárias void main() { int j = 10; char c = 2; printf(\%d\n", ~c); /* imprime -3 */ printf(\%d\n", j & c); /* imprime 2 */ printf(\%d\n", j c); /* imprime 10 */ printf(\%d\n", j ^ c); /* imprime 8 */ printf(\%d\n", j << c); /* imprime 40 */ printf(\%d\n", j >> c); /* imprime 2 */ } Bruno Lopes Linguagens de Programação 12 / 34

19 Efeitos colaterais x = 3.2 * ++c; x = 2; y = 4; z = (y = 2 * x + 1) + y; Bruno Lopes Linguagens de Programação 13 / 34

20 Funções e efeitos colaterais atualização de variável global passagem por referência impressão de valores ou gravação em arquivo Bruno Lopes Linguagens de Programação 14 / 34

21 Avaliando expressões compostas Precedência de operadores if a > 5 and b < 10 then Ausência de precedência Falta de redigibilidade! Bruno Lopes Linguagens de Programação 15 / 34

22 Avaliando expressões compostas Precedência de operadores if a > 5 and b < 10 then Ausência de precedência Falta de redigibilidade! Bruno Lopes Linguagens de Programação 15 / 34

23 x = a + b - c; y = a < b < c; x = **p; if (!!x) y = 3; y =!x++; // omo avaliar? Bruno Lopes Linguagens de Programação 16 / 34

24 i = 2; a[i] = i++; // Atualiza a[2] ou a[3]? Bruno Lopes Linguagens de Programação 17 / 34

25 urto-circuito i = 0; enquanto ((i < n) e (a[i] <> valor procurado)) incrementa i; fim i = 1; if (b < 2*c a[ i ++ ] > c) { a[i]++ }; Bruno Lopes Linguagens de Programação 18 / 34

26 Pascal: expressões não são avaliadas em curto circuito, a menos que o compilador implemente por diretiva de compilação., ++: && e, operadores booleanos, são avaliadas em curto circuito; & e, operadores binários, não são avaliadas em curto circuito. Java: & e não são avaliadas em curto circuito; && e são avaliadas em curto circuito. Bruno Lopes Linguagens de Programação 19 / 34

27 Once a programmer has understood the use of variables, he has understood the essence of programming. Edsger Dijkstra No paradigma imperativo! Bruno Lopes Linguagens de Programação 20 / 34

28 Once a programmer has understood the use of variables, he has understood the essence of programming. Edsger Dijkstra No paradigma imperativo! Bruno Lopes Linguagens de Programação 20 / 34

29 Variáveis Definição Uma variável é uma entidade da computação que contém um valor, o qual pode ser inspecionado e atualizado sempre que necessário. abstração de célula de memória armazena o estado de uma entidade da computação. Bruno Lopes Linguagens de Programação 21 / 34

30 Variáveis Definição Uma variável é uma entidade da computação que contém um valor, o qual pode ser inspecionado e atualizado sempre que necessário. abstração de célula de memória armazena o estado de uma entidade da computação. Bruno Lopes Linguagens de Programação 21 / 34

31 Variáveis Definição Uma variável é uma entidade da computação que contém um valor, o qual pode ser inspecionado e atualizado sempre que necessário. abstração de célula de memória armazena o estado de uma entidade da computação. Bruno Lopes Linguagens de Programação 21 / 34

32 Variáveis de programação Vs Variáveis aritméticas Bruno Lopes Linguagens de Programação 22 / 34

33 Variáveis simples Uma única célula de memória. Variáveis composts Um grupo contíguo de células de memória. type S = (a,b); T = (c,d,e); P = record prim: S; seg: T; end; var prod, prod2: P; begin prod.prim := a; prod.seg := c; prod2 := prod; end. Bruno Lopes Linguagens de Programação 23 / 34

34 Variáveis simples Uma única célula de memória. Variáveis composts Um grupo contíguo de células de memória. type S = (a,b); T = (c,d,e); P = record prim: S; seg: T; end; var prod, prod2: P; begin prod.prim := a; prod.seg := c; prod2 := prod; end. Bruno Lopes Linguagens de Programação 23 / 34

35 aracterísticas Nome: definidos pelo programador existem variáveis que não possuem nomes linguagens costumam permitir sinônimos Endereço: posição de memória da primeira célula ocupada pela variável Tipo: Valor: em conformidade com o tipo Bruno Lopes Linguagens de Programação 24 / 34

36 aracterísticas Nome: definidos pelo programador existem variáveis que não possuem nomes linguagens costumam permitir sinônimos Endereço: posição de memória da primeira célula ocupada pela variável Tipo: Valor: em conformidade com o tipo Bruno Lopes Linguagens de Programação 24 / 34

37 aracterísticas Nome: definidos pelo programador existem variáveis que não possuem nomes linguagens costumam permitir sinônimos Endereço: posição de memória da primeira célula ocupada pela variável Tipo: Valor: em conformidade com o tipo Bruno Lopes Linguagens de Programação 24 / 34

38 aracterísticas Nome: definidos pelo programador existem variáveis que não possuem nomes linguagens costumam permitir sinônimos Endereço: posição de memória da primeira célula ocupada pela variável Tipo: Valor: em conformidade com o tipo Bruno Lopes Linguagens de Programação 24 / 34

39 aracterísticas Nome: definidos pelo programador existem variáveis que não possuem nomes linguagens costumam permitir sinônimos Endereço: posição de memória da primeira célula ocupada pela variável Tipo: Valor: em conformidade com o tipo Bruno Lopes Linguagens de Programação 24 / 34

40 aracterísticas Nome: definidos pelo programador existem variáveis que não possuem nomes linguagens costumam permitir sinônimos Endereço: posição de memória da primeira célula ocupada pela variável Tipo: Valor: em conformidade com o tipo Bruno Lopes Linguagens de Programação 24 / 34

41 aracterísticas Nome: definidos pelo programador existem variáveis que não possuem nomes linguagens costumam permitir sinônimos Endereço: posição de memória da primeira célula ocupada pela variável Tipo: Valor: em conformidade com o tipo Bruno Lopes Linguagens de Programação 24 / 34

42 aracterísticas Tempo de Vida: Período em que existe memória alocada para a variável globais por toda a execução do programa locais pela execução do bloco onde foram declaradas dinâmicas (heap) arbitrariamente estáticas a partir do ponto onde foram declaradas persitentes sobrevivem além do programa Bruno Lopes Linguagens de Programação 25 / 34

43 aracterísticas Tempo de Vida: Período em que existe memória alocada para a variável globais por toda a execução do programa locais pela execução do bloco onde foram declaradas dinâmicas (heap) arbitrariamente estáticas a partir do ponto onde foram declaradas persitentes sobrevivem além do programa Bruno Lopes Linguagens de Programação 25 / 34

44 aracterísticas Tempo de Vida: Período em que existe memória alocada para a variável globais por toda a execução do programa locais pela execução do bloco onde foram declaradas dinâmicas (heap) arbitrariamente estáticas a partir do ponto onde foram declaradas persitentes sobrevivem além do programa Bruno Lopes Linguagens de Programação 25 / 34

45 aracterísticas Tempo de Vida: Período em que existe memória alocada para a variável globais por toda a execução do programa locais pela execução do bloco onde foram declaradas dinâmicas (heap) arbitrariamente estáticas a partir do ponto onde foram declaradas persitentes sobrevivem além do programa Bruno Lopes Linguagens de Programação 25 / 34

46 aracterísticas Tempo de Vida: Período em que existe memória alocada para a variável globais por toda a execução do programa locais pela execução do bloco onde foram declaradas dinâmicas (heap) arbitrariamente estáticas a partir do ponto onde foram declaradas persitentes sobrevivem além do programa Bruno Lopes Linguagens de Programação 25 / 34

47 aracterísticas Tempo de Vida: Período em que existe memória alocada para a variável globais por toda a execução do programa locais pela execução do bloco onde foram declaradas dinâmicas (heap) arbitrariamente estáticas a partir do ponto onde foram declaradas persitentes sobrevivem além do programa Bruno Lopes Linguagens de Programação 25 / 34

48 Variáveis locais procedure rec(b:integer); begin if(b = 0) then rec(b+1); end; begin rec(0); end. Bruno Lopes Linguagens de Programação 26 / 34

49 Heap Variáveis que residem no Heap podem ser criadas e apagadas a qualquer momento. omo são criadas? omo são acessadas? Bruno Lopes Linguagens de Programação 27 / 34

50 Heap Variáveis que residem no Heap podem ser criadas e apagadas a qualquer momento. omo são criadas? omo são acessadas? Bruno Lopes Linguagens de Programação 27 / 34

51 Alocação de memória (heap) Escolha do elemento Primeiro encontrado Tamanho mais próximo Maior tamanho Desafios Fragmentação Alocar mais memória que o necessário Algoritmo de desfragmentação Bruno Lopes Linguagens de Programação 28 / 34

52 Alocação de memória (heap) Escolha do elemento Primeiro encontrado Tamanho mais próximo Maior tamanho Desafios Fragmentação Alocar mais memória que o necessário Algoritmo de desfragmentação Bruno Lopes Linguagens de Programação 28 / 34

53 Desalocação de memória (heap) Escolha do elemento Pascal,,++: expĺıcita a cargo do programador. Java: impĺıcita coleta de lixo. Expĺıcita: eficiente, porém mais trabalhoso e menos confiável. Impĺıcita: confortável e segura, mas pode gerar overhead. Bruno Lopes Linguagens de Programação 29 / 34

54 Desalocação de memória (heap) Escolha do elemento Pascal,,++: expĺıcita a cargo do programador. Java: impĺıcita coleta de lixo. Expĺıcita: eficiente, porém mais trabalhoso e menos confiável. Impĺıcita: confortável e segura, mas pode gerar overhead. Bruno Lopes Linguagens de Programação 29 / 34

55 Métodos de alocação de variáveis Estática: em tempo de carga Mau dimensionamento das variáveis Espaço desperdiçado com subrotinas que podem não ser executadas Impedimento de uso de recursividade Dinâmica: contígua no vetor de memória Esgotamento rápido do vetor Desalocação e realocação pouco eficientes Pilha + Heap Bruno Lopes Linguagens de Programação 30 / 34

56 Persistência Transientes: tempo de vida da variável limitado pela ativação do programa que a criou. Persistentes: tempo de vida da variável transcende a ativação do programa que a criou. Bruno Lopes Linguagens de Programação 31 / 34

57 Incorporar mecanismos de persistência de dados em linguagens para facilitar a programação em aplicações onde a persistência é necessária. LP onde não exista diferença entre entidades transientes e persistentes (Persistência Ortogonal) Bruno Lopes Linguagens de Programação 32 / 34

58 Arquivos Arquivos Seriais Arquivos Diretos: implementação com tabela indexada ou vetor de componentes. Operações de Abertura e Fechamento: conversão de dados para formato sequencial binário. Bruno Lopes Linguagens de Programação 33 / 34

59 Persistência Ortogonal Mesmos tipos para variáveis persistentes e transientes. Nenhuma distinção entre o código que lida com variáveis persistentes e o que lida com variáveis transientes. Identificação de persistência através da percepção da continuidade do uso. Eliminação de onversões de Entrada e Saída (30% do código). Não existem ainda na prática. Bruno Lopes Linguagens de Programação 34 / 34

60 Persistência Ortogonal Mesmos tipos para variáveis persistentes e transientes. Nenhuma distinção entre o código que lida com variáveis persistentes e o que lida com variáveis transientes. Identificação de persistência através da percepção da continuidade do uso. Eliminação de onversões de Entrada e Saída (30% do código). Não existem ainda na prática. Bruno Lopes Linguagens de Programação 34 / 34

61 Persistência Ortogonal Mesmos tipos para variáveis persistentes e transientes. Nenhuma distinção entre o código que lida com variáveis persistentes e o que lida com variáveis transientes. Identificação de persistência através da percepção da continuidade do uso. Eliminação de onversões de Entrada e Saída (30% do código). Não existem ainda na prática. Bruno Lopes Linguagens de Programação 34 / 34

62 Persistência Ortogonal Mesmos tipos para variáveis persistentes e transientes. Nenhuma distinção entre o código que lida com variáveis persistentes e o que lida com variáveis transientes. Identificação de persistência através da percepção da continuidade do uso. Eliminação de onversões de Entrada e Saída (30% do código). Não existem ainda na prática. Bruno Lopes Linguagens de Programação 34 / 34

63 Persistência Ortogonal Mesmos tipos para variáveis persistentes e transientes. Nenhuma distinção entre o código que lida com variáveis persistentes e o que lida com variáveis transientes. Identificação de persistência através da percepção da continuidade do uso. Eliminação de onversões de Entrada e Saída (30% do código). Não existem ainda na prática. Bruno Lopes Linguagens de Programação 34 / 34

Linguagens de Programação

Linguagens de Programação Linguagens de Programação de Linguagens de Programação Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 11 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade:

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Propriedades Desejáveis Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 1 Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade: A implementação

Leia mais

Linguagens de Programação

Linguagens de Programação Conceitos e Técnicas Prof. Isabel Cafezeiro isabel@dcc.ic.uff.br Expressão: Uma expressão é uma frase do programa que, ao ser avaliada, produz como resultado um valor. 1 aa 1+4 f(1,g(x)) Elementos da expressão:

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Valores e Tipos de Dados Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 19 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade:

Leia mais

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Persistência alberto@ufs.br de Programação Departamento de Computação Universidade Federal de Sergipe Retrospectiva Quanto ao Tempo de Vida Variáveis Estáticas Variáveis Stack-Dinâmicas Variáveis Heap-Dinâmicas

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

Linguagens de Programação Conceitos e Técnicas. Variáveis e Constantes

Linguagens de Programação Conceitos e Técnicas. Variáveis e Constantes Linguagens de Programação Conceitos e Técnicas Variáveis e Constantes Variáveis Uma vez que o programador tenha entendido o uso de variáveis, ele entendeu a essência da programação. [Dijkstra] Abstraçã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

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

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

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

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

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

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

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

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

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

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

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

Linguagens de Programação 5 Expressões e Comandos

Linguagens de Programação 5 Expressões e Comandos Linguagens de Programação 5 Expressões e Comandos 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

Leia mais

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

Linguagens de Programação. Nomes, Escopos e Vinculações (Bindings) Carlos Bazilio Linguagens de Programação Nomes, Escopos e Vinculações (Bindings) Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Nomes Forma mais simples de abstração Um nome é um caracter

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

Introdução à Linguagem C++

Introdução à Linguagem C++ Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado

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

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

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

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

Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores

Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores Uso da memória Existem 3 maneiras de reservar o espaço da memória: Variáveis globais (estáticas) Espaço existe enquanto programa estiver executando

Leia mais

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

Sistemas de Tipos. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Tipos permitem que dados sejam descritos de forma efetiva Previnem operações sem sentido (ex: 5 * true) Programas mais

Leia mais

Introdução ao Java. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Introdução ao Java. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá Introdução ao Java 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

Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória

Programação Estruturada Prof. Rodrigo Hausen  Organização e Gerenciamento de Memória Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];

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

SCC 202 Algoritmos e Estruturas de Dados I. Pilhas (Stacks) (implementação dinâmica)

SCC 202 Algoritmos e Estruturas de Dados I. Pilhas (Stacks) (implementação dinâmica) SCC 202 Algoritmos e Estruturas de Dados I Pilhas (Stacks) (implementação dinâmica) Operações alocação encadeada dinâmica typedef struct elem{ tipo_info info; struct elem *lig; tipo_elem; typedef struct{

Leia mais

Alocação Dinâmica e Apontadores. Cláudio E. C. Campelo

Alocação Dinâmica e Apontadores. Cláudio E. C. Campelo Alocação Dinâmica e Apontadores Cláudio E. C. Campelo http://claudiocampelo.com Alocação Estática x Dinâmica Linguagens de programação como Pascal, C e C++ permitem dois tipos de alocação de memória: estática

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 07 (rogerio@prudente.unesp.br) Aula 7 Implementação

Leia mais

Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011

Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011 Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores 14/03/2011 e 16/03/2011 Uso da memória Existem 3 maneiras de reservar o espaço da memória: Variáveis globais (estáticas) Espaço existe enquanto

Leia mais

Linguagens de Programação Aula 11

Linguagens de Programação Aula 11 Linguagens de Programação Aula 11 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Uma definição de subprograma descreve as ações representadas pelo subprograma Subprogramas podem ser funções

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

TE091 Programação Orientada a Objetos Engenharia Elétrica

TE091 Programação Orientada a Objetos Engenharia Elétrica TE091 Programação Orientada a Objetos Engenharia Elétrica Revisão Rápida de Programação em C Prof. Carlos Marcelo Pedroso 2015 Revisão Linguagem C Características principais Modularidade: uso de procedimentos

Leia mais

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica Introdução a Programação Ponteiros e Vetores, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos que existe uma forte relação entre ponteiros e vetores Associação entre ponteiros e vetores Ponteiros constantes

Leia mais

Implementação de subprogramas

Implementação de subprogramas Implementação de subprogramas 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

Sintaxe da linguagem Java

Sintaxe da linguagem Java Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Uma classe pública com nome A tem

Leia mais

Ponteiros de Variáveis

Ponteiros de Variáveis Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem

Leia mais

Linguagens de Programação Subprogramas

Linguagens de Programação Subprogramas Linguagens de Programação Subprogramas Andrei Rimsa Álvares Sumário Abstrações Subprogramas Parâmetros Passagem de parâmetros Direção da passagem Mecanismos de passagem Momento da passagem ABSTRAÇÕES Linguagens

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

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

Introdução à Programação Aula 06. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ESCOPO DE VARIÁVEIS 2 Escopo de variáveis O escopo de uma variável é

Leia mais

Algoritmos e Modelação Computacional. Paulo Mateus MEBiom LMAC 2018

Algoritmos e Modelação Computacional. Paulo Mateus MEBiom LMAC 2018 Algoritmos e Modelação Computacional Paulo Mateus MEBiom LMAC 2018 Objetivos Edição e compilação de programas Tipos e expressões Declaração de variáveis Atribuição, composição sequencial, iterativa e alternativa

Leia mais

Compiladores Ambiente de Execução

Compiladores Ambiente de Execução Compiladores Ambiente de Execução Fabio Mascarenhas 2015.1 http://www.dcc.ufrj.br/~fabiom/comp O Back-end Até agora vimos as fases do front-end do compilador: Análise Léxica Análise Sintática Análise Semântica

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

Expressões e Instruções de Atribuição. George Darmiton da Cunha Cavalcanti

Expressões e Instruções de Atribuição. George Darmiton da Cunha Cavalcanti Expressões e Instruções de Atribuição George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução Expressões Aritméticas Operadores Sobrecarregados Conversões de Tipo Expressões Relacionais

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

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

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET42G Aula 21 Prof. Daniel Cavalcanti Jeronymo Conversão de tipos. Alocação dinâmica de memória. Recursão. Criação de bibliotecas, arquivos de cabeçalhos e variáveis globais.

Leia mais

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ). 2626262626262626262626262626262626262626262626262626 4 - OPERADORES Podem ser: aritméticos, relacionais, lógicos, incremento e decremento, atribuição. Operadores aritméticos têm precedência sobre os relacionais

Leia mais

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares

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

Detalhes da geração de código Usando a técnica ad hoc, amarrada aos procedimentos sintáticos, igual à análise semântica

Detalhes da geração de código Usando a técnica ad hoc, amarrada aos procedimentos sintáticos, igual à análise semântica Geração de Código para uma Máquina Hipotética a Pilha Detalhes da geração de código Usando a técnica ad hoc, amarrada aos procedimentos sintáticos, igual à análise semântica É composta de 3 Regiões MEPA

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA Revisão CES-11 Tipos escalares primitivos Tipos constituídos

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Constantes class Exemplo { static void Main() { float fahr, celsius; int lower, upper, step; lower = 0; /* limite inferior da tabela de temperaturas */ upper = 300; /* limite superior */ step = 20; /*

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. 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

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 7 Modularização Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno Dividir

Leia mais

Alocação Seqüencial VAL MAX TOPO

Alocação Seqüencial VAL MAX TOPO 306 Alocação Encadeada Como vimos, uma fila nada mais é do que uma lista com uma disciplina de acesso. Logo, podemos nos utilizar de todos os conceitos vistos em listas para implementarmos filas. Por exemplo,

Leia mais

Introdução à Geração de Código

Introdução à Geração de Código MAB 471 2011.2 Introdução à Geração de Código http://www.dcc.ufrj.br/~fabiom/comp Forma do Código Definição Todas as propriedades do código que influenciam no desempenho Código em si, abordagens para diferentes

Leia mais

Programação Introdução

Programação Introdução PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,

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

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros INF Programação I Prof. Roberto Azevedo ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

Alocação Estática e Dinâmica. Prof. M.Sc. Mariella Berger

Alocação Estática e Dinâmica. Prof. M.Sc. Mariella Berger Alocação Estática e Dinâmica Prof. M.Sc. Mariella Berger http://www.inf.ufes.br/~mberger mberger@inf.ufes.br mariellaberger@gmail.com Alocação Estática Estratégia de alocação de memória na qual toda a

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

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

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

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 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

Computação I. Prof. Miguel Elias Mitre Campista.

Computação I. Prof. Miguel Elias Mitre Campista. Computação I Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Linguagens de Programação DEL-Poli/UFRJ Introdução ao Pascal Níveis de Linguagens de Programação Linguagens declarativas Linguagens

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

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

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

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

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Operadores aritméticos Operadores Unários (um só operando) Incremento

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.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programaçã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

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão Educação Módulo Lógica e Ética de Programação com aplicações em Java Projeto khouse Profissionalizante Profª Larissa Brandão Educação e Ética Fundamentos da Programação Objetivos: Reconhecer as diferenças

Leia mais

Ponteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Ponteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Ponteiros e alocação dinâmica de memória Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Ponteiros Ponteiros e vetores Passagem por cópia e por referência Alocação

Leia mais

- Mapa de memória de um processo - Ponteiros

- Mapa de memória de um processo - Ponteiros 1 MCTA028 Programação Estruturada - Mapa de memória de um processo - Ponteiros Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-2018 2 Alocação de

Leia mais

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples

Leia mais

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas Prof. Jesús P. Mena-Chalco 1Q-2019 1 Mapa de memória de um processo 2 Alocação de memória: estática VS Dinâmica Na execução, um

Leia mais

O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.

O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc. O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO Prof. Angelo Augusto Frozza, M.Sc. ROTEIRO 1. A linguagem de programação Object Pascal a) Palavras reservadas b) Tipos de dados, variáveis e constantes

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

Aula 03: Introdução a C

Aula 03: Introdução a C Aula 03: Introdução a C Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior O que é um computador Organização de um

Leia mais