Buscar

Modelos de Ling de Programação - Carol

Prévia do material em texto

Questão 1 (1,6 pontos) 
 
Dada a Backus-Naur Form (BNF): 
<E> ::= <E> + <E> | <T> 
<T> ::= <T> * <T> | <F> 
<F> ::= ( <E> ) | <D> 
<D> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 Analise, 
detalhadamente, a expressão abaixo: 
 
1 + 2 * ( 3 + 4 * 5 ) 
 
DESENVOLVIMENTO: 
 
<E> ::= 1+2*(3+4*5) 
<E>+<E> 
<T>+<E> 
<F>+<E> 
<D>+<E> 
1+<E> 
1+<T> 
1+<T>*<T> 
1+<F>*<T> 
1+<D>*<T> 
1+2*<T> 
1+2*<F> 
1+2*(<E>) 
1+2*(<E>+<E>) 
1+2*(<T>+<E>) 
1+2*(<F>+<E>) 
1+2*(<D>+<E>) 
1+2*(3+<E>) 
1+2*(3+<T>) 
1+2*(3+<T>*<T>) 
1+2*(3+<F>*<T>) 
1+2*(3+<D>*<T>) 
1. 
Associação Carioca de Ensino Superior 
 
Centro Universitário Carioca 
 
MODELOS DE LINGUAGEM DE PROGRAMAÇÃO 
 
Aluno: Carolyne Rodrigues Santana 
Matrícula: 2016200472 Turma: 861 
1+2*(3+4*<T>) 
1+2*(3+4*<F>) 
1+2*(3+4*<D>) 
1+2*(3+4*5) 
 
 
RESULTADO: 
1+2*(3+4*5) 
 
 
 
Questão 2 (1,6 pontos) 
 
Implementar um programa em R para: 
a. Gerar dados aleatórios que sigam a distribuição NORMAL com média 1000 e 
desviopadrão 5 em um vetor de 10 posições 
b. Imprima: média, desvio-padrão, mediana e moda dos dados. 
 
DESENVOLVIMENTO: 
 
x <- rnorm(10, mean = 1000, sd = 5) 
 
mean(x) 
sd(x) 
median(x) 
subset(table(x),table(x)==max(table(x))) 
 
RESULTADO: 
 
Média = 997.5496 
Desvio-padrão = 3.648988 
Mediana = 999.0849 
Moda = 
991.363638745585 
993.176080445374 
994.280010261094 
995.724546319786 
998.764742315583 
999.405132924868 
999.435299849407 
1000.17122137775 
1001.10872695842 
1002.06683911386 
Questão 3 (1,6 pontos) 
 
Obter o resultado de: 
 
(λy.(λx. yxxy)A ) B 
 
DESENVOLVIMENTO: 
(λy.(λx. yxxy)A)B 
 
 (λx. AxxA)B 
ABBA 
RESULTADO: 
 ABBA 
 
 
Questão 4 (1,6 pontos) 
 
Dada a lista a=[10, 2, 5, 20, 3], desenvolver uma função lambda em python para 
encontrar o maior elemento PAR. 
 
DESENVOLVIMENTO: 
 
a=[10, 2, 5, 20, 3] 
par = filter(lambda valor: valor % 2 == 0, a) 
print(max(par)) 
 
RESULTADO: 
 20 
 
Questão 5 (1,6 pontos) 
 
Seja o trecho de código em C abaixo: 
int *p; 
void f(){ 
int b= *p; 
a=10; 
 b= b+a; 
} 
 
Faça a análise do código sob a perspectiva das propriedades legibilidade, 
redigibilidade e confiabilidade. 
RESULTADO: 
 
Legibilidade = é legível, porque possue boa estrutura. 
 
Regibilidade = tem regibilidade pois as variáveis declaradas não podem assumir 
qualquer valor, elas possuem valores específicos pra cada variável. A linguagem C 
tem facilidade em permitir a decodificação de comandos complexos. 
 
Confiabilidade = não é confiável, pois ela não permite verificar automaticamente 
erros de tipos durante a compilação ou execução. 
	Questão 1 (1,6 pontos)
	1 + 2 * ( 3 + 4 * 5 )
	Questão 2 (1,6 pontos)
	(λy.(λx. yxxy)A ) B
	Questão 4 (1,6 pontos)
	Questão 5 (1,6 pontos)

Continue navegando