·
Cursos Gerais ·
Programação
Envie sua pergunta para a IA e receba a resposta na hora

Prefere sua atividade resolvida por um tutor especialista?
- Receba resolvida até o seu prazo
- Converse com o tutor pelo chat
- Garantia de 7 dias contra erros
Recomendado para você
34
Programação Logica
Programação
UMG
5
Conceito e Linguagem de Programação - Prova 01
Programação
UMG
5
Programação Rad
Programação
UMG
32
Atividades 01
Programação
UMG
2
Avparcial 3 - Paradigmas de Linguagens de Programação
Programação
UMG
4
Introdução a Programação Avp1
Programação
UMG
2
Avparcial 3 - Paradigmas de Linguagens de Programação
Programação
UMG
23
Introdução a Programação - Fundamentos da Lógica - Aula 1 Estácio
Programação
UMG
2
Processamento de Imagem Digital
Programação
UMG
11
Introdução ao Software Octave
Programação
UMG
Texto de pré-visualização
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS São Gabriel Disciplina Curso Turno Per. Linguagens de Programação Eng. de Computação / Sist. de Informação Manhã 3º / 4º Aluno: 3213929 - Nome Prova 1 1. Um programador implementou o seguinte tipo de dados em uma linguagem de programação como C: K = {x1, x2, x3} e (int + double) x (P : [0..30] -> K) x (Q : [0..180] -> float) Considerando que o programador utiliza uma linguagem com os tipos char e byte (8 bits), int (16 bits), float (32 bits), double (64 bits), responda: a (2pt) Escreva a declaração dos tipos acima em uma linguagem de programação do seu nível a sua escolha? b (2pt) Qual é a quantidade de memória em bytes necessária para armazenar uma variável do tipo composto acima? Responda em bytes. c (2pt) Quantos valores distintos são possíveis de armazenar em uma variável do tipo composto acima? d (2pt) O programador percebeu que a implementação do tipo Q estava gastando muita memória do dispositivo, tornando o programa inviável. De que outra forma ele poderia implementar o tipo Q, supondo que os dados representavam uma função analítica? Quais as vantagens e desvantagens dessa nova implementação? 2. LUA é uma linguagem de programação interpretada, de script, procedural, pequena, reflexiva e leve, projetada para expandir aplicações em geral, por ser uma linguagem extensível (que une partes de um programa feito em mais de uma linguagem), para prototipagem e para ser embarcada em softwares complexos, como jogos. LUA possui oito tipos de dados que são tratados como valores de primeira classe: nil, boolean, number, string, function, userdata, thread, and table. LUA não contém apoio explícito a herança, mas permite que ela seja executada com relativa facilidade com metatables. LUA também permite o tratamento de funções como variáveis de primeira classe. Um exemplo de LUA pode ser visto abaixo: function factorial(n) if n == 0 then return 1 else return n * factorial(n - 1) end end Baseado na descrição acima responda: 1. (2pt) Baseado no enunciado acima, podemos dizer que LUA é estaticamente ou dinamicamente tipada? Justifique sua resposta. 2. (2pt) É comum que linguagens modernas implementem mais de um paradigma. Cite três estruturas semânticas implementadas pela linguagem LUA que pertencem a três paradigmas diferentes, relacionando o paradigma correto a cada estrutura. 3. Considere o código abaixo: int f (int x) { int p; p = 5*x; do { p = p - x; } while (p > 0); } a (2pt) Suponha uma LP com Avaliação de Ordem Normal (Lazy evaluation ou Avaliação Tardia). É possível afirmarmos quantas iterações serão executadas pelo loop do-while da função f? Justifique e dê um exemplo de chamada de função que ilustre este argumento. b (3pt) Suponha uma LP com Avaliação de Ordem Aplicativa (Eager evaluation). É possível afirmarmos quantas iterações serão executadas pelo loop while da função f? Justifique e dê um exemplo de chamada de função que ilustre seu argumento. 4. Considere o código com sintaxe semelhante ao C++: void p(); int x; void f(int x) { static int c = 1; cout << c << ": "; c += x; x = x + 3; cout << x << " "; if (c < 5) f(c); cout << c << endl; } void p(int b) { cout << x << " : " << b; x = x + b; cout << " : " << x; } void main() { x = 3; cout << x; f(x); p(x+1); cout << x; } 3. (4pt) Execute o código segundo escopo estático e passagem de parâmetro por referência, com avaliação de ordem Aplicativa. Quando não for possível a passagem por referência, utilizar passagem por valor. b) (4pt) Execute o código supondo escopo dinâmico e passagem de parâmetro por valor, com avaliação de ordem Normal (ou avaliação tardia). N° lin | x | Fi | CiS | Piib | x++ | Saida -------------------------------------------------------- 01 | 3 | - | - | - | - | 3 | 27-7 | 3 | 1 | - | - | - | 3 ⬆️ | 08 | 3 | 4 | V | - | - | 3 1 | 9-7 | 3 | 4 | - | - | - | 3 1 | 08 | 3 | 7 | F | - | - | 3 7 | 9-11 | 3 | 7 | - | - | - | 3 7 | 3-13 | 3 | - | 5 | - | - | 3 5 | 3 | 3 | - | 5 | - | - | 3 5 | 15-16 | 8 | - | - | 5 | - | 8 5 | 34 | 8 | - | - | - | - | 8 | 4 Meu deus que prova é essa
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
34
Programação Logica
Programação
UMG
5
Conceito e Linguagem de Programação - Prova 01
Programação
UMG
5
Programação Rad
Programação
UMG
32
Atividades 01
Programação
UMG
2
Avparcial 3 - Paradigmas de Linguagens de Programação
Programação
UMG
4
Introdução a Programação Avp1
Programação
UMG
2
Avparcial 3 - Paradigmas de Linguagens de Programação
Programação
UMG
23
Introdução a Programação - Fundamentos da Lógica - Aula 1 Estácio
Programação
UMG
2
Processamento de Imagem Digital
Programação
UMG
11
Introdução ao Software Octave
Programação
UMG
Texto de pré-visualização
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS São Gabriel Disciplina Curso Turno Per. Linguagens de Programação Eng. de Computação / Sist. de Informação Manhã 3º / 4º Aluno: 3213929 - Nome Prova 1 1. Um programador implementou o seguinte tipo de dados em uma linguagem de programação como C: K = {x1, x2, x3} e (int + double) x (P : [0..30] -> K) x (Q : [0..180] -> float) Considerando que o programador utiliza uma linguagem com os tipos char e byte (8 bits), int (16 bits), float (32 bits), double (64 bits), responda: a (2pt) Escreva a declaração dos tipos acima em uma linguagem de programação do seu nível a sua escolha? b (2pt) Qual é a quantidade de memória em bytes necessária para armazenar uma variável do tipo composto acima? Responda em bytes. c (2pt) Quantos valores distintos são possíveis de armazenar em uma variável do tipo composto acima? d (2pt) O programador percebeu que a implementação do tipo Q estava gastando muita memória do dispositivo, tornando o programa inviável. De que outra forma ele poderia implementar o tipo Q, supondo que os dados representavam uma função analítica? Quais as vantagens e desvantagens dessa nova implementação? 2. LUA é uma linguagem de programação interpretada, de script, procedural, pequena, reflexiva e leve, projetada para expandir aplicações em geral, por ser uma linguagem extensível (que une partes de um programa feito em mais de uma linguagem), para prototipagem e para ser embarcada em softwares complexos, como jogos. LUA possui oito tipos de dados que são tratados como valores de primeira classe: nil, boolean, number, string, function, userdata, thread, and table. LUA não contém apoio explícito a herança, mas permite que ela seja executada com relativa facilidade com metatables. LUA também permite o tratamento de funções como variáveis de primeira classe. Um exemplo de LUA pode ser visto abaixo: function factorial(n) if n == 0 then return 1 else return n * factorial(n - 1) end end Baseado na descrição acima responda: 1. (2pt) Baseado no enunciado acima, podemos dizer que LUA é estaticamente ou dinamicamente tipada? Justifique sua resposta. 2. (2pt) É comum que linguagens modernas implementem mais de um paradigma. Cite três estruturas semânticas implementadas pela linguagem LUA que pertencem a três paradigmas diferentes, relacionando o paradigma correto a cada estrutura. 3. Considere o código abaixo: int f (int x) { int p; p = 5*x; do { p = p - x; } while (p > 0); } a (2pt) Suponha uma LP com Avaliação de Ordem Normal (Lazy evaluation ou Avaliação Tardia). É possível afirmarmos quantas iterações serão executadas pelo loop do-while da função f? Justifique e dê um exemplo de chamada de função que ilustre este argumento. b (3pt) Suponha uma LP com Avaliação de Ordem Aplicativa (Eager evaluation). É possível afirmarmos quantas iterações serão executadas pelo loop while da função f? Justifique e dê um exemplo de chamada de função que ilustre seu argumento. 4. Considere o código com sintaxe semelhante ao C++: void p(); int x; void f(int x) { static int c = 1; cout << c << ": "; c += x; x = x + 3; cout << x << " "; if (c < 5) f(c); cout << c << endl; } void p(int b) { cout << x << " : " << b; x = x + b; cout << " : " << x; } void main() { x = 3; cout << x; f(x); p(x+1); cout << x; } 3. (4pt) Execute o código segundo escopo estático e passagem de parâmetro por referência, com avaliação de ordem Aplicativa. Quando não for possível a passagem por referência, utilizar passagem por valor. b) (4pt) Execute o código supondo escopo dinâmico e passagem de parâmetro por valor, com avaliação de ordem Normal (ou avaliação tardia). N° lin | x | Fi | CiS | Piib | x++ | Saida -------------------------------------------------------- 01 | 3 | - | - | - | - | 3 | 27-7 | 3 | 1 | - | - | - | 3 ⬆️ | 08 | 3 | 4 | V | - | - | 3 1 | 9-7 | 3 | 4 | - | - | - | 3 1 | 08 | 3 | 7 | F | - | - | 3 7 | 9-11 | 3 | 7 | - | - | - | 3 7 | 3-13 | 3 | - | 5 | - | - | 3 5 | 3 | 3 | - | 5 | - | - | 3 5 | 15-16 | 8 | - | - | 5 | - | 8 5 | 34 | 8 | - | - | - | - | 8 | 4 Meu deus que prova é essa